我想知道虚线撞到三角形对象时的实际生命值。
我在以下两个对象之间使用以下代码:
target.hitTestObject(border);
其中目标是三角形对象,边框是我放置一个带有描边SolidColorDash的矩形的组。
我使用以下代码获取命中坐标:
var x:Number = target.x;
var y:Number = target.y;
当虚线接触三角形对象的边界时,它给出了x和y坐标,但是当虚线接触三角形对象的位图数据时,我想要坐标。
所以任何人都知道如何解决这个问题或者如何获得命中坐标。
答案 0 :(得分:1)
以下代码解决了我遇到真正碰撞的问题:
private var returnValue:Boolean;
private var firstPoint:Point;
private var secondPoint:Point;
private var firstRectangle:Rectangle;
private var secondRectangle:Rectangle;
private var firstObjectBmpData:BitmapData;
private var secondObjectBmpData:BitmapData;
private var firstOffSetMatrix:Matrix;
private var secondOffSetMatrix:Matrix;
public function testCollision(clip1:DisplayObjectContainer, clip2:DisplayObjectContainer):Boolean
{
returnValue = false;
firstRectangle = clip1.getBounds(clip1);
secondRectangle = clip2.getBounds(clip2);
if(secondRectangle.width != 0 && secondRectangle.height != 0 && firstRectangle.width != 0 && firstRectangle.height != 0)
{
firstObjectBmpData = new BitmapData(firstRectangle.width, firstRectangle.height, true, 0);
firstObjectBmpData.draw(clip1);
secondObjectBmpData = new BitmapData(secondRectangle.width, secondRectangle.height, true, 0);
secondObjectBmpData.draw(clip2);
firstPoint = new Point(clip1.x, clip1.y)
secondPoint = new Point(clip2.x, clip2.y)
if (firstObjectBmpData.hitTest(firstPoint, 255, secondObjectBmpData, secondPoint, 255))
{
returnValue = true;
}
}
return returnValue;
}