原文地址: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. Oracle数据库的数据导入导出

    --备份数据库--数据库系统用户账号system/adminuser --查看oracle数据库的用户select * from all_users;--查看oracle数据库的版本号select * ...

  2. Git服务器的Gitosis安装配置及gitignore的使用方法

    Git服务器Gitosis安装设置 1.安装 openssh服务器 sudo apt-get install openssh-server openssh-client 2.创建个人公钥和私钥 在默认 ...

  3. uitableview 侧滑删除

    https://github.com/MortimerGoro/MGSwipeTableCell

  4. 什么是webhook

    什么是webhook 翻译,原文地址:https://sendgrid.com/blog/webhook-vs-api-whats-difference/ 一.概述 Webhook是一个API概念,并 ...

  5. Maven的简介

    1 What? 1.1 Maven 简介Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理.Maven 这个单词的本意是:专家,内行. ...

  6. js进阶---12-10、jquery绑定事件和解绑事件是什么

    js进阶---12-10.jquery绑定事件和解绑事件是什么 一.总结 一句话总结:on和off. 1.jquery如何给元素绑定事件? on方法 22 $('#btn1').on('click', ...

  7. Netty官方示例

    一.DEMO 官方并没有使用Hello World来作为一个例子,而是采用RFC的DISCARD,这个协议定义了就是接收到请求后什么也不干. 第一步编写DiscardServerHandler类: p ...

  8. phpexcel: 数据导出

    // 设置列名最多40个 $cols = array( "A", "B", "C", "D", "E" ...

  9. javascript简单介绍总结(一)

    DOM (Document Object Model)(文档对象模型)是用于访问 HTML 元素的正式 W3C 标准.在 HTML 中,JavaScript 语句向浏览器发出的命令.语句是用分号分隔: ...

  10. Word批量设置表格宽度自动适应页面宽度

    怎么批量修改Word表格的宽度呢.Word表格可根据窗口自动调整表格宽度,使得所有的表格宽度和页面宽度一样. 当页面设置了新的页边距后,所有的表格都需要调整新的宽度.或者文档中有许多大大小小的表格,希 ...