gpt4 book ai didi

actionscript-3 - 如何让命中检测在 Flash 中工作?

转载 作者:行者123 更新时间:2023-12-05 01:13:33 25 4
gpt4 key购买 nike

我尝试了很多命中检测,但似乎没有一个对我有用。我试过 hittest hittestobject hitarea。当我的对象(a 或 b 影片剪辑完全进入 c 影片剪辑时,我希望 c 向 300 x 方向移动。只要它在 c 影片剪辑中有效,就不需要进行针点检测。

package  {

import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.media.Sound;
import flash.ui.Mouse;

public class bakingCake extends MovieClip {


public function bakingCake() {
// constructor code

var object:MovieClip = new MovieClip;

a.addEventListener(MouseEvent.MOUSE_DOWN,objectA);
b.addEventListener(MouseEvent.MOUSE_DOWN,objectB);

if (object.hitArea(c) == true)
{
c.x = 300;
}

function objectA():void
{
object = a;
object.addEventListener(MouseEvent.MOUSE_OVER,objectFun);
}

function objectB():void
{
object = b;
object.addEventListener(MouseEvent.MOUSE_OVER,objectFun);
}


function objectFun(event:MouseEvent):void
{

object.addEventListener(MouseEvent.MOUSE_DOWN,drag);
object.addEventListener(MouseEvent.MOUSE_UP,sDrag);
}
function drag(event:MouseEvent):void
{
object.startDrag();
}
function sDrag(event:MouseEvent):void
{
object.stopDrag();

}

}
}

最佳答案

你试过 getBounds() 了吗?
我建议条件:

if (c.getBounds(c.parent).containsRect(a.getBounds(c.parent))
|| c.getBounds(c.parent).containsRect(b.getBounds(c.parent))) {
c.x = 300;
}

IMO 最好的方法是检查它是否由 ENTER_FRAME 事件触发,附加到任何对象。

关于actionscript-3 - 如何让命中检测在 Flash 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13423436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com