计算特定区域中的多少实例(AS3代码)
问题描述:
我已经在AS3代码(AIR)中制作了这个小游戏,用户可以在其中拖放星星。 目的是在每个区域放置一定数量的恒星。计算特定区域中的多少实例(AS3代码)
我该如何计算用户放入某个区域的恒星数量?
在舞台上我有:area1
,area2
和area3
和
star1
,star2
,...到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();
}
}
我不确定,但可能会有效。
嗯我不知道它会工作。在开始时承认'count = 0'。然后用户将抓住对象并开始拖动它,'count = -1'。然后用户将把它放在对象'count = 0'上。或者,也许我没有看到这件事......? – Steph
然后检查当您开始拖动时是否(count> 0){count - }。 –
“area1”,“area2”等有更多的对象吗?感谢星星? – 3vilguy