0

現在、作成したボックスをクリックすると、そのボックスは削除されますが、すぐに別のボックスが作成されます。ステージをクリックしてボックスを作成し、ボックスをクリックしてそのボックスを削除したい - それだけです。

import flash.display.MovieClip;
import flash.events.*;



public class testcatnab extends MovieClip
{

    public static var boxCount:int = 0;
    var box = new Box();



    public function testcatnab()
    {
        stage.addEventListener(MouseEvent.CLICK, clickOnStage);
        box.addEventListener(MouseEvent.CLICK, clickOnBox);

    }



    function clickOnStage(e:MouseEvent)
    {

        box.x = mouseX;
        box.y = mouseY;
        addChild(box);

        boxCount++;

        trace(boxCount);

    }



    function clickOnBox(e:MouseEvent)
    {
        boxCount--;
        removeChild(box);

        trace(boxCount);

    }

}

編集 - 別の背景ムービークリップを作成し、それをクリック可能なオブジェクトとして使用することで修正しました

4

1 に答える 1

0

mousedown には 1 つの機能があり、mouseClick には 2 つ目の機能があります。私はあなたの状況で両方とも同じだと思います...

package  {

    import flash.display.MovieClip;
    import flash.events.*;


    public class Main extends MovieClip {

        private var boxCount:Number = 0;
        private var box:MovieClip;

        public function Main() 
        {
            box = new Box();
            stage.addEventListener(MouseEvent.CLICK, clickOnStage);
            box.addEventListener(MouseEvent.MOUSE_DOWN, clickOnBox);
        }


         function clickOnStage(e:MouseEvent)
        {
            if (boxCount % 2 == 1)
            {
                return;
            }

            box.x = mouseX;
            box.y = mouseY;
            addChild(box);
            boxCount++;
            trace("stage")
        }


      function clickOnBox(e:MouseEvent)
        {
            if (boxCount % 2 == 0)
            {
                return;
            }
            boxCount++;
            removeChild(box);
            trace("box");

        }   


    }

}
于 2013-10-13T22:44:12.413 に答える