菜单按钮回调函数中停止时间调度器无用是为什么,代码如下

    var leftItem = new cc.MenuItemImage(res.ButtonNormal_png,res.ButtonPressed_png,this.judgeCallBack);
    lblBtn.setPosition(leftItem.getContentSize().width/2,leftItem.getContentSize().height/2);
    leftItem.addChild(lblBtn);
    var leftMenu = new cc.Menu(leftItem);
    leftMenu.setPosition(self.size.width/2-300,100);
    this.addChild(leftMenu);

//回调函数
judgeCallBack:function(){
this.unschedule(controlClickButtonTime);
_IsClickBtn = true;
if(_IsGather){
Interactive_GatherTime = _ClickBtnTime.toFixed(3);
_PicNum++;
if(_PicNum > _TotalPicNum){
_PicNum = 1;
}
_MoveDistance += _tempMoveDis ;
self.greenSp.removeFromParent();
self.redSp.removeFromParent();
}else{
cc.log(“散开”)
}
}

//时间调度器
controlClickButtonTime:function(time){
_ClickBtnTime = _ClickBtnTime + 0.001;
cc.log(“时间——————————————”,_ClickBtnTime.toFixed(3));
}

想实现的效果是点击按钮停止时间调度器,但是 this.unschedule(this.controlClickButtonTime); 报错 说unschedule不是一个function 请问这个问题应该怎么解决?

问题出在this所代表的当前对象上,加一个参数就可以了
var leftItem = new cc.MenuItemImage(res.ButtonNormal_png,res.ButtonPressed_png,this.judgeCallBack,this);

this没有绑定到正确的对象吧?

好的已经解决,非常感谢,还想问一下在3.13下的版本怎么处理读取json文件异步的问题

感觉我这样处理不对可是还不知道该怎么解决

可以这样加载外部json文件:
var json = cc.loader.getRes(“res/zztest/test.json”);
getRes还回的就是json格式的数据,可以直接使用
我这里的json数据是这样的:
{
“backgroundType”: -1,
“type”: “Panel”,
“AnchorPoint”: {
“ScaleX”: 0,
“ScaleY”: 0
},
“Size”: {
“Y”: 96,
“X”: 756
},
“publicres”: []
}
打log测试:
cc.log(JSON.stringify(json));
//JS: {“backgroundType”:-1,“type”:“Panel”,“AnchorPoint”:{“ScaleX”:0,“ScaleY”:0},“Size”:{“Y”:96,“X”:756},“publicres”:[]}
cc.log(json.backgroundType);
//JS: -1
cc.log(json.Size.X);
//JS: 756