トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     MovieClipのcurrentFrameについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
adfacer
Åê¹ÆNo.50016
投稿日時: 2013-8-20 8:49
新米
居住地:
投稿: 3
使用環境:
MacOSX, FlashBuilder4.5
MovieClipのcurrentFrameについて
最近FlashBuilderを用いてFlashを勉強しています.

私の理解では,MovieClipはアニメーションなどを実行するときに使用するクラスで,Spriteを継承してフレームが存在すると思っています.例えば以下のようなコードを実行すると,私の予想ではフレームに入るたびにinitialEnterFrameHandlerが呼ばれ,その時にcurrentFrameがincrementされると思っていたのですが,ずっと1のままで変化しません.
コメントアウトしてある,nextFrame()などを呼び出しても同様です.

とある事情で,currentFrame==Xとなってから動作を開始する,ということが行いたいのですが,何か必要な設定などはあるのでしょうか?それとも,根本的な思い違いをしているのでしょうか?

------------------------------------------------------------
public class TestMovie extends MovieClip {
public function TestMovie() {
super();
addEventListener(Event.ENTER_FRAME, initialEnterFrameHandler);
}

private function initialEnterFrameHandler(e:Event):void {
trace("initial : " + currentFrame) ;
//nextFrame();
//stop();
}
}
}
------------------------------------------------------------

アドバイスなど,よろしくお願いいたします.
野中文雄
Åê¹ÆNo.50017
投稿日時: 2013-8-20 9:26
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: MovieClipのcurrentFrameについて
まず、Spriteクラスにはタイムラインがありませんので、currentFrameというプロパティは備わっていません。

つぎに、MovieClip.currentFrameプロパティは、タイムラインにおける現在表示しているフレームの番号を返します。「ずっと1のまま」なのは、タイムラインにフレームがひとつしかないからではないでしょうか。
引用:
adfacerさんは書きました:
最近FlashBuilderを用いてFlashを勉強しています.

私の理解では,MovieClipはアニメーションなどを実行するときに使用するクラスで,Spriteを継承してフレームが存在すると思っています.例えば以下のようなコードを実行すると,私の予想ではフレームに入るたびにinitialEnterFrameHandlerが呼ばれ,その時にcurrentFrameがincrementされると思っていたのですが,ずっと1のままで変化しません.


----------------
 

adfacer
Åê¹ÆNo.50018
投稿日時: 2013-8-20 10:20
新米
居住地:
投稿: 3
使用環境:
MacOSX, FlashBuilder4.5
Re: MovieClipのcurrentFrameについて
Fumio様

お返事ありがとうございます.

引用:

Fumioさんは書きました:
まず、Spriteクラスにはタイムラインがありませんので、currentFrameというプロパティは備わっていません。


すみません.書き方が曖昧でした.「MovieClipはSpriteを継承していて,Spriteには存在しないフレームが存在する」,という意味でした.

引用:

つぎに、MovieClip.currentFrameプロパティは、タイムラインにおける現在表示しているフレームの番号を返します。「ずっと1のまま」なのは、タイムラインにフレームがひとつしかないからではないでしょうか。



アドバイスありがとうございます.私の理解が足りないのは,タイムラインとフレームに関してのようです.追加の質問で恐縮ですが,フレームをAS3だけで追加することはできるのでしょうか?Flash CS系を使えば,GUIできそうだということは理解しましたが..

addFrameScriptなどを使うのでしょうか??

そもそもの概念(タイムラインやフレームなど)を間違って理解している可能性がありますが,ご了承ください...

よろしくお願いいたします.
野中文雄
Åê¹ÆNo.50022
投稿日時: 2013-8-20 23:35
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: MovieClipのcurrentFrameについて
現在、DisplayObject.enterFrameイベントのリスナーでアニメーションはできているのではないのでしょうか。それを、MovieClip.currentFrameプロパティが使いたいために、わざわざフレームごとのグラフィックイメージにバラそうというのですか。でしたら、オートマチック車で間に合っているのに、クラッチを操作したいからといってマニュアル車にしようというようなものです。本末転倒です。

Spriteクラスは、タイムラインが要らないとき、余計なメモリを費やさないように加えられたものです(「DisplayObjectインスタンスの種類と使用メモリ」参照)。DisplayObject.enterFrameイベントを変数で数えてもよいでしょうし、アニメーションが終わる条件を考えることもできるはずです。
引用:
adfacerさんは書きました:
アドバイスありがとうございます.私の理解が足りないのは,タイムラインとフレームに関してのようです.追加の質問で恐縮ですが,フレームをAS3だけで追加することはできるのでしょうか?Flash CS系を使えば,GUIできそうだということは理解しましたが..


----------------
 

adfacer
Åê¹ÆNo.50032
投稿日時: 2013-8-23 11:24
新米
居住地:
投稿: 3
使用環境:
MacOSX, FlashBuilder4.5
Re: MovieClipのcurrentFrameについて
Fumio様

どうやら根本的に勘違いをしていたようです.
私はFlashBuilderでアプリを作成しており,FlashBuilderではGUIでフレームを作成することができません.
よって,FlashBuilderで作成するアプリでは,たとえMovieClipを継承してもフレームは1つしか存在しないのだと思います.
FlashCS系であれば,フレームを追加できるので元々私が質問していたようなことができるのだ今は理解しています(確証はないですが)

FlashCS系でできることはFlashBuilderでできるはず,という思い込みがあったので,GUIでできないのであれば(タイムラインを扱うGUIがFlashBuilderにはないので)プログラムでできるに違いない,と考えたのがそもそもの間違いでした.

お騒がせして申し訳ありませんでした.


引用:

Fumioさんは書きました:
現在、DisplayObject.enterFrameイベントのリスナーでアニメーションはできているのではないのでしょうか。それを、MovieClip.currentFrameプロパティが使いたいために、わざわざフレームごとのグラフィックイメージにバラそうというのですか。でしたら、オートマチック車で間に合っているのに、クラッチを操作したいからといってマニュアル車にしようというようなものです。本末転倒です。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops