【问题标题】:Count how many instance in a specific area (AS3 code)计算特定区域中有多少实例(AS3 代码)
【发布时间】: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--

【问题讨论】:

    标签: actionscript-3 air


    【解决方案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 等中是否还有更多对象。谢谢星星?
    猜你喜欢
    • 2021-02-06
    • 1970-01-01
    • 2016-11-20
    • 2021-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多