原文地址:http://blog.csdn.net/u012945598/article/details/17605409
在之前的文章中我们以前讲过Cocos2d-x中的各种动作的用法,我们先来简单的回想一下与动作相关的内容
   1.Cocos2d-x中的全部动作类的文件都位于 Cocos2d-x-2.2.1/cocos2dx/actions 文件夹下
   2.CCAction是全部动作类的基类,全部的动作类都派生自CCAction
   3.CCFiniteTimeAction类中定义了有限时间内能够完毕的动作,CCAction的大多数实现类都派生自CCFiniteTimeAction。在CCFiniteTimeAction中为我们提供了 reverse方法,该方法能够获得一个与原动作相反的动作(并非全部动作都有逆动作)
  4.CCFiniteTimeAction派生出了两个类,各自是CCActionInstant(瞬时动作),持续性动作(CCActionInterval)
  5.CCActionInterval 动作中包括了 CCMoveTo/By   CCJumpTo/By  CCBezierTo/By CCScaleTo/By  CCRotateTo/By等等
 而我们今天所举的样例——圆周运动,便是属于持续性动作的一种,以下我们来对该动作进行一个封装。

首先我们须要知道圆周运动的原理,不论什么一种图形,都能够看做是由多边形构成的,一个圆,我们能够将它拆分成若干个点,能够是100个,也能够是200个,所谓的圆周运动。就是在每帧刷新的过程中,求出下一帧时节点所处的坐标,而这个坐标。就是我们的200个点中的当中一个。

也就是说,圆周运动实际上就是把一个圆形分成了若干个点坐标。让节点在这些坐标上不停的切换,我们所须要做的,就是求出这些点的坐标。以下我们来看一下坐标是怎样求出的:
如上图所看到的。圆上随意一点P的坐标,都能够通过半径r以及夹角a获得。
以下我们来分装一个圆周运动的类:在规定时间内,让一个节点在指定半径内环绕一个圆心运动360度。

创建一个CCCircleBy类,继承于CCActionInterval(持续性动作),.h文件代码例如以下:
.cpp文件代码例如以下:
完毕上述操作后。我们就能够使用CCCircleBy的create()方法去创建一个动作了:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjk0NTU5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" style="border:none;" />

执行项目。我们会发现精灵环绕以(480,320)为圆心做匀速圆周运动。半径为50。时间为2秒。

Cocos2d-x -自己定义动作 圆周运动的更多相关文章

  1. cocos2D v3.x中动作回调函数的变化

    cocos2D v3.x版本中的动作的回调函数不能再带任何参数并且不能返回任何值. 官方给出的传递参数的办法是: 选择器(selector)不能带有任何形参,选择器需要的参数必须通过ivar或prop ...

  2. cocos2d-x 3.1.1 学习笔记[3]Action 动作

    这些动画貌似都非常多的样子,就所有都创建一次. 代码例如以下: /* 动画*/ auto sp = Sprite::create("card_bg_big_26.jpg"); Si ...

  3. 介绍50个 WordPress 动作挂钩

    WordPress 之所以能成为世界上最受欢迎的网页内容管理系统,原因就在于它的高度灵活性和可塑性,而这种灵活性和可塑性正是由“挂钩”(Hooks)简洁宜用的结构所决定的.可以说,没有过滤挂钩(Fil ...

  4. 通过DBMS_REDEFINITION包对表在线重定义

    基础介绍 Oracle Online Redefinition可以保证在数据表进行DDL类型操作,如插入.删除数据列,分区处理的时候,还能够支持DML操作,特别是insert/update/delet ...

  5. odoo开发笔记:Server+Action服务器动作自动触发执行

           Odoo的市场定位是SME(中小型企业),这个市场的ERP产品,多如牛毛,产品各具特色.不过,Odoo的自动化处理机制,可以睥睨天下,无人能及.包括一些大型国产软件,如用友.金蝶也不具备 ...

  6. 《从零开始学Swift》学习笔记(Day 64)——Cocoa Touch设计模式及应用之目标与动作

    原创文章,欢迎转载.转载请注明:关东升的博客 目标(Target)与动作(Action)是iOS和OS X应用开发的中事件处理机制.   问题提出 如图所示是一个ButtonLabelSample案例 ...

  7. 学习笔记6——插件 API,“过滤器”(Filters)和“动作”(Actions)

    WordPress 中有一种叫执行挂勾的机制,允许插件把一些功能“挂载”到 WordPress 当中.也就是说,在系统运行至某一个环节时,去调用插件内的一些函数.执行挂勾分为两种: 动作 (Actio ...

  8. ios开发之自己定义默认生成的导航栏 标题 颜色 返回button

    一 改动导航栏颜色    导航栏在哪个页面代码放在那里面 self.navigationController.navigationBar.tintColor = [UIColor colorWithR ...

  9. Cocos2d-X网络编程(2) Cocos2d中的网络通信协议——http协议

    HTTP协议也叫超文本传输协议.是互联网广泛使用的通信协议,常用于B/S架构中. HTTP连接使用的是短连接形式,也就是"请求-响应"的方式,不仅在请求时需要先建立连接,而且需要客 ...

随机推荐

  1. invalid derived query的解决办法

    标签: eclipse / invalid / derived / 解决办法 / 校验功能 479 在Eclipse的运行过程中,突然有一个接口跳出如下错误: invalid derived quer ...

  2. ARM协处理器CP15寄存器详解【转】

    本文转载i自;https://blog.csdn.net/gameit/article/details/13169405 用于系统存储管理的协处理器CP15   MCR{cond}     copro ...

  3. SpringBoot MockMVC

    使用MockMvc,我们可以完成基于RESTful风格的SpringMVC的测试,我们可以测试完整的Spring MVC流程,即从URL请求到控制器处理,再到视图渲染都可以测试. @RunWith(S ...

  4. maven说明

    1.maven 仓库地址 http://mvnrepository.com/ 2.maven jar包搜索地址 http://search.maven.org/ 3. 点开上面的 版本链接,就可以看到 ...

  5. ActiveMQ JMS实现消息发送

    一.创建配置消息发送接收目的地. ActiveMQ中间件地址 JMS_BROKER_URL=failover://(tcp://192.168.1.231:61616) QUEUE_BUSP_TP_S ...

  6. 【bzoj5452】[Hnoi2016]大数(莫队)

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=4542 首先若p=2,5则这题就是道傻逼题,前缀和搞一下没了.如果p为其他质数,那么可以 ...

  7. ZC_03_创建对象

    1. 正如 上一篇文章中所见,反射创建 类实例的方式,主要为2类: (1).Class对象.newInstance() 这是使用 默认的无参构造函数 创建对象 (2).Constructor对象.ne ...

  8. spring3: 内置Resource实现

    4.2  内置Resource实现 4.2.1  ByteArrayResource ByteArrayResource代表byte[]数组资源,对于“getInputStream”操作将返回一个By ...

  9. spring: @RequestMapping注解

    处理GET/POST请求方法 1.常用的: import org.springframework.web.bind.annotation.RequestMapping; @Controller pub ...

  10. linux命令三

    作业一:1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) [root@bogon test]# cat /etc/passwd /etc/group > /1. ...