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);
完整代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 import org.cocos2d.actions.interval.CCJumpTo; 2 import org.cocos2d.layers.CCLayer; 3 import org.cocos2d.nodes.CCSprite; 4 import org.cocos2d.types.CGPoint; 5 6 7 public class GameLayer extends CCLayer { 8 9 //声明一个精灵对象 10 CCSprite player; 11 12 public GameLayer(){ 13 //初始化精灵对象 14 player = CCSprite.sprite("player.png"); 15 16 //设置精灵对象的位置(cocos2d中坐标原点在左下角而不是左上角) 17 //CGPoint用于表示坐标和向量 18 CGPoint point = CGPoint.ccp(100, 100); 19 player.setPosition(point); 20 21 //将精灵对象添加到布景层中 22 this.addChild(player); 23 24 CGPoint target = CGPoint.ccp(600, 100); 25 //添加动作action(3s,pos,height,次数) 26 CCJumpTo jumpTo = CCJumpTo.action(3, target, 200, 5); 27 28 //使用精灵对象执行该动作 29 player.runAction(jumpTo); 30 } 31 }