0

過去数時間、これを行う方法を探していましたが、運がありませんでした。まず第一に、私は AS が初めてで、何を検索すればよいかわかりません。

だからここに私が持っているものとやりたいことがあります:ステージには1つのフレームしかなく、ステージには1つのボタン(b1)、表示されない1つのムービークリップ(領域)、およびアニメーションである1つの表示されるムービークリップがあります20コマ(アニ)。ボタン「b1」を押すと、ムービー「アニ」が開始され(ムービーは最初に停止します)、フレーム20に到達すると停止します。今、私が欲しいのは、ムービークリップを作成する最後のフレームに到達したときです」領域" 見える。私は「ani」内でフレーム 20 にいるため、area.visible = true; を直接使用することはできません。「未確認のプロパティ領域へのアクセス」というエラーが表示されるためです。他のオブジェクト内から「エリア」のプロパティにアクセスするにはどうすればよいでしょうか?

4

2 に答える 2

0

私はあなたが言ったことすべてを完全に理解しているとは思いませんが、あなたがやりたいことは、アニとエリアの両方がスコープを持つステージで次のようなことだと思います:

ani.addEventListener(Event.ENTER_FRAME, frameCheck);

function frameCheck(e:Event):void
{
   if (ani.currentFrame == ani.totalFrames)
  {   
      ani.removeEventListener(Event.ENTER_FRAME, frameCheck);
      area.visible = true;  
  }
}

これは、アニが最後のフレームにヒットしたことを検出し、適切に処理する方法のほんの一例です。

ボタンが押されるたびにイベントリスナーを追加する必要があります。

于 2013-03-30T03:31:43.007 に答える
0

あなたの "ani" MovieClip(最後のフレーム) 内に、次の文を追加します。

MovieClip(this.parent).area.visible = true;

これparentがメインのタイムラインです。

(注: この方法はお勧めしません)。

代わりに、外部クラスのアプローチを使用してください。たとえば、Loaderクラスを使用して、アニメーション化された SWF をCOMPLETEイベントとともにロードしcontentLoaderInfo、SWF オブジェクトを取得して、最後のフレームを検出し、領域をMovieClip可視化します。

于 2013-03-30T08:09:18.397 に答える