HitTestObject两个对象之间的距离错误

时间:2018-06-21 10:33:53

标签: actionscript-3 air

我有一个倒车的汽车游戏。当敌人和汽车相互碰撞时游戏结束了。我遇到了碰撞问题。 汽车和敌人彼此靠近时会受到打击,但是它们之间仍有很大的空间。

请检查该图像。 https://s8.postimg.cc/p85w0wm2t/image.gif

我使用此代码。

if(dubageri1.hitTestObject(carMC)){
    dubageri1.gotoAndPlay(2);


    geribas.gericarpti = true;


    stage.removeEventListener(Event.ENTER_FRAME,engeller1geri1lev1)

}

我也尝试过类似的方法。但是这次碰撞已经晚了。

var nDistX:Number = Math.abs ( carMC.x - dubageri1.x );
var nDistY:Number = Math.abs ( carMC.y - dubageri1.y );
var nDistance:Number = Math.sqrt ( nDistX * nDistX + nDistY * nDistY );

var sDistx:Number = Math.abs ( carMC.x - dubageri1.x );
var sDisty:Number = Math.abs ( carMC.y - dubageri1.y );
var nsistance:Number = Math.sqrt ( sDistx * sDistx + sDisty * sDisty );


 collect.text=String(nDistance);    

if ( nDistance < 120 )
                {
                    trace("aha");
                    dubageri1.gotoAndPlay(2);
                    stage.removeEventListener(Event.ENTER_FRAME,dsaa);
                }

注意:我的对象是作为矢量制作的。

有人告诉我我做错了什么吗?

更新

var aPoint:Point = new Point();
aPoint = carMC.localToGlobal(aPoint);

var bPoint:Point = new Point();
bPoint = dubageri1.localToGlobal(bPoint);


stage.addEventListener(Event.ENTER_FRAME,ilkcikis);
function ilkcikis(event:Event) {





    bPoint = root.globalToLocal(bPoint);

    var zHit:Boolean = carMC.hitTestPoint(bPoint.x, bPoint.y, true);
    textbaba.text = zHit? "! HIT !": "NO HIT";




    carMC.x=mouseX;
    carMC.y=mouseY;


}

0 个答案:

没有答案