向量的基本运算及动作
1 import org.cocos2d.actions.interval.CCJumpBy;
2 import org.cocos2d.actions.interval.CCMoveBy;
3 import org.cocos2d.layers.CCLayer;
4 import org.cocos2d.nodes.CCSprite;
5 import org.cocos2d.types.CGPoint;
6
7 public class GameLayer extends CCLayer {
8
9 private CCSprite spriteA;
10 private CCSprite spriteB;
11
12 public GameLayer() {
13 spriteA = CCSprite.sprite("player.png");
14 spriteB = CCSprite.sprite("player.png");
15
16 this.addChild(spriteA);
17 this.addChild(spriteB);
18
19 CGPoint startPoint = CGPoint.ccp(200, 200);
20 CGPoint deltaPoint = CGPoint.ccp(400, 400);
21
22 spriteA.setPosition(startPoint);
23 spriteB.setPosition(startPoint);
24
25 //向量加法
26 CGPoint addPoint = CGPoint.ccpAdd(startPoint, deltaPoint);
27 //向量减法
28 CGPoint subPoint = CGPoint.ccpSub(startPoint, deltaPoint);
29 //向量的乘法(一个向量乘以一个浮点数)
30 CGPoint multPoint = CGPoint.ccpMult(startPoint, 2.0f);
31 //计算单位向量
32 CGPoint normalizePoint = CGPoint.ccpNormalize(startPoint);
33
34 spriteB.setPosition(addPoint);
35
36 //五秒钟内基于当前位置移动deltaPoint(x增加400,y增加400)
37 CCMoveBy moveBy = CCMoveBy.action(5, deltaPoint);
38 //五秒钟内四次从当前位置跳跃deltaPoint(x增加400,y增加400)
39 CCJumpBy jumpBy = CCJumpBy.action(5, deltaPoint, 200, 4);
40
41 spriteB.runAction(jumpBy);
42 }
43 }