flashでjpg画像をloadmovieで読み込んでいます。それで、pictという名前のフォルダに、1.jpg 2.jpg 3.jpg
というように画像ファイルに名前をつけています。
actionscriptでフォルダの中の画像を
loadmovie("./pict/" + i +".jpg");
i++;
というようにして、5秒ごとに画像を入れ替えるようにしています。質問内容なのですが、画像がフォルダの中に入っている画像分終了したら、写真を入れ替えるloadmovieをとめたいのです。
現状では、もし画像が10枚だったら
if(i >= 11){
this.stop();
}
というようにif文使ってますが、ここの11と入れてるところを関数でひろいたいのです(フォルダに入っている画像の数を調べるスクリプトを教えていただきたいのです)。
そのような関数はございますでしょうか?もしくは同じようなことができる方法はありますでしょうか?
winXP、flashMX2004proです。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
#1です。
>> myListener.onLoadError = function() {
>> _root.gotoAndStop(36);
>> };
>> で、フォルダの中の画像がなくなったら、
>> 36フレーム目には飛んでいるようなんです、
>> traceを36に書くと表示されるので。
>> なぜtheEndが表示でないんでしょう?
まず訂正です。すみません。
書いていることと,スクリプトが一致してませんね。
質問者さまが気づかれた通り,
>> _root.gotoAndStop(36);
ですね。
先にスクリプトを作って,ココにコピペして,あとで説明を書いた物で,頭の中でかってにフレーム数が変わっていました。
--------------------------------
36フレーム目には飛んでいるようだけれども,表示されないというのは,スクリプトとは関係がないと思います。
考えられる原因は2つです。
1つめは,フレーム36 にも _root.myMC があるのではないでしょうか?
1.jpg,2.jpg,3.jpg… と読み込まれたあと,もし 5.jpg が無かった場合,ロード失敗でフレーム36に飛びますが,このとき失敗しているので,4.jpg の消えた残骸というか跡形は白で残ります。
その白の下に theEnd が書いてあったら,表示されていても見えません。
_root.myMC は フレーム35 まで存在させていてもかまいませんが,フレーム36 では消してください。
2つめは,ほとんど可能性がないことですが,
theEnd が書いてあるフレームが読み込まれる前に theEnd まで飛ばしたので,ムービーが停止してしまったということです。
でも2つ目は考えられませんね。
少なくとも 1.jpg があれば 3秒間くらいは時間稼ぎできていますから,その間に theEnd フレームまで読み込まれていますよね。
ハッキリした原因はわかりませんが,1つめに書いたのが原因ではないでしょうか?
それ以外だとわかりません。
#1で書いた物も,
説明と,スクリプトが一致していませんが,実際に作ってみたものを,説明してスクリプトもコピペしたものです。
最終フレームの The End も表示されました。
できたのですが、今回指摘されたこと 36フレームに_root.myMCがあるなど はなく、正直原因わかりませんでした。
flashmx2004を入れなおして少し直したらなぜか直ったんです。もう原因わかりません。
試しに、1フレームに var i = 0;
2フレーム目に trace(i);
として、NaNがかえってくることなんてありえます?!
ひとまず思ったとおりにはできましたのでとても感謝しております。いつもたすけていただいているような、sassakunさんには。。。多謝。
No.1
- 回答日時:
対象を FlashPlayer7 以上に限定するならば,
loadMovie ではなく,MovieClipLoaderを使えばファイルのあるなし判定ができます。
ムービー全体がどうなっているのかわかりませんが,
this.stop();
と書かれているところから考えて,タイムラインでスクリプトを書かれているのかなと推測しましたので,
勝手なサンプルとして回答すると,
36フレームのムービーを作成し。
フレーム1~35のステージ上には,「myMC」というインスタンス名のムービークリップを配置。
フレーム36は The End みたいな文字を書いたフレームを用意し,
---フレーム1のタイムラインのスクリプト--------
// MovieClipLoaderインスタンスの生成
var my_mcl = new MovieClipLoader();
// リスナーオブジェクト生成
myListener = new Object();
// ロードできなかったときの処理
myListener.onLoadError = function() {
_root.gotoAndStop(31);
};
// イベントリスナーの登録
my_mcl.addListener(myListener);
//変数 i の初期値を設定
var i = 0;
--------------------------------------
---フレーム2のタイムラインのスクリプト--------
i++;
my_mcl.loadClip("./pict/"+i+".jpg", _root.myMC);
--------------------------------------
---フレーム35のタイムラインのスクリプト--------
gotoAndPlay(2);
--------------------------------------
---フレーム36のタイムラインのスクリプト--------
stop();
--------------------------------------
とすると,
pictフォルダ内に,例えば 5.jpg がなかったとすると,
そこで The End フレームに飛びます。
詳しくは,ヘルプのActionScriptリファレンスで,「MovieClipLoader」を検索してみてください。
ネット上では下記URLが参考になると思います。
「MovieClipLoaderクラスについて」
参考URL:http://www.fumiononaka.com/TechNotes/Flash/FN050 …
この回答への補足
ありがとうございます。
大体うまくいったのですが、最後、36フレーム目のところにとんだあと、36フレーム目のオブジェクトが表示されません。
myListener.onLoadError = function() {
_root.gotoAndStop(36);
};
で、フォルダの中の画像がなくなったら、36フレーム目には飛んでいるようなんです、traceを36に書くと表示されるので。なぜtheEndが表示でないんでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
potplayerについて質問です
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
ad or script について
-
Flashplayerの運用について
-
VBAのコンボボックスの年月表示...
-
Adobe Flash Player
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
flashでjpg画像をloadmovieで読...
-
WEBブラウザの重複起動の禁止
-
フレームアクションについて。
-
コンテンツを閉じる動作
-
ボタンで別swfの任意のフレーム...
-
_parent.gotoAndStopコマンドに...
-
stopとgotoAndStopの違いについて
-
loadMovieで読み込んだswf
-
フラッシュ初心者ですが
-
【ActionScript】ムービークリ...
-
ActionScriptの基本的な部分で...
-
深い階層でのムービークリップ...
-
【ActionScript】命令文を再実...
-
ボタンとASが1フレーム目にない...
-
Flash Professional CS5
-
前後のフレームラベルへ再生、...
-
AS3.0で子MCから他の子MCの...
-
suzuka rollOverで画像が徐々...
-
Excel VBA SetFocus
-
ボタンの非表示
おすすめ情報