因为项目里有这个需求,所以之前的想法是用贝塞尔分四段来拼成圆周运动,但是这样的话,不好随着需求控制节点位置,所以放弃了这个方法,下面讲述一种简单直白的做法:

主要思路:将需要圆周运动的节点的锚点修改,之后正常修改angle属性就好。

第一步:放个圆

第二步:给圆边上放个紧贴它的节点

修改小圆的锚点,这个计算过程就不赘述了(其实就是将大圆小圆的圆心距离转换成小圆的锚点)

第三步:添加控制按钮

第四步:上代码

 private angle_num: number = 90;  //角度private dv: number = 0; //每次的增量private isRun: boolean = true; //是否旋转private rotate_sense: boolean = false; //转动方向 true顺时针、false逆时针private rotate_speed: number = 0; //转动目标速度//小圆节点@property(cc.Node)icon_btn_add: cc.Node = null;//运动方法action() {if (this.angle_num < 360) {if (!this.isRun) {if (this.dv > this.rotate_speed) {this.dv -= 0.1;}} else {if (!this.rotate_sense) {if (this.dv < this.rotate_speed) {this.dv += 0.1;}} else {if (this.dv > this.rotate_speed) {this.dv -= 0.1;}}}this.angle_num += this.dv;} else {this.angle_num = 0;}this.icon_btn_add.angle = this.angle_num;}//点击了转动按钮onClickAdd(event, customEventData) {if(customEventData == "Zheng"){this.rotate_sense = true;this.rotate_speed = -2;} else if(customEventData == "Fan") {this.rotate_sense = false;this.rotate_speed = 2;}this.isRun = true;this.unschedule(this.action);this.schedule(this.action, 0.01);};//点击了停止按钮onClickSub() {console.log("停止转动", this.angle_num);this.isRun = false;this.rotate_speed = 0;this.unschedule(this.action);this.schedule(this.action, 0.01, 20);};

第五步:节点和点击事件的绑定



第六步:展示效果

第七步:没有了。就酱

CocosCreator之节点如何做圆周运动相关推荐

  1. ROS小车应用:控制机器人做圆周运动

    一.首先创建一个功能包 跳转到src目录下 catkin_create_pkg 功能包名字 进入目录,创建一个script目录(主要使用py来写) 然后创建一个py文件,取名draw_circle.p ...

  2. 6自由度优傲(ur)机械臂做圆周运动

    实验中需要控制机9械臂做圆周运动,末端机械臂万向,理论上可以实现,但是在输入900度时,默认变成旋转180度,经过一段时间咨询,探索,最终解决这个问题,这里把过程分享出来,希望对有相同或相似需要的人有 ...

  3. ros小车控制学习-------控制真实机器人做圆周运动

    ros课程的期末作业是控制真实机器人做运动,自行设计小车运动轨迹为特定图案.接下来描述一下控制真实机器人做圆周运动的简单步骤以及可能遇到的问题和我的解决办法. 个人建议是使用软件Bitvise SSH ...

  4. vpython 做圆周运动_《每周一点canvas动画》——圆周运动

    接<每周一点canvas动画>--波形运动 圆周运动可以分为两种基本的形式:正圆运动和椭圆运动. 在讲解圆周运动之前,必不可少的数学公式即将袭来.so,各位骚年们,请护好自己的膝盖.听不懂 ...

  5. CocosCreator学习1:做一个简单的游戏

    把计步器写好了,到了写游戏场景.控件什么的时候,傻眼了.想做一个简单的地图,可以在地图上点击选择城市,发现用Cocos2D-X代码码出来好麻烦,尤其是城市位置问题,需要调试去找对像素区域做一个按钮控制 ...

  6. 【ROS实操1编码实现乌龟运动控制,让小乌龟做圆周运动。】

    实现分析: 1.乌龟运动控制实现,关键节点有两个,一个是乌龟运动显示节点turtlesim_node,另一个是控制节点,二者是订阅发布模式实现通信的,乌龟运动显示节点直接调用即可,运动控制节点之前是使 ...

  7. UNITY 围绕一个物体做圆周运动

    有一道题:一个物体围绕原点(0,0)做匀速圆周运动.t1时物体位置为(x1,y1),已知物体的角速度为 w,围绕半径为 r.求经过时间t后,物体在圆周上位置(x,y). 求得: - x = r * s ...

  8. CocosCreator之节点基本属性

    >>>>> 笔者总结了工作中常用的节点属性 如果你是新人,请尽可能多的记住他们,因为经常会用到. // 从全局获取节点:全局获取的节点直接就是实例,不需要getChild ...

  9. CocosCreator之节点悬浮效果组件

    莫找借口失败,只找理由成功. 效果描述:就是一个节点在哪儿飘啊飘的.动画组件也能实现. 组件:FloatMove.ts const { ccclass, property, executeInEdit ...

最新文章

  1. PNG 图片压缩原理的两个关键点!
  2. python编写的软件界面-为Python程序添加图形化界面的教程
  3. Visual studio那些破事。。。(生成静态库、生成动态库、引用静态库、引用动态库)
  4. android选择头像弹窗,Android App开发常用功能之用户头像选择-Go语言中文社区
  5. linux基础知识——CPU相关知识
  6. java里正数和负数_Java程序检查数字是正数还是负数
  7. 计算机应用基础win7.pdf,计算机应用基础WIn7操作题(12页)-原创力文档
  8. eclipse中添加svn插件
  9. centos6.5 安装mono
  10. 用Scheme写Scheme编译器(三):一元运算
  11. [swift 进阶]读书笔记-C2P3_Set、 C2P4_Range
  12. 惠康游戏手柄 WE-8400 Windows 10 驱动教程
  13. FoxMail7.2信纸设置(适用于7.0及以上版本)
  14. Java桌面截图程序(带快捷键)
  15. 整数分解 费马方法c语言,因数分解(费马的方法)
  16. Linux基础-apt-搜狗输入法
  17. Java设计模式(03) -- 里氏替换原则
  18. 面试官:为啥要axios 的二次封装呢 及其使用是干啥的
  19. surface pro4尝试ubuntu,deepin,mangaro多种linux的体验小记
  20. 基于java使用jsoup爬取网站投票数据的demo

热门文章

  1. DeleteFile()函数的正确使用(呼,解决了个小麻烦)
  2. 本草纲目pdf彩图版下载_本草纲目彩色图谱下载
  3. Linux下如何查看 CPU 信息, 包括位数和多核信息
  4. 作业管理-----操作系统
  5. android仿高德地图首页,Android BottomSheet 的使用(仿高德地图的列表效果)
  6. shopnc 二次开发问题(一)
  7. 如何查看Adobe illustrator链接了哪里的资源,查看文件路径
  8. python绕过验证码_Python:使用Cookie绕过验证码
  9. 性能达到原生MySQL七倍,华为云Taurus技术解读
  10. TuneUp.Utilities.2013.v13.0.2020.14-TE