gpt4 book ai didi

javascript - removeChild() 无法使用 easeljs

转载 作者:行者123 更新时间:2023-11-30 16:49:55 25 4
gpt4 key购买 nike

我正在使用 easeljs 创建一个舞台,然后我将瓷砖放在舞台上的随机位置。当用户单击一个图 block 时,该图 block 必须从舞台上移除。我面临两个问题。首先是鼠标事件不起作用。代码“tile.onPress = (tileOnPress).bind(this);”所以我改用了 addEventListener 方法。现在,尽管在我在控制台上获取输出时正在调用该函数,但该图 block 并未从舞台上移除。这是代码:

c99.Game = (function(){
function Count99Game() {
console.log("Count 99 game starts");

this.canvas = document.getElementById('game-canvas');

this.stage = new createjs.Stage(this.canvas);

var totalTiles = 10;

var tileOnPress = function(event) {
console.log("Pressed");
this.stage.removeChild(event.target);
this.stage.update();
};

for (var i = totalTiles; i > 0; i--) {
var tile = new c99.Tile(i);
this.stage.addChild(tile);
tile.x = Math.random()*(this.canvas.width - tile.width);
tile.y = Math.random()*(this.canvas.height - tile.height);

//tile.onPress = (tileOnPress).bind(this);
tile.addEventListener("click", tileOnPress.bind(this));
}

this.stage.update();
}

return Count99Game;
})();

如果有人能告诉我为什么“tile.onPress = (tileOnPress).bind(this);”,我将不胜感激。不工作,还需要在 tileOnPress 函数中进行哪些更改,以便可以从舞台上删除按下的图 block 。

完整代码可以在https://github.com/ZANTGames/count99/blob/master/js/count99-game.js找到

最佳答案

试试这个

this.stage.removeChild(event.target.parent)

这是因为 event.target 是 shape 而它的父级是 tile,基本上你想删除 tile 所以这是有效的

为了您将来的引用,我从这个文档中找到了它 http://www.createjs.com/docs/easeljs/classes/Stage.html

关于javascript - removeChild() 无法使用 easeljs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30682015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com