public function hitTestObject(obj:DisplayObject
):Boolean
Player 版本
: |
Flash Player 9 |
計算顯示對象,以確定它是否與 obj
顯示對象重疊或相交。
參數
|
obj:DisplayObject —
要測試的顯示對象. |
返回
|
Boolean — 如果顯示對象相交,則爲 true ;否則爲
false 。 |
以下代碼創建三個 Shape 對象,並顯示調用
hitTestObject()
方法的結果:
import flash.display.Shape;
var circle1:Shape = new Shape();
circle1.graphics.beginFill(0x0000FF);
circle1.graphics.drawCircle(40, 40, 40);
addChild(circle1);
var circle2:Shape = new Shape();
circle2.graphics.beginFill(0x00FF00);
circle2.graphics.drawCircle(40, 40, 40);
circle2.x = 50;
addChild(circle2);
var circle3:Shape = new Shape();
circle3.graphics.beginFill(0xFF0000);
circle3.graphics.drawCircle(40, 40, 40);
circle3.x = 100;
circle3.y = 67;
addChild(circle3);
trace(circle1.hitTestObject(circle2)); // true
trace(circle1.hitTestObject(circle3)); // false
trace(circle2.hitTestObject(circle3)); // true
碰撞檢測兩個影片
使用 hitTestObject 判斷兩個影片是否碰撞也許是最簡單的碰撞檢測方法。調用這個函數作爲影片的方法,將另一個影片的引用作爲參數傳入。注意,雖然我說的是影片,但這兩種方法都是 DisplayObject 類的成員,對於所有繼承自顯示對象類的子類,如 MovieClip, Bitmap, Video, TextField 等都可以使用。格式如下:
sprite1.hitTestObject(sprite2)
通常於在 if 語句中使用:
if(sprite1.hitTestObject(sprite2)) {
// 碰撞後的動作
}
更多詳情請點擊 http://blog.sina.com.cn/zhaojianjunzjj