计算特定区域中有多少实例(AS3 代码)
Posted
技术标签:
【中文标题】计算特定区域中有多少实例(AS3 代码)【英文标题】:Count how many instance in a specific area (AS3 code) 【发布时间】:2017-11-01 22:14:27 【问题描述】:我用 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
中删除实例并告诉它在从area 1
中删除时执行count--
?
【问题讨论】:
【参考方案1】:我认为,你应该尝试这个 make 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
上。或者我没看清楚这件事……?
然后在开始拖动时检查 if(count > 0) count --。
area1
、area2
等中是否还有更多对象。谢谢星星?以上是关于计算特定区域中有多少实例(AS3 代码)的主要内容,如果未能解决你的问题,请参考以下文章
c++ 怎么取list中特定的一块区域的值,比如list中有100条记录,我想直接取20-50的记录怎么取?新人求大神.