永发信息网

cocos 怎么让定时器随ui消失

答案:2  悬赏:30  手机版
解决时间 2021-01-29 01:38
  • 提问者网友:蔚蓝的太阳
  • 2021-01-28 08:06
cocos 怎么让定时器随ui消失
最佳答案
  • 五星知识达人网友:行雁书
  • 2021-01-28 09:11
1、scheduleUpdate
加入当前节点后,程序会每帧都会自动执行一次默认的Update函数。(注:一定是Update函数哦,若想调用其他自己命名的函数则使用schedule)
看例子,走起。
首先在HelloWord类的头文件中声明Update函数:
[cpp] view plain copy
void Update(float dt); //注意参数类型
然后在HelloWorld类源文件中实现函数Update:

[cpp] view plain copy
void HelloWorld::Update(float dt)
{
CCLOG("baibai");
}
现在我们可以调用了,在需要他不断执行的地方加入调用的代码就ok:

[cpp] view plain copy
this->scheduleUpdate(); //this是当前节点,如layer,所以可以省略啦。

运行之后你将会看到不断有baibai被打印出来
2、scheduleUpdate
可以没隔几秒执行某个自定义的函数,来看代码:
首先还是在HelloWorld中声明所要执行的函数:

[cpp] view plain copy
void Move(float dt);
然后在源文件实现:

[cpp] view plain copy
void HelloWorld::Move(float dt)
{
CCLOG("baibai");
}
现在去执行他,注意参数哦

[cpp] view plain copy
scheduleOnce(schedule_selector(HelloWorld::Move), 1.0f);//每隔1.0f执行一次,省略参数则表示每帧都要执行

运行之后,baibai每隔1.0f才会被打印一次。
3、scheduleOnce
功能:在几秒之后执行,并且只执行一次。
我们就执行上面所写过的Move函数吧:
全部回答
  • 1楼网友:独行浪子会拥风
  • 2021-01-28 10:34
有一下几种方法: 1.[self scheduleupdate]; 这样以默认cocos2d的刷新频率1/60.0s走- (void)update:(cctime)dt一次 停止方法:[self unscheduleupdate]; 2.[self schedule:@selector(tick:)]; 这样以默认cocos2d的刷新频率1/60.0s走- (void)tick:(cctime)dt一次,tick是自己定义的方法 停止方法:[self unschedule:@selector(tick:)]; 3.[self schedule:@selector(secondupdate:) interval:1.0f]; 这样计时器每一秒执行一次- (void)secondupdate:(cctime)dt一次,secondupdate是自己定义的方法; 停止方法:[self unschedule:@selector(secondupdate:)];
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯