• Cocos2d-android (03) 向量


    向量的基本运算及动作

     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 }
  • 相关阅读:
    GO 文档笔记
    GO 切片实力踩坑
    关于接口设计的一些反思
    Jenkins 发布.net core 程序,服务端无法下载nuget包的解决方法 error NU1102: 找不到版本为 (>= 3.1.6) 的包
    RabbitMQ 基础概念进阶
    RabbitMQ 入门之基础概念
    Object.entries()使用
    shadow的属性值介绍
    行内元素的特别之处
    margin的特别之处
  • 原文地址:https://www.cnblogs.com/zhangtingkuo/p/3589930.html
Copyright © 2020-2023  润新知