Как удалить только фигуру, созданную в CreateJS? Для моего примера я создал несколько квадратов с функцией, называемой createSquare
. Моя цель состоит в том, чтобы иметь функцию или событие клика, которое удаляет только квадрат, который щелкнут.Удалить форму при щелчке с помощью CreateJS
Я пробовал прослушиватели событий и по щелчку, и им не повезло. Я прокомментировал код, который я пытался использовать.
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();
скрипку для любознательных: https://jsfiddle.net/w1vssodr/3/ – vzwick
Это имеет смысл, и очищает мое замешательство. Если я добавлю другие фигуры, добавит ли событие к каждому квадрату лучшее решение? Например, что, если я хочу сделать несколько разные события для квадрата и круга? Скрипт вашего другого решения https://jsfiddle.net/w1vssodr/5/ – DRB
Я бы порекомендовал один обработчик событий. Вы можете легко добавить свойство в форму, которая указывает, что это такое, и проверить это в обработчике кликов. Вот обновленная скрипка, показывающая, как квадраты удаляются, а круги уменьшаются в альфе. https://jsfiddle.net/lannymcnie/w1vssodr/6/ – Lanny