cocos2dx的动作,知识大概的总结

前端之家收集整理的这篇文章主要介绍了cocos2dx的动作,知识大概的总结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
总结下cocos2dx的这些动作,知识大概的总结,不是包含所有。文中的名词是自己取得。
首先我们要把握主线,我们在cocos2dx用到的动作都是派生自Action类,而Action又派生自Ref类。而我们主要用到的时属于Action派生的FiniteTimeAction(有限时间的动作类)类所派生的类。
FiniteTimeAction中得有限时间类又分为两个部分,一个部分是瞬时动作类(ActionInstant),也就是执行时你是看不到过程,只能看到结果。一部分是ActionInterval(持续动作类),这类动作都是有持续时间的。
1.框架:
Action类派生出:FiniteTimeAction
#FiniteTimeAction类派生出:ActionInstant类和ActionInterval类
##ActionInstant类派生出:CallFunc类、FlipX、Hide、Place(这里只是列出我常用的)
##ActionInterval类派生出:又分为两大类,一大类是纯持续动作类、一大类是动作包装类(这是我自己细分的)
其中纯持续动作类包括:BezierBy(To)(贝兹尔曲线动作)、Blink(闪烁动作)、FadeIn(Out)、JumpBy(To)(跳转动作,指定起跳位置、高度、次数)、RotateBy(To)、ScaleBy(To)(拉伸动作)。
其中一般By是相对的意思当前位置或者倍数,To是指定绝对。第一个参数都是指定持续时间。
其中动作包装类包括::Repeat、RepeatForever、Sequence、Spawn,动作包装类对所包装的动作有一定副作用,其副作用一般可顾名思义。
如上,Repeat包装后的动作就是重复指定次数被包装的动作、RepeatForever则是持续不断、Sequence可以包装多个动作、其副作用是让多个动作顺序执行
Spawn包装后的动作的副作用是,所有动作一起执行。

2.动作的创建:
一般动作的创建是调用相应动作的类的create工厂方法
3.动作的执行:
一般动作的是发送runAction消息给指定的Sprite对象,传入参数就是动作对象。

4.几个重要动作Sequence、Spawn、CallFunc
Sequence动作的使用就是如代码:
auto actions = Sequence::create(action1,action2,...,actionN,NULL);
sprite->runAction(actions);
Spawn的使用也一样,知识把关键字替换掉
CallFunc动作是我们就称为回调动作把(或者说是把函数转化为动作),传入的第二个函数指针需要通过callFunc_selector格式化该函数指针。
auto actionCF= CallFunc::create(this,callFunc_selector(HelloWord::sayLove));
源地址:http://www.cppblog.com/sixleaves/archive/2014/09/28/208443.aspx
原文链接:https://www.f2er.com/cocos2dx/345599.html

猜你在找的Cocos2d-x相关文章