0

Movieclipコンテナで2つの図形をラップしたとします。ある形状が別の形状の上にあるかどうかをどのように検出できますか?より正確には、1つの形状が他の形状の一部/すべてを覆っているかどうか。

これまでは両方の形状の座標を比較することで何とかできましたが、組み込み関数やもっと簡単な方法があるのではないかと思います。ありがとう

4

3 に答える 3

2

DisplayObject.hitTestObject(obj:DisplayObject):ブール値

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html#hitTestObject()

より細かいヒットテストが必要で、BitmapDataオブジェクトを処理する意思がある場合(BitmapData.draw(dispObj)を使用してDisplayObjectをBitmapDataに描画できます)。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html#hitTest()

于 2012-06-26T18:22:56.403 に答える
2

これを行うには、いくつかの方法があります。

flash.display.DisplayObject.hitTest()

また

flash.display.DisplayObject.getRect()

例:sprite1.getRect(stage).intersects(sprite2.getRect(stage));

于 2012-06-26T18:24:08.507 に答える
1

hitTestObjecthttp://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html#hitTestObject%28%29を使用できます

trace(shape1.hitTestObject(shape2));

ただし、オブジェクトの境界だけが重なっている場合、これは単純なテストであることに注意してください。ピクセルパーフェクトな衝突テストが必要な場合は、 http: //www.freeactionscript.com/2011/08/as3-pixel-perfect-collision-detection/などのサードパーティライブラリを使用する必要があります。

于 2012-06-26T18:26:05.567 に答える