移动

作者: 龙叉叉 | 来源:发表于2019-02-15 17:00 被阅读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;
        }

    相关文章

      网友评论

          本文标题:移动

          本文链接:https://www.haomeiwen.com/subject/wywpeqtx.html