回転に関する質問に答えるために、ムービークリップは、視覚的な中心ではなく、登録ポイントを中心に回転します。したがって、クリップを作成するときは、シンボル編集画面の十字線が中央に表示されていることを確認してください。十字線は登録ポイントであり、基本的に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
そして今、あなたの車はすべて、カエルに当たっているかどうかを自分でチェックする必要があります。
もう1つのオプションは、それぞれにクラスを使用するのではなく、それぞれの異なる車のムービークリップの最初のフレームにその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;
}
}