如何在cocos2d html中使用removeChild

How can I use removeChild in cocos2d-html

本文关键字:removeChild html cocos2d      更新时间:2023-09-26

如何解决此代码中的undefined gameLayer错误?它一直说gameLayer不是定义的

var pause = setTimeout(function(){
    if(pickedTiles[0].pictureValue!=pickedTiles[1].pictureValue){
        pickedTiles[0].initWithFile("assets/cover.png");
        pickedTiles[1].initWithFile("assets/cover.png");
    }
    else{
        gameLayer.removeChild(pickedTiles[0]);
        gameLayer.removeChild(pickedTiles[1]);
    }
    pickedTiles = [];
}, 1000);}

这是完整的代码https://www.dropbox.com/s/jfp6fudg31ojyfp/gameScript.js?dl=0


已解决,使用

pickedTiles[0].removeFromParent();
pickedTiles[1].removeFromParent();

而不是

 gameLayer.removeChild(pickedTiles[0]);
 gameLayer.removeChild(pickedTiles[1]);

您可以在之前检查gameLayer是否存在:

var pause = setTimeout(function(){
    if(pickedTiles[0].pictureValue!=pickedTiles[1].pictureValue){
        pickedTiles[0].initWithFile("assets/cover.png");
        pickedTiles[1].initWithFile("assets/cover.png");
    }
    else{
        if(gameLayer){
            gameLayer.removeChild(pickedTiles[0]);
            gameLayer.removeChild(pickedTiles[1]);
        }
    }
    pickedTiles = [];
}, 1000);}