Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript cocos2djs3.0迁移_Javascript_Cocos2d Iphone_Cocos2d Html5_Cocos2d Js - Fatal编程技术网

Javascript cocos2djs3.0迁移

Javascript cocos2djs3.0迁移,javascript,cocos2d-iphone,cocos2d-html5,cocos2d-js,Javascript,Cocos2d Iphone,Cocos2d Html5,Cocos2d Js,我正在从cocos2d-html5版本2.2迁移到cocos2d js 3.0,我对这段代码有一个问题(它在版本2.2中非常有效): menuButtons=cc.Menu.create(); 对于(变量a=1;a

我正在从cocos2d-html5版本2.2迁移到cocos2d js 3.0,我对这段代码有一个问题(它在版本2.2中非常有效):

menuButtons=cc.Menu.create();
对于(变量a=1;a<6;a++){
var label=cc.LabelTTF.create(“按钮”+a,“Arial”,20);
var tmpBtn=cc.MenuItemLabel.create(标签,函数(e){
抄送日志(“测试标签:+e.TAG”);
//开始某事物(e);
},这个);
tmpBtn.设置位置(50,a*30);
tmpBtn.tag=a;
菜单按钮.addChild(tmpBtn,2,1);
}
菜单按钮。设置位置(10,10);
this.addChild(菜单按钮,1);
按下任何“按钮”,控制台总是输出“测试标签:1”,而不是输入正确的数字。
有解决问题的技巧吗?

用.title或更好的['data-']标识符更改.tag,如本例所示:

        menuButtons = cc.Menu.create();
        for (var a = 1; a < 6; a++){

            var label = cc.LabelTTF.create("BUTTON " + a, "Arial", 20);
            var tmpBtn = cc.MenuItemLabel.create(label, function (e) {
                cc.log("TEST TAG: " + e['data-tag']);
                //StartSomethingOther(e);
            }, this);

            tmpBtn.setPosition(50, a * 30);
            tmpBtn['data-tag'] = a;

            menuButtons.addChild(tmpBtn,2,1);

        }
        menuButtons.setPosition(10, 10);
        this.addChild(menuButtons, 1);          
menuButtons=cc.Menu.create();
对于(变量a=1;a<6;a++){
var label=cc.LabelTTF.create(“按钮”+a,“Arial”,20);
var tmpBtn=cc.MenuItemLabel.create(标签,函数(e){
抄送日志(“测试标签:+e['data-TAG']);
//开始某事物(e);
},这个);
tmpBtn.设置位置(50,a*30);
tmpBtn['data-tag']=a;
菜单按钮.addChild(tmpBtn,2,1);
}
菜单按钮。设置位置(10,10);
this.addChild(菜单按钮,1);

您正在覆盖此处的
标记
属性:

menuButtons.addChild(tmpBtn,2,1);
第三个参数将
tmpBtn.tag
设置为1

如果要继续使用
标记
属性,只需更改:

        tmpBtn.tag = a;
        menuButtons.addChild(tmpBtn,2,1);
与:

如果不想使用
标记
属性,请参阅的答案

        tmpBtn.tag = a;
        menuButtons.addChild(tmpBtn,2,1);
        menuButtons.addChild(tmpBtn,2,a);