gpt4 book ai didi

javascript - 使用 CreateJS 单击删除形状

转载 作者:行者123 更新时间:2023-12-02 14:57:33 25 4
gpt4 key购买 nike

如何仅删除 CreateJS 中的形状?对于我的示例,我使用名为 createSquare 的函数创建了几个正方形。我的目标是拥有一个函数或单击事件,仅删除被单击的方 block 。

我尝试过事件监听器和点击,但没有运气。我已经注释掉了我尝试使用的代码。

Here is a link to a working fiddle.

JS如下:

var canvas;
var stage;
var square;

function init() {
canvas = document.getElementById("canvas");
stage = new createjs.Stage(canvas);
}

function createSquare(){
square = new createjs.Shape();
square.graphics.beginFill("red").drawRect(0, 0, 50, 50)
square.x = Math.random() * canvas.width;
square.y = Math.random() * canvas.height;
stage.addChild(square);
stage.update();
}

// This code should remove the squares
/*
square.on("click", function(evt) {
stage.removeChild(this);
});
*/

window.onload = init();

createSquare();
createSquare();
createSquare();
createSquare();
createSquare();
createSquare();

最佳答案

CreateJS 中的事件处理程序会传递 event object 。鼠标事件接收 MouseEvent .

事件的目标将是被点击的内容。

square.on("click", function(evt) {
stage.removeChild(evt.target);
stage.update();
});

您需要在创建每个方 block 时为其添加监听器。

或者,您也可以听一次舞台表演。

stage.on("click", function(evt) {
stage.removeChild(evt.target);
stage.update();
});

关于javascript - 使用 CreateJS 单击删除形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35681543/

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