インスタンスを移動させる方法には、モーショントゥイーンとアクションスクリプトを使う方法の2つがあります。(他にもあるかもしれないけど知らないので。。。)ここでちょっと疑問に思ったことがあります。じゃー、1つのインスタンスに対して両方使ったらどうなるんだろう?例えば図のようにインスタンスが左から右に移動するようなモーショントゥイーンを作成します。このままムービーを再生するとインスタンスが左の位置まで行った後すぐにまた最初から再生が繰り返されます。
ここでムービーの1フレーム目に以下のアクションスクリプトを記述してみました。「mc」は図中の青四角のインスタンスです。(※モーショントゥイーンを作成したためキーフレームが2つあり、アクションスクリプトも2つ記述できることになります。ここでは移動中のフレームを選択してアクションスクリプトを記述します。また、今回は「タイムライン形式」でのアクションスクリプトを使用します。)
ここでムービーの1フレーム目に以下のアクションスクリプトを記述してみました。「mc」は図中の青四角のインスタンスです。(※モーショントゥイーンを作成したためキーフレームが2つあり、アクションスクリプトも2つ記述できることになります。ここでは移動中のフレームを選択してアクションスクリプトを記述します。また、今回は「タイムライン形式」でのアクションスクリプトを使用します。)
mc.addEventListener(Event.ENTER_FRAME,main); function main(e:Event):void{ mc.rotation += 5; }結果はどうなるのでしょうか。回転しながら右に移動してほしいところですが、そう単純ではないようです。インスタンスはその場で回転を始めてしまいました。そしていつまで経っても移動しようとはしません。どうやらENTER_FRAMEイベントがアクションスクリプトで処理されている場合にはモーショントゥイーンは処理されないようです。もちろん別のインスタンスのモーショントゥイーンは通常通りに処理されます。