はじめまして、質問させていただきます。
flashで、いくつかのムービークリップをランダムに表示させようとしています。
いろいろ調べてみて、swfファイル単体では表示させれるようになったのですが、なぜかhtmlで出力させようとすると何も表示されなくなってしまいます。タグが間違ってるのかと思って他のフラッシュでも試してみたのですが、このフラッシュだけが表示されません。
ためしにバージョンアップもしてみましたがダメでした。
よろしかったらご回答お願いします。
htmlに貼り付けたタグ
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cab …
WIDTH="300" HEIGHT="300">
<PARAM NAME=movie value="img/top/random.swf">
<PARAM NAME=quality value=high>
<PARAM NAME=bgcolor VALUE=#ffffff>
<PARAM NAME=loop value=true>
<PARAM NAME=wmode VALUE=transparent>
<EMBED src="img/top/random.swf" quality=high
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/ind … type="application/x-shockwave-flash"
WIDTH="300" HEIGHT="300" loop=true>
</EMBED>
</OBJECT>
フラッシュのスクリプト
1フレーム目に画像を置かずにフレーム自体に
gotoAndStop(2 + random ( 4 ));
2フレーム~5フレームにムービークリップ
No.1ベストアンサー
- 回答日時:
Flash はバージョンがわからないと回答できない部分が多いのですよ。
仕様やスクリプトも,作るべきムービー自体の構造も変わるので。
質問する場合は,
わざわざバージョンを隠すのではなくて,なるべく書くようにしてください。
まず,本題とはあまり関係のない部分からですが,
random関数は Flash 4 以前の関数です。
しかし,書かれている文型は Flash 5 以降の文型です。
Flash 5 以降のバージョンをお持ちであるか,
または,
Flash Lite(携帯用Flash)1.0 ,1.1 にパブリッシュするのではない場合は,
random関数の使用はさけて Mathクラスの randomメソッド を使うようにしましょう。
Flashドキュメンテーション (Flash 8 のヘルプ)
「random 関数」
http://livedocs.adobe.com/flash/8_jp/main/000017 …
~引用~
> Flash Player 5 以降では使用しないでください。
> この関数の代わりに Math.random() を使用します。
「Math.random() でランダムな整数を取得する方法」
http://www.adobe.com/jp/support/flash/ts/documen …
したがって,ここまでで,次のように変更されます。
gotoAndStop(2 + random ( 4 ));
↓ 変更 ↓
gotoAndStop(2+Math.floor(Math.random()*4));
次に本題ですが,
Flash の SWF ファイルは基本的にストーリーミング再生されます。
特別なことをしないかぎり,
フレーム1 から順次ロードされて,
ロードをしながらそれと並行して再生もされます。
無茶な gotoAndStop() などをしない普通に流れるアニメーションの場合,
このストリーミング再生に関してはあまり気にする必要もないのですが,
ご質問の場合は無茶な gotoAndStop() をしているので,
この点に気を付けなければなりません。
ロードが完了していないフレームにいきなりジャンプしようとしても,
ロードされてしていないのですから表示されるはずがありません。
ロードが完了していないフレームにいきなりジャンプすると,
真っ白な画面で止まったままになってしまいます。
ですから,
フレーム1が読み込まれる
→フレーム1が再生される
→全てのフレームが読み込まれるのを待つ
→読み込まれてからジャンプ
という読み込み待ち処理を入れなければなりません。
簡単には,
次のようにします(Flash MX 以降のバージョンで使えるスクリプトです)。
-------------------------------------------------
// とりあえずストップ
stop();
// 1フレーム進む時間ごとに繰り返し実行
_root.onEnterFrame = function() {
// 読み込まれた容量/全体の容量 が 1 以上になれば
if (_root.getBytesLoaded()/_root.getBytesTotal()>=1) {
// フレーム2 ~5 にランダムジャンプ
gotoAndStop(2+Math.floor(Math.random()*4));
// この _root.onEnterFrame を削除
delete _root.onEnterFrame;
}
};
-------------------------------------------------
しかし,このままだと,
何もない(何かあっても)フレーム1でしばらくストップします。
そこで,よく見かける,「Now Loading...」 と表示されてバーが動く物や,
「読み込み中」が点滅するようなものを表示させて,
見てもらう側に「故障ではないという表明」や「暇つぶしのサービス」をする必要が出てくるのです。
ローディングバーなどの作り方やサンプルは,
適当に検索して良い物や好みの物を見つけてください。
http://www.google.co.jp/search?hl=ja&q=NowLoadin …
的確なご回答有難うございました。
flashのバージョンはMX proの7.0.1でした。
頂いたスクリプトを埋め込んだら表示されるようになりました。
gotoAndStopでただ飛ばせばいいというわけではないのですね。
とても参考になりました。有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
suzuka rollOverで画像が徐々...
-
フレーム内に移動したい
-
エクセルVBA読み込みアドレスの...
-
cookieの保存について
-
ドキュメントサイズの変更
-
メガネのフレームの買い取りに...
-
スライドプレゼンテーション機...
-
MacBook Airで作成するトレス動...
-
静止画をmov形式で保存する方法
-
円を描くように動くアニメーシ...
-
Flash Liteで作成したFlash待ち...
-
iframeはSEO的に不利になる?
-
2倍速を等速動画に(車載動画)
-
【C++】IDirect3DSurfaceのディ...
-
マイナンバーカードや免許証の...
-
メモリに読み込んだ音源のPlayS...
-
Flashゲームのセーブ機能の作り方
-
スクリプトが何に記述されてい...
-
Kiss DN AFフレームを非表示に...
-
オプションボタンを矢印キーで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WEBブラウザの重複起動の禁止
-
JavaScriptからsetVariable()で...
-
時刻の設定と取得について
-
FLASH LITE1.1のテキスト入力に...
-
FlashLite1.1でのランダム表示...
-
Excel VBA SetFocus
-
Flash lite1.0で カウントダウン
-
Flash lite1.0の計算クイズ
-
Suzukaで時計のflashを作成し、...
-
_parent.gotoAndStopコマンドに...
-
二択のフレーム移動
-
FLASH上でインラインフレームみ...
-
フレーム内に移動したい
-
ドロップフレームの計算をエク...
-
Access2010でサブフォームのフ...
-
phpで音を鳴らす
-
フレーム内のオプションボタン...
-
【C#】wavファイルの複数同時再生
-
VB6のスクロールバー付きフレー...
-
C#でDLLファイル読み込みを行う...
おすすめ情報