动作结束监听

在游戏开发中,当需要在动作执行完毕后自动执行其他操作,可以使用CCCallFunc创建监听函数。通过callfunc_selector绑定指定的回调函数,结合CCSequence将监听与动作绑定。例如,创建CCMoveTo、CCJumpBy、CCRotateBy等动作,并在序列末尾附加CCCallFunc以确保在所有动作完成后执行特定的回调函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动作结束后  需要自动处理一些其他事,那么就需要 相关的 监听函数

创建监听函数 :CCCallFunc* callBack = CCCallFunc::create(this, callfunc_selector(function)); //  callfunc_selector(function) 绑定指定的回调

这样 就有 一个 动作结束监听的对象

然后就让他  和相关动作 绑定在一起 例如: CCSequence* sequence = CCSequence::create(moveTo,callBack, NULL);


当然也可以 把一系列动作都绑定在一起后再绑定 结束监听函数 例如:

// 创建移动动作对象
CCMoveTo* moveTo = CCMoveTo::create(3.0f, ccp(0,0));
CC_BREAK_IF(! moveTo);


// 创建弹跳动作对象
CCJumpBy* jumpBy = CCJumpBy::create(3.0f,ccp(50,1), 100, 5);
CC_BREAK_IF(! jumpBy);


//创建旋转对象
CCRotateBy* rotate = CCRotateBy::create(2.5f, 200, 10);
CC_BREAK_IF(! rotate);


// 创建动作结束监听函数
CCCallFunc* func = CCCallFunc::create(this, callfunc_selector(Sequence::CallFunction));
CC_BREAK_IF(! func);


//创建动作组合对象 将所有的动作连接起来
//CCAction* actions = CCSpawn::create(moveTo, jumpBy, rotate, NULL); // 一起播放
CCAction* actions = CCSequence::create(moveTo, jumpBy, rotate, func,NULL);//一个一个动作播放
CC_BREAK_IF(! actions);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值