0

アニメーションを作成し (タイムラインを右クリックしてアニメーションを作成)、オブジェクト名を付けました。tank.stop() を呼び出すと、アニメーションは正常に停止します。ただし、tank.body.stop() を呼び出すと、機能しません。

オブジェクト名には、movieClip オブジェクト名とアニメーション自体の名前の 2 つがあります。すべてのパーツではなく、特定のパーツのアニメーションを停止する方法がわかりません。tank.animObjectName.stop() と書くとエラーになります。

// If I stop animating the main movieclip then all the child will stop 
// animating also
main movieclip ->
{ 

  head //how to stop animating head?

  body //how to stop animating body?

  legs //how to stop animating legs?


}
4

1 に答える 1

1

コンテキスト メニュー アニメーションから作成されるのは、AnimatorFactory クラスのインスタンスです。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/motion/AnimatorFactory.html

それらを制御 (開始/停止) する機能はありません。

ムービークリップ ツリーの従来のスキームを使用する必要があります。ルート - すべてのコンテンツを含むメイン ムービークリップ。すべてのアニメーション部分は、ルート クリップ内にアニメーションを含むムービークリップです。例:

tank (no animation, only child movieclips, 1 frame at all)
--body (movieclip with animation of body inside)
--weapon (movieclip with animation of gun inside)
--banner (movieclip with animation of banner inside)

本体を停止するには、tank.body.stop(); と記述します。本体は一時停止しますが、武器とバナーは再生されます。すべてのパーツを停止したい場合は、すべてのパーツに対して次のコマンドを記述します。

tank.body.stop();
tank.weapon.stop();
tank.banner.stop();

いくつかのアニメーションがあり、それらをムービークリップに変換したい場合:

  1. マウスでアニメーションのフレームを選択します。複数のレイヤーのフレームを同時に選択したり、SHIFT キーなどを使用したりできます
  2. コンテキスト メニューで [フレームのカット] を選択します
  3. ライブラリに新しいムービークリップを作成
  4. 最初のフレームを選択し、コンテキスト メニューで [フレームの貼り付け] を選択します。
  5. メインのムービークリップに戻り、必要に応じてレイヤーを作成します
  6. ムービークリップをライブラリ (手順 3) からフレームにドラッグし、適切な位置に配置します

たぶんもっと速い方法があるかもしれませんが、私はそれらを知りません...

于 2013-03-01T10:13:09.997 に答える