原文地址: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. java类执行顺序

    1. 静态初始化块 > 初始化块 > 构造器 2. 父类 > 子类 综合下来顺序就是: 父类静态初始化块和静态成员变量 子类静态初始化块和静态成员变量 父类初始化块和普通成员变量 父 ...

  2. DevExpress组件之——TreeList组件

    由于是第一次接触到第三方控件DevExpress中的TreeList,对其进行了进一步的研究,采用递归算法实现.做下自己熟悉第三方控件的整个过程,为和我一样处理于起步阶段的同仁们提供个参考,以下为最终 ...

  3. Spring 静态注入讲解(MethodInvokingFactoryBean)

    /* * Copyright (c) 2017 4PX Information Technology Co.,Ltd. All rights reserved. */package com.fpx.o ...

  4. C++ dll的隐式与显式调用

    应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接.在使用DLL之前首先要知道DLL中函数的结构信息.Visual C++6.0(或者更先进的版本)在VC\bin目录下提供了一个名为 ...

  5. 内存中加载DLL DELPHI版

    //从内存中加载DLL DELPHI版 unit MemLibrary; interface uses Windows; function memLoadLibrary(pLib: Pointer): ...

  6. U盘安装OS

    1. 老毛桃 2. 大白菜 3.

  7. DOM元素的位置、尺寸及更多的信息

    一.基本概念 document.documentElement是整个DOM树的根节点,对应的元素就是html.下面将其称作根元素或根节点. document.body,对应的元素是body 二.浏览器 ...

  8. 习题-第7章Web自动化测试

    一.选择题 1.如果火狐浏览器不在默认安装路径,编写Selenium的设置代码,横线处应该填入(    ), System.setProperty(“webdriver.firefox._______ ...

  9. delete 与 delete []的区别

    一. 针对类class,这两种方式的效果是不同的. 当你通过下列方式分配一个类对象数组:   class A   {   private:      char *m_cBuffer;      int ...

  10. ARM汇编指令集4

    协处理器cp15操作指令: mcr & mrc •mrc用于读取CP15中的寄存器 •mcr用于写入CP15中的寄存器   什么是协处理器? •SoC内部另一处理核心,协助主CPU实现某些功能 ...