cocos2d-x实现node圆弧运动

转载 2012年03月26日 10:17:06
  最近在用cocos2d-x做鱼在水池里游动,直线游动比较容易实现,但是要使鱼转弯,绕着圆弧游动就有点难度了,不仅鱼的位置是圆的轨迹点,它的方向也要跟着相应变化,并且要准确控制它是顺时针转还是逆时针。搞了大半天,不断试验不断修改,终于把它封装成一个CCArcByaction, 以后可以直接拿来用了。 CCArcBy的初始化方法是

         bool initWithDuration(ccTime duration, float radius, float angle, bool clockwise);  

      只要给定转弯的半径,角度,时针方向和时间,就可以让node绕着圆弧进行运动,并且相应改变它的方向。具体原理是运行该action时候,会根据当前nodepositionrotation创建直线方程lq,创建垂直于直线lq并且相交于position的直线方程lq2, 根据时针方向创建与直线lq平行并且距离为radius的直线方程lq3, 计算lq2q3的交点就是圆弧的圆心位置了。

       在圆弧运动每次update过程中,调用框架自带的ccpRotateByAngle方法就能得到当前node的位置了,而node的方向要减去转弯的角度,这样鱼就能正常转弯游动了,还能不时拜摆摆尾巴!


cocos2d-x实现node圆弧运动 (附源代码)

纪录下自己写的东西! 头文件: /* 圆弧动作类 */ class CCArcBy : public cocos2d::CCActionInterval { public: //初始化圆弧动作类 ...
  • daoxwj
  • daoxwj
  • 2014年10月25日 16:50
  • 2967

Cocos2d-x 3.10心得(06)- 运动模糊

我的经历生动说明了人的懒惰真是深入到骨髓,当想起来写写笔记的时候,cocos2dx都已经从3.0升到3.13了。虽然我用的是3.10版本,不过应该不会有太多差别。 说起来,百度“运动模糊”的话,可以...
  • SingleWizard
  • SingleWizard
  • 2016年10月24日 16:06
  • 1155

cocos2d 绕椭圆移动

1.效果图2.椭圆数学知识
  • fox64194167
  • fox64194167
  • 2014年10月27日 09:34
  • 2578

cocos2d-x2.2实现椭圆运动,参数为中心点坐标和长半轴、短半轴

CCAction运动中没有实现椭圆运动或者圆周运动,于是在网上找了很多相关帖子,有一个CCCircleBy可以实现圆周运动,但是当使用CCRepeatForever循环运动时,总是会卡一下,所以在网上...
  • u011874528
  • u011874528
  • 2014年12月03日 14:51
  • 643

Cocos2d-x自定义按钮类控制精灵攻击----之游戏开发《赵云要格斗》(2)

本篇要讲讲怎么自定义按钮类,并通过这个按钮类的对像来控制精灵的攻击。在看本篇之前最好先看看上一篇 精灵的攻击也是一个动画,只不过,这个动画只播放一次,相当于在界面上加一个按钮,然后你点一次按钮,精灵就...
  • Evankaka
  • Evankaka
  • 2014年12月21日 21:05
  • 16144

钟摆(圆锥摆)效果

实现思路直接用CSS3就可以实现,首先将转换元素的位置设置为顶部居中,然后设置转换角度,还有一点需要注意:在设置animation的时候将时间设置为ease-in-out,否则钟摆在左右两个最高点有停...
  • wjnf012
  • wjnf012
  • 2017年04月06日 11:59
  • 166

cocos2d-x学习笔记(三)让精灵按照自己设定的运动轨迹行动(曲线移动)。(以椭圆轨迹为例)。

cocos2d-x学习笔记(三)让精灵按照自己设定的运动轨迹行动(曲线移动)。(以椭圆轨迹为例)。                分类:            cocos2d-x2012-1...
  • u011794223
  • u011794223
  • 2013年12月11日 10:14
  • 784

cocos2d-x学习笔记(三)让精灵按照自己设定的运动轨迹行动(曲线移动)。(以椭圆轨迹为例)。

ufolr原创,转载请注明: 转载自ufolr的博客 原文连接:http://blog.csdn.net/ufolr/article/details/7447773         在...
  • ufolr
  • ufolr
  • 2012年04月11日 19:50
  • 20672

【Cocos2d-x】物理引擎使用入门

相关概念 什么是物理引擎? 科学模型:科学研究中对事物的合理简化。 物理引擎是一个计算机程序模拟牛顿力学模型,使用质量、速度、摩擦力和空气阻力等变量。 可以用来预测这种不同情况下的效果。它主要...
  • linchaolong
  • linchaolong
  • 2015年01月12日 02:07
  • 2693

cocos2d-x CCClippingNode遮罩实现手电筒效果

cocos2d-x CCClippingNode遮罩实现手电筒效果 http://www.firedragonpzy.com.cn/index.php/archives/3810 ...
  • oMingZi12345678
  • oMingZi12345678
  • 2014年05月07日 19:13
  • 1197
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:cocos2d-x实现node圆弧运动
举报原因:
原因补充:

(最多只允许输入30个字)