Flash AS3 學習13 …

hitTestObject () 方法  
public function hitTestObject(obj:DisplayObject ):Boolean
語言版本 :  ActionScript 3.0
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章