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

Posted

技术标签:

【中文标题】计算特定区域中有多少实例(AS3 代码)【英文标题】:Count how many instance in a specific area (AS3 code) 【发布时间】:2017-11-01 22:14:27 【问题描述】:

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

如何计算用户在一个区域中的星星数量?

在舞台上我有:area1area2area3

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 --。 area1area2 等中是否还有更多对象。谢谢星星?

以上是关于计算特定区域中有多少实例(AS3 代码)的主要内容,如果未能解决你的问题,请参考以下文章

excel统计一个区域里共有多少个数

c++ 怎么取list中特定的一块区域的值,比如list中有100条记录,我想直接取20-50的记录怎么取?新人求大神.

如何获取特定区域中 EC2 实例的 IP 范围

ActionScript 3 AS3填充可用屏幕区域(正方形)

AS3 在不规则区域内拖动

as3 把不透明的区域重新画出来