我在删除画架上的对象数据时遇到了这个问题。
我有一个画布,在其中创建了一个称为覆盖的段,然后我可以创建和删除称为“种子”的小点。我要做的是仅在种子位置为时将 x,y 坐标存储到数组中在覆盖图像的命中区域中。
这是代码:
function addSeed(){
seed = new createjs.Bitmap("seed.jpg");
seed.alpha = 0.5;
seed.x = stage.mouseX-10 ;
seed.y = stage.mouseY-10 ;
addSeedData();
stage.addChild(seed);
stage.update();
storex.push(seed.x);
storey.push(seed.y);
i+=1;
}
function removeSeed(){
if(stage.getNumChildren()>childCounter){
removeSeedData();
storex.pop(seed.x);
storey.pop(seed.y);
stage.removeChildAt(stage.getNumChildren()-1);
stage.update();
}
}
function addSeedData(){
overlayPt = seed.localToLocal(10, 10, overlay);
if (overlay.hitTest(overlayPt.x, overlayPt.y)== true)
{
overlaySeedDatax.push(seed.x);
overlaySeedDatay.push(seed.y);
}
}
function removeSeedData(){
if (overlay.hitTest(overlayPt.x, overlayPt.y)== true)
{
overlaySeedDatax.pop(seed.x);
overlaySeedDatay.pop(seed.y);
}
}
当我在内部添加一个种子然后在外部添加另一个而不是在内部添加然后在外部添加第四个时,我可以准确地从覆盖对象的内部添加和删除种子...然后删除所有种子,这两个种子仍然保留在 overlaySeedData 数组中