现在的位置: 首页 > 综合 > 正文

cocos2d_x+lua【6.0】 ——Action使用之动作简介

2013年01月02日 ⁄ 综合 ⁄ 共 845字 ⁄ 字号 评论关闭

oDustGgg个人原创、欢迎转载、转载请注明出处、http://blog.csdn.net/odustggg/article/details/8187326

参考文献:http://cn.cocos2d-x.org/document

1、动作概述

CCNode有一个成员函数叫runAction、

CCAction* runAction(CCAction* action);

这保证了继承了此接口的CCSprite对象可以执行各种动作

2、使用方法

local action = CCMoveTo::actionWithDuration(2.0,CCPoint(100, 100))
Sprite:runAction(action)

startWithTagert:(id) 将节点与行为对象相关联
stop 取消节点与行为的关联、即停止行为
isDone 检测行为是否执行完毕
pause 暂停行为(可恢复)
unPause 从暂停中恢复。
isRunning 是否在运行
注意:action是个抽象类 方法需要继承了它的子类自己实现

3、动作子类简图

 

a、CCFiniteTimeAction 是时间类动作的抽象基类、用于表示在有限时间内可以完成的动作
b、CCFollow 是一个跟随节点的动作类
很多游戏都是这样的,要将主角放在屏幕中间,无论主角怎样移动、屏幕都是以主角为中心的、
很简单一句就搞定了、其中layer是你需要移动的层,sprite是你的屏幕要跟随的精灵

layer:runAction(CCFollow::actionWithTarget(sprite))

c、CCSpeed  变化速度的一个动作、用于模拟“慢镜头”或“快进”的效果、
警告: 被改变的动作不能被作为序列因为它不是一个CCIntervalAction对象

local move = CCMoveBy:actionWithDuration(3,CCPoint(350,0))
--调整为3倍速运行 
local speed= CCSpeed:actionWithAction(move,3.0) 

抱歉!评论已关闭.