1、让一个对象朝着他的方向移动

cc.Node节点的rotation是一个角度,因此,我们为了实现这个目标,首先要根据rotation求出他的dir方向,就好办了。示例代码:

update(dt){
        //由于Math函数接受的是孤度,所以我们先节节点的旋转转化为弧度
        var angle = this.node.rotation / 180 * Math.PI;
        //合成基于 X正方向的方向向量
        var dir = cc.v2(Math.cos(angle),Math.sin(angle));
        //单位化向量
        dir.normalizeSelf();

//根据方向向量移动位置
        var moveSpeed = 100;
        this.node.x += dt * dir.x * moveSpeed;
        this.node.y += dt * dir.y * moveSpeed;

}

2、让一个对象朝向另一个对象

通过高中数学我们可以知道, A到B的向量 = B点 - A点。 那我们只需要将目标对象的位置 - 自己的位置,即可得到方向向量。

方向向量转换为角度,需要认清一个隐含变量,就是这个角度的基准是 X 轴正方向。 使用向量来表示就是 (1,0)。

cc.Vec2提供了两个函数 cc.Vec2.angle和cc.Vec2.signAngle, 后者相比前者来说,后者产生的角度是有符号的,而前者会永远为正。 我们使用cc.Vec2.signAngle来将方向向量转换为弧度。 具体操作请看代码。

function lookAtObj(target){
        //计算出朝向
        var dx = target.x - this.node.x;
        var dy = target.y - this.node.y;
        var dir = cc.v2(dx,dy);

//根据朝向计算出夹角弧度
        var angle = dir.signAngle(cc.v2(1,0));

//将弧度转换为欧拉角
        var degree = angle / Math.PI * 180;

//赋值给节点
        this.node.rotation = degree;

}

Cocos Creator方向与角度转换相关推荐

  1. 麒麟子Cocos Creator实用技巧七:方向与角度转换

    麒麟子做了一个Demo给大家,向大家演示了方向转角度,角度转方向的应用. Demo中有两个坦克,中间的坦克锁定了另一个坦克,始终把自己的炮口对准它,并且会不停地发朝另一个坦克发射炮弹. 发出来的炮弹会 ...

  2. 学习记录 cocos creator 斜率 弧度 角度计算

    已知节点A坐标 节点B坐标 计算A到B的角度 var posA=cc.v2(x,y) var posB=cc.v2(x,y) var resX=posA.x - posB.x var resY=pos ...

  3. Cocos Creator JS 时间戳日期转换

    /*** 时间戳换算日期* */function formatDateTime (timeStamp) { var date = new Date(); date.setTime(timeStamp ...

  4. cocos creator 获取当前时间_前端开发者入门 Creator 必读吧

    写在前面 因为公司的业务需求,近期学习了Cocos Creator这款游戏引擎的开发,也基于此上线了一款游戏,因此写这系列文章记录一下我从入门到项目发布的学习过程. 相对于 web 开发,像Cocos ...

  5. 022 - cocos creator 3D

    #cocos creator 3D warning 报错:"project:///assets/main.js,将https中的export注视掉重试一遍 知识点 scrollview组件添 ...

  6. Cocos Creator游戏开发教程 学习笔记

    学完提问几个问题吧: position的锚点位置数值原点在哪里? 因为position是相对坐标,所以原点是父节点的锚点 .所以Canvas下面的直属节点原点就是世界坐标系的原点Canvas的锚点. ...

  7. 使用 Cocos Creator 引擎创建3D资产

    本文共:7034字,预计阅读时间:18分钟  感谢作者:琥珀川 的分享. 第一章 从 3Ds MAX 导出模型 3DS MAX 单位设置.设置 3DS MAX 单位为:米(Cocos 默认单位是:米) ...

  8. Cocos Creator 写的小游戏

    # 超能陆战队 注:美术资源来源于网络 作者: 是烧麦啊 未生畏死 游戏类型:动作类 * 所用到的 IDE : Cocos Creator v2.0.10,主要用于视觉还原.主逻辑开发.跨端调试和编译 ...

  9. 【Cocos Creator游戏开发教程】仿微信趣味画赛车小游戏(三)代码实现

    [Cocos Creator游戏开发教程]仿微信趣味画赛车小游戏(一)前言,界面UI [Cocos Creator游戏开发教程]仿微信趣味画赛车小游戏(二)物理刚体关节 项目地址已放到 github ...

  10. 超长干货!Cocos Creator 粒子系统详解,零代码实现逼真自然效果

    在上一篇<Cocos Creator 渲染实战:地编篇>中我们主要介绍了 3D 户外场景的搭建,本文中我们将了解粒子系统的使用方法和一些典型自然效果的实现,制作一个粒子效果的通常流程是: ...

最新文章

  1. how to get line number of given ABAP source code
  2. 使用Hadoop Streaming 完成MapReduce(Python代码)
  3. 程序人生:给程序员的18个建议
  4. 9511王锋刘婧捐100万元,支持中国科大计算机学院
  5. rx java定时循环_Rxjava定时器异常循环
  6. 浅谈Hybrid技术的设计与实现
  7. 深入学习Java中的字符串,代码点和代码单元
  8. cuda_error_launch_failed: unspecified launch failure
  9. ajax submittype,AjaxSubmit()提交file文件
  10. 2021-03-12
  11. Unity接TalkingData自动集成XCode
  12. 「Python海龟画图」利用海龟画笔绘制奥运五环
  13. The Preliminary Contest for ICPC Asia Xuzhou 2019
  14. c语言编写“输入密码,是否登录成功的程序”
  15. B. Alyona and a Narrow Fridge 【 思维题 】
  16. bl小说里面有个机器人管家_《机器管家》简介
  17. bib格式导入Endnote——保姆级方法
  18. Python 常用静态代码检查工具简介
  19. 一个功能强大的画图板(二)
  20. linux 程序提权,Linux提权辅助工具

热门文章

  1. 如何压缩图片呢?这两种方法很管用
  2. html中标签img大小自适应
  3. python爬虫和八爪鱼哪个快_python爬虫和八爪鱼哪个快
  4. CAD用直线绘制矩形
  5. python滤波器处理数据的优点_使用Python对原始信号应用合适的butterworth滤波器
  6. Win10 快捷操作
  7. php居中显示代码,css居中代码是什么
  8. swapfile.sys文件的作用及如何禁用Hibernate.sys和Pagefile.sys
  9. tf2 --- 结构化数据建模流程
  10. windows nginx 搭建 图片服务器