Cocos2d-android (02) 添加一个精灵对象

时间:2023-03-08 17:04:52
Cocos2d-android (02) 添加一个精灵对象

什么是精灵:

1.精灵就是游戏当中的一个元素,通常用于代表画面当前中的一个事物,例如主人公,NPC和背景元素等;

2.一个精灵对象通常都与一张图片关联

3.精灵对象可以通过动作对象(CCAction)来产生动画效果

如何声明一个精灵对象

    //声明一个精灵对象
CCSprite player;

如何将一个精灵对象添加到布景层中

        //初始化精灵对象
player = CCSprite.sprite("player.png"); //设置精灵对象的位置(cocos2d中坐标原点在左下角而不是左上角)
player.setPosition(100,100); //将精灵对象添加到布景层中
this.addChild(player);

坐标也可以用CGPoint表示

        //CGPoint用于表示坐标和向量
CGPoint point = CGPoint.ccp(100, 100);
player.setPosition(point);

为精灵对象添加动作

        CGPoint target = CGPoint.ccp(600, 100);
//添加动作action(3s,pos,height,次数)
CCJumpTo jumpTo = CCJumpTo.action(3, target, 200, 5); //使用精灵对象执行该动作
player.runAction(jumpTo);

其他动作:

        //瞬时动作
//沿Y轴镜象
CCFlipX flipX = CCFlipX.action(true);
//沿X轴镜象
CCFlipY flipY = CCFlipY.action(true);
//隐藏
CCHide hide = CCHide.action();
//现实
CCShow show = CCShow.action(); //延时动作
CGPoint pos = CGPoint.ccp(600, 600);
CCMoveTo moveTo = CCMoveTo.action(5, pos);
//五秒钟逆时针旋转270度(cocos2d中使用的是角度而不是弧度)
CCRotateTo rotateTo = CCRotateTo.action(5, 270);
//五秒钟内放大10倍
CCScaleTo scaleTo = CCScaleTo.action(5, 10);
//五秒钟内闪烁10次
CCBlink blink = CCBlink.action(5, 10); //执行对象
//sprite.runAction(moveTo);
//sprite.runAction(rotateTo);
//sprite.runAction(scaleTo);
sprite.runAction(blink);

完整代码:

 import org.cocos2d.actions.interval.CCJumpTo;
import org.cocos2d.layers.CCLayer;
import org.cocos2d.nodes.CCSprite;
import org.cocos2d.types.CGPoint; public class GameLayer extends CCLayer { //声明一个精灵对象
CCSprite player; public GameLayer(){
//初始化精灵对象
player = CCSprite.sprite("player.png"); //设置精灵对象的位置(cocos2d中坐标原点在左下角而不是左上角)
//CGPoint用于表示坐标和向量
CGPoint point = CGPoint.ccp(100, 100);
player.setPosition(point); //将精灵对象添加到布景层中
this.addChild(player); CGPoint target = CGPoint.ccp(600, 100);
//添加动作action(3s,pos,height,次数)
CCJumpTo jumpTo = CCJumpTo.action(3, target, 200, 5); //使用精灵对象执行该动作
player.runAction(jumpTo);
}
}