cocos2d中的动作回调函数介绍
2012-12-27 13:53
405 查看
一)CCCallFunc、CCCallFuncN、CCCallFuncND、CCCallFuncO
CCCallFunc 动作允许你从一个动作中调用一个方法
CCCallFuncN
用一个结点做实参
CCCallFuncND
用结点和指针来传递数据:
CCCallFuncO 传递对象数据
二)CCCallBlock、CCCallBlockN、CCCallBlockO
--CCCallBlock (no arguments)
id blockAction = [CCCallBlock actionWithBlock:^{
[label setString:@"Called Block!"];
}];
--CCCallBlockN (passes the Node as an argument)
void (^block)(CCNode*) = BCA(^(CCNode *n) {
// do something generic with node
CCLOG(@"called block for %@", n);
});
id blockAction2 = [CCCallBlockN actionWithBlock:block];
-- CCCallBlockO (passes obj as an argument)
void (^block)(id) = BCA(^(id obj) {
// do something generic with node
CCLOG(@"called block for %@", obj);
});
id blockAction2 = [CCCallBlockO actionWithBlock:block object:obj];
三)CCPropertyAction
CCPropertyAction
这是一个让你修改任意的object-c类的属性的普通动作
// It will modify the "rotation" property from 0 to -270 in 2 seconds, and then it will run the reverse action.
id rot =[CCPropertyAction actionWithDuration:2key:@"rotation" from:0 to:-270];
id rot_back = [rot reverse];
id rot_seq =[CCSequence actions:rot, rot_back, nil];
CCCallFunc 动作允许你从一个动作中调用一个方法
CCCallFuncN
用一个结点做实参
CCCallFuncND
用结点和指针来传递数据:
CCCallFuncO 传递对象数据
二)CCCallBlock、CCCallBlockN、CCCallBlockO
--CCCallBlock (no arguments)
id blockAction = [CCCallBlock actionWithBlock:^{
[label setString:@"Called Block!"];
}];
--CCCallBlockN (passes the Node as an argument)
void (^block)(CCNode*) = BCA(^(CCNode *n) {
// do something generic with node
CCLOG(@"called block for %@", n);
});
id blockAction2 = [CCCallBlockN actionWithBlock:block];
-- CCCallBlockO (passes obj as an argument)
void (^block)(id) = BCA(^(id obj) {
// do something generic with node
CCLOG(@"called block for %@", obj);
});
id blockAction2 = [CCCallBlockO actionWithBlock:block object:obj];
三)CCPropertyAction
CCPropertyAction
这是一个让你修改任意的object-c类的属性的普通动作
// It will modify the "rotation" property from 0 to -270 in 2 seconds, and then it will run the reverse action.
id rot =[CCPropertyAction actionWithDuration:2key:@"rotation" from:0 to:-270];
id rot_back = [rot reverse];
id rot_seq =[CCSequence actions:rot, rot_back, nil];
相关文章推荐
- 【Cocos2d-X开发学习笔记】第18期:动作类之改变动作对象、函数回调动作以及过程动作的使用
- 【Cocos2d-X开发学习笔记】第18期:动作类之改变动作对象、函数回调动作以及过程动作的使用
- Cocos2d-x场景生命周期函数介绍
- cocos2d-X学习之主要类介绍:动作:CCAction
- cocos2d开发学习三:节点的动作(Action)介绍
- cocos2d sprite执行完动作之后调用回调自行销毁
- Cocos2d-x 3.x中新的回调函数归纳
- cocos2d-x中函数回调 事件监听机制详细解析 涉及c++成员函数指针
- MediaPlayer中使用到的回调函数介绍
- 【COCOS2DX-LUA 脚本开发之六】利用Lua强转函数解决使用CCNode报错或无法正常使用以及简单介绍 quick-cocos2d-x 与 OpenQuick 两款Lua免费开源框架
- cocos2d sprite执行完动作之后调用回调自行销毁
- 回调动作函数种类与理解
- cocos2d-X学习之主要类介绍:动作:CCAction
- Cocos2d-x场景切换相关函数介绍
- cocos2d-x + Lua下场景不能使用setOnEnterCallback(func)等函数来设置回调的解决办法
- cocos2dx 3.3 + lua 学习笔记(04)--- 动作回调、函数回调、骨骼动画回调
- cocos2d sprite执行完动作之后调用回调自行销毁
- (转)cocos2d-X学习之主要类介绍:动作:CCAction
- Cocos2d-x场景切换相关函数介绍
- 【COCOS2DX-LUA 脚本开发之六】利用Lua强转函数解决使用CCNode报错或无法正常使用以及简单介绍 quick-cocos2d-x 与 OpenQuick 两款Lua免费开源框架