原文地址: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. echo指令

    1.在Linux中echo命令用来在标准输出上显示一段字符,比如:echo "the echo command test!" 这个就会输出“the echo command tes ...

  2. Mac开发

    工具类:                      

  3. MyCat分片集群

    数据库集群会产生的问题: 自增ID问题 数据关联查询问题(水平拆分) 数据同步问题 数据库集群 自动增长id产生重复的话,解决: UUID形式  (没有排序 不是自增) 设置数据库步长 其他方案: r ...

  4. BOOST学习笔记

    BOOST学习笔记 1 tool #pragma once #include <vector> #include "boost/noncopyable.hpp" #in ...

  5. JNI_Z_10_Java的数组

    在Java中数组分为两种: (1).基本类型数组 (2).对象类型(Object[])的数组 (数组中存放的是指向Java对象中的引用) 一个能通用于两种不同类型数组的函数: GetArrayLeng ...

  6. SpannableString实现TextView的链接效果

    SpannableString实现TextView的链接效果 一.简介 TextView使用SpannableString设置复合文本TextView通常用来显示普通文本,但是有时候需要对其中某些文本 ...

  7. yii2: 上传图片,生成目录

    1.单个文件上传 首先建立一个模型models/UploadForm.php,内容如下 namespace app\models; use yii\base\Model; use yii\web\Up ...

  8. WPF中的平移缩放和矩阵变换(TranslateTransform、ScaleTransform、MatrixTransform)

    在WPF中的平移缩放都是通过RenderTransform这个类来实现这些效果的,在这个类中,除了平移和缩放还有旋转.扭曲变换.矩阵变换.这些都差不多的,都是坐标的变换. 这里我就先简单弄个平移和缩放 ...

  9. Asp.net使用powershell管理hyper-v

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  10. 用Spring和c3p0工具简单的实现增删改查

    1.导入Spring和c3p0的jar包 2.配置beans.xml文件 <?xml version="1.0" encoding="UTF-8"?> ...