component.schedule(function() {
// 这里的 this 指向 component
this.doSomething();
}, 5);
这个代码应该放到什么位置,我尝试放到onload,star,update里都不行呀。
上面加 self = this ,里面的this 换成self 或者 ()=>{this. …}
这样吗?我放到onload里,页面加载不了
let self = this;
component.schedule(function() {
self.dosomething();
},0.01,repeat)
或者
component.schedule(() => {
this.dosomething();
},0.01,repeat)
页面还是加载不了呀。
有报错么?把报错信息发一下
没有报错。
那你给个demo看一下吧,或者给下工程
我的cocos creator是2.1.0
首先,别用cc.director.getWinSize()了,不是有警告么,提示直接用cc.winSize就行
定时器的问题是component变量没有声明就拿来使用,肯定有问题啊。
改成:
let self = this;
this.schedule(function() {
......
})
还有那个repeat参数也是,没定义的属性就往里面传参
如果要有限次数执行,传入的是执行次数,比如数值3。
如果要重复运行,传入的是cc.macro.REPEAT_FOREVER
定义properties属性不定义type,也不赋值,这样你的
self.uiLayerComonent.addGold();
这段代码肯定是有问题的啊。
贴下最终的计时器代码:
let self = this;
this.schedule(function() {
cc.log("xxxxx");
},0.01,cc.macro.REPEAT_FOREVER);
你的代码里面还有其他的问题,慢慢检查吧,计时器这里这样就没问题了,你可以看到有log的输出。
通过error信息慢慢查
2赞
谢谢。计时器问题解决了

