回答有關旋轉的問題,影片剪輯圍繞其註冊點旋轉,而不是圍繞其視覺中心旋轉。因此,當您創建剪輯時,請確保符號編輯屏幕上的十字線出現在中心。十字準線是註冊點,它基本上定義了剪輯上x:0,y:0的位置。
這聽起來像是你的問題真的是關於如何使用hitTest來查看青蛙是否碰到過任何一輛汽車,而不管哪一輛,舞臺上有多少人等。所以我要做的是創建一個類對於帶有一個靜態成員的汽車,它可以是指向青蛙的指針,然後讓班級檢查它是否擊中青蛙。
於是開始了:
public class Car extends MovieClip{
public static var frog:MovieClip;
private var interval;
public function Car(){
super();
interval = setInterval(checkHit,500);
}
private function checkHit(){
if(this.hitTest(frog)){
trace("the frog hit the car");
clearInterval(interval);
//do what you need to do when the frog gets hit
}
}
}
對於每個單獨的車,可以延長汽車類:
class Truck extends Car{
public function Truck(){
super();
}
}
class Volkswagen extends Car{
public function Volkswagen(){
super();
}
}
class Bus extends Car{
public function Bus(){
super();
}
}
創建單獨的類之後,使用鏈接上你的庫符號每輛車。 (右鍵單擊符號,選擇「鏈接」,然後在「類」字段中鍵入您的類名稱)。
最後,青蛙成員設置爲你的青蛙在舞臺上
var frog:MovieClip = attachMovie("frog_mc", frogMC, _root.getNextHighestDepth())
Car.frog = frog; //set the static var "frog" to your frog instance
現在你的車都應該檢查自己的,無論他們打的青蛙。
的另一種選擇是代碼中的每個不同的汽車的movieclip的第一幀上checkHit()函數,而不是使用類爲每個:
this.onEnterFrame = function(){
if(this.hitTest(_root.frog)){
trace("the frog hit the car");
//do what you need to do when the frog gets hit
delete this.onEnterFrame;
}
}
感謝。排隊人員已經表示,只有背景可以在舞臺上,這意味着所有的汽車都在圖書館。 – KdgDev 2009-05-04 14:36:22