クリックしてムービークリップを追加する場所がありますが、効率が悪く、必要な機能がありません。他のムービークリップが同じ場所にない場合にのみ、ムービークリップを追加する必要があります。
private function onClick():void
{
if(placesound==false)
{
placepixel.play();
placesound = true;
}
if(erasetrue==false)
{
var pixel = new Pixel();
pixel.x = 0;
pixel.y = 0;
}
if(mouseY>30 && irontrue==true)
{
//var pixel = new Pixel();
pixel.x=(Math.round(mouseX/5)*5)-2.5;
pixel.y=(Math.round(mouseY/5)*5)-2.5;
pixel.graphics.beginFill(0x999999);
pixel.graphics.drawRect(0, 0, 5, 5);
pixel.graphics.endFill();
pixel.type=0;
pix.push(pixel);
//addChild(pixel);
}
if(mouseY>30 && woodtrue==true)
{
//var pixel = new Pixel();
pixel.x=(Math.round(mouseX/5)*5)-2.5;
pixel.y=(Math.round(mouseY/5)*5)-2.5;
pixel.graphics.beginFill(0x996600);
pixel.graphics.drawRect(0, 0, 5, 5);
pixel.graphics.endFill();
pixel.type=3;
pix.push(pixel);
//addChild(pixel);
}
if(erasetrue==true)
{
for (i=pix.length-1; i>=0; i--)
{
if(pix[i].x==(Math.round(mouseX/5)*5)-2.5 && pix[i].y==(Math.round(mouseY/5)*5)-2.5)
{
removeChild(pix[i]);
pix.splice(i, 1);
}
}
}
if(mouseY>30 && springtrue==true)
{
//var pixel = new Pixel();
pixel.x=(Math.round(mouseX/5)*5)-2.5;
pixel.y=(Math.round(mouseY/5)*5)-2.5;
pixel.graphics.beginFill(0x000000);
pixel.graphics.drawRect(0, 0, 5, 5);
pixel.graphics.endFill();
pixel.type=1;
pix.push(pixel);
//addChild(pixel);
}
if(mouseY>30 && portaltrue==true)
{
//var pixel = new Pixel();
pixel.x=(Math.round(mouseX/5)*5)-2.5;
pixel.y=(Math.round(mouseY/5)*5)-2.5;
pixel.graphics.beginFill(0x9999FF);
pixel.graphics.drawRect(0, 0, 5, 5);
pixel.graphics.endFill();
pixel.type=2;
pix.push(pixel);
//addChild(pixel);
}
if(erasetrue==false)
{
addChild(pixel);
}
}
他のムービークリップ(配列「pix」を参照)が配置される場所にまだない場合にのみ、最後のif(ピクセルをaddChildするもの)のみを実行したいと思います(配置する前にマウスを丸めます)それ。
助けてくれてありがとう。
編集:スポイラーが失敗しました。