移动

2019-02-15  本文已影响0人  龙叉叉

设置节点为某个位置

this.node.setPosition( 300,300);//使用方法
this.node.position = cc.v2(300,-300);//直接修改属性


移动到目标位置:this.node.position刷新的方法
/update

var targetPos = this.node_player.position;//设置期望的位置
var selfPos = this.node.position;//selfpos,//设置自己的位置
var speed =5;
var expectedDir = targetPos.sub(selfPos).normalizeSelf();//设置移动的向量,并初始化为1单位向量,后面还可以乘上速度
this.node.position = selfPos.add(expectedDir);//位置为当前位置+速度

移动到目标位置:moveby的方法

——————
获取当前节点的朝向
//var down = new cc.Vec2(0, -1);//设置down为二维坐标,跟节点朝向sprite坐标相同,坐标是标准值
//down.rotateSelf(this.node.rotation * Math.PI / 180);// 获取节点的旋转角度,frotateSelf角度转弧度公式。


旋转当前节点

this.node.rotation +=10;


旋转当前节点,直到转向你自己
var 目标位置 = this.node_player.position;//d下面咋有sheep这个node?//获取绵羊的位置
var 自己位置 = this.node.position;//自己位置,自己的位置

    var speed = cc.v2(1, 1);
    var 朝向目标 = 目标位置.sub(自己位置).normalize().scale(speed);




    //       this.node.position = 自己位置.add(朝向目标);//位置为当前位置加速度
    //          this.node.position = cc.v2(300,-300);//位置为当前位置加速度

    //this.node.rotation += 1;

    var 火箭的朝向 = new cc.Vec2(0, -1);//设置火箭的朝向为二维坐标,跟节点朝向坐标相同
    火箭的朝向.rotateSelf(this.node.rotation *-1* Math.PI / 180);//rotateSelf角度转弧度公式。当前节点旋转角度的负数*3.14/180


    var 朝向目标 = 目标位置.sub(自己位置).normalizeSelf();
    console.log("@@火箭的朝向 = " + 火箭的朝向 + "@@rotation = " + this.node.rotation +  "@@朝向目标 = " +  朝向目标);


    var isLeft = 火箭的朝向.cross(朝向目标) < 0;
    if (isLeft) {
        this.node.rotation += 1;
    }
    else {
        this.node.rotation -= 1;
    }
上一篇 下一篇

猜你喜欢

热点阅读