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

问题描述:

我已经在AS3代码(AIR)中制作了这个小游戏,用户可以在其中拖放星星。 目的是在每个区域放置一定数量的恒星。计算特定区域中的多少实例(AS3代码)

我该如何计算用户放入某个区域的恒星数量?

在舞台上我有:area1area2area3

star1star2,...到star10

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

功能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中删除实例,并告诉它在从area 1中删除时执行count--

我想,你应该尝试这个计数 - 当你拖动对象和计数++的区域。

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(); 
    } 
} 

我不确定,但可能会有效。

+0

嗯我不知道它会工作。在开始时承认'count = 0'。然后用户将抓住对象并开始拖动它,'count = -1'。然后用户将把它放在对象'count = 0'上。或者,也许我没有看到这件事......? – Steph

+0

然后检查当您开始拖动时是否(count> 0){count - }。 –

+0

“area1”,“area2”等有更多的对象吗?感谢星星? – 3vilguy