【问题标题】:Action Script 3 touch drag with hitTest带有 hitTest 的动作脚本 3 触摸拖动
【发布时间】:2011-11-24 12:43:19
【问题描述】:

我正在使用 Action Script 3 使用“air for android”制作 android 游戏

我制作了一个球、gole 和 StatusTxt。

我已经正确地结束了设计中的每一件事。

在代码中:

  Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT; 
ball.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin); 
ball.addEventListener(TouchEvent.TOUCH_END, onTouchEnd);

function onTouchBegin(e:TouchEvent) { 
    e.target.startTouchDrag(e.touchPointID);
}  
function onTouchEnd(e:TouchEvent) { 
    e.target.stopTouchDrag(e.touchPointID); 
}

if(gole.hitTestObject(ball))
        {
            StatusTxt.text = "You hit it.";
        }

但是StatusTxt没有变为什么??

【问题讨论】:

    标签: flash actionscript-3 air hittest


    【解决方案1】:

    您的测试不在活动范围内。您可以将其添加到 onTouchEnd 函数中。如果你想在TOUCH_END 事件之外测试它,你可以使用ENTER_FRAME 事件。

    所以它最终会看起来像这样:

    function onTouchEnd(e:TouchEvent) 
    {
            e.target.stopTouchDrag(e.touchPointID); 
    
            if(gole.hitTestObject(ball))
            {
                StatusTxt.text = "You hit it.";
            }
    }
    

    或者像这样使用ENTER_FRAME

    addEventListener(Event.ENTER_FRAME, onEnterFrame);
    
    function onEnterFrame(e:Event) : void
    {
            if(gole.hitTestObject(ball))
            {
                StatusTxt.text = "You hit it.";
            }
    }
    

    【讨论】:

    • 谢谢你,我已经搜索了大约 2 小时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多