我在AS3代码(AIR)中制作了这个小游戏,用户可以在不同区域拖放星星。 目的是在每个区域放置一定数量的星星。
如何计算用户放置在某个区域的星数?
在舞台上我得到:area1
,area2
和area3
和
star1
,star2
,...到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
中移除?
答案 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();
}
}
我不确定但可能有效。