计算特定区域中的实例数(AS3代码)

时间:2017-05-31 23:13:59

标签: actionscript-3 air

我在AS3代码(AIR)中制作了这个小游戏,用户可以在不同区域拖放星星。 目的是在每个区域放置一定数量的星星。

如何计算用户放置在某个区域的星数?

在舞台上我得到:area1area2area3

star1star2,...到star10

到目前为止,这是我的代码:

function dragObject(e:MouseEvent):void         {             为getPosition(e.target);

        e.target.startDrag(true);
    }



         function stopDragObject(e:MouseEvent):void
            {
            if (e.target.name == "area1" &&
    //I think I should put something here to say area1 has been hit 4 times (hitTestObject for example ?)){
    trace("Sucess");
}

有什么建议吗?

编辑

我在想这样的事情:

         function stopDragObject(e:MouseEvent):void{

            if (e.target && e.target.hitTestObject(getChildByName("area1"))){

        e.target.stopDrag();
        count++;

        }
            else{
            e.target.stopDrag();
        }
    }

现在,当我在area1中放置一个实例时,它会添加“1”。 但是,我如何从area 1移除实例并告诉它count--area 1中移除?

1 个答案:

答案 0 :(得分:1)

我想,你应该尝试这个make count--当你在droped区域上拖动对象和计算++时。

function dragObject(e:MouseEvent):void 
{ 
    getPosition(e.target);
    e.target.startDrag(true);
    count--;
}


function stopDragObject(e:MouseEvent):void
{
    if (e.target && e.target.hitTestObject(getChildByName("area1")))
    {
        e.target.stopDrag();
        count++;
    }
    else
    {
        e.target.stopDrag();
    }
}

我不确定但可能有效。