2

我正在使用 Flash 和 AS3 为 Android 创建一个简单的游戏。我有基本的功能,多点触摸和触摸和拖动等。当 3 个对象被拖动到用户屏幕的某个点时,我试图触发一个事件,特别是跳到一个新帧。下面显示的是我用来控制对象的触摸和拖动事件,但是当所有 3 个事件都被拖动到屏幕上的某个位置时,我对如何触发所需事件感到有点困惑。任何建议或方向将不胜感激。

Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

Gem1_MC.addEventListener(TouchEvent.TOUCH_BEGIN, fl_TouchBeginHandler);
Gem1_MC.addEventListener(TouchEvent.TOUCH_END, fl_TouchEndHandler);


var fl_DragBounds:Rectangle = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);

    function fl_TouchBeginHandler(event:TouchEvent):void
    {
        event.target.startTouchDrag(event.touchPointID, false, fl_DragBounds);
    }

    function fl_TouchEndHandler(event:TouchEvent):void
    {
        event.target.stopTouchDrag(event.touchPointID);
    }
4

1 回答 1

-2

您需要在游戏中触发一个循环,该循环会Event.ENTER_FRAME针对“胜利”区域的 containsRect() 方法测试每个对象的 Rectangle。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Rectangle.html#containsRect()

您需要一个条件来确保所有 3 个评估为true然后可以触发您的胜利条件。

您也可以在乐谱对象的移动上触发此循环,但是如果您想做一些事情,例如让计算机控制对手或在游戏中做一个简单的演示并重用该逻辑,那么您会受到一些限制。

于 2012-12-20T02:11:01.163 回答