Action Script 3 使用 hitTest 进行触摸拖动

发布于 2024-12-18 00:10:25 字数 636 浏览 2 评论 0原文

我正在使用 Action Script 3 制作 Android 游戏,使用“air for 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 没有改变为什么?

I'm using Action Script 3 to make android game using "air for android"

I make a ball, gole and StatusTxt.

and i have end every thing in the design Correctly.

in the Code:

  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.";
        }

but the StatusTxt has not changed Why??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

世界和平 2024-12-25 00:10:25

您的测试是在活动之外进行的。您可以将其添加到 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.";
        }
}

Your test is outside the event. You could add it in the onTouchEnd function. If you want to test it outside of the TOUCH_END event you could use a ENTER_FRAME event.

So it would end up looking something like this:

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

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

or with the ENTER_FRAME like this:

addEventListener(Event.ENTER_FRAME, onEnterFrame);

function onEnterFrame(e:Event) : void
{
        if(gole.hitTestObject(ball))
        {
            StatusTxt.text = "You hit it.";
        }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文