FLASHのムービー制御に関するエラーを解決したい

このQ&Aのポイント
  • FLASHのムービー制御に関するエラーについてご指摘お願いします。
  • 「bottan2」を押すとError opening URL/~/~0NaN.jpgと表示されてしまいます。
  • ムービーの読み込みや削除、連番での読み込みに関するスクリプトが正しく機能していないようです。
回答を見る
  • ベストアンサー

FLASHのムービー制御

「screen」というインスタンスがあり、 そこに「bottan1」を押すとムービーを読み込み、    「bottan2」を押すとscreenのムービーを削除し、 画像「01.jpg」を読み込み、再度押すと02→03・・・という風に 連番で読み込み03まで行くと01.jpgに戻るというスクリプトなんですが 「bottan2」を押すと Error opening URL/~/~0NaN.jpgと表示されてしまい、 エラーになってしまいます。 bottan2のアクションが、↓ on (press) { slide += 1; if (slide >= 4) { slide -= 3; } } on(release) { with(this.screen) { unloadMovie(); loadMovie("0"+slide+".jpg"); } } です。ご指摘お願いしたいと思います。

noname#35272
noname#35272
  • Flash
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.1

1 JPEG が SWF やそれを貼り付ける HTML と   同じディレクトリにあって, 2 ボタンがボタンシンボルのインスタンスで   (ムービークリップではないということ), 3 ボタンとscreen というインスタンス名の ムービークリップ が    _root のタイムライン(メインのステージ上)にあった場合, 4 なおかつ,Flash Player 6 か 5 にパブリッシュした場合, 書かれているスクリプトでうまく行きますよ。 つまり,上の4つの条件が満たされていたらうまく行くと思います。 つまり,上の4つの条件のうち1つでも満たされていなければうまく行きません。 Flash MX 2004 以降(Flash 8 も含む)をご使用でしたら, 条件4はデフォルトでは成立しません。 _root のタイムラインのフレームに(フレーム1にでも), slide = 0; を追加してみてください。 Flash MX 2004 以降は, on (press) { slide += 1; … … といきなり,定義もしていない 変数slide に 1 を加算しても, slide は存在しませんから,1を加算できません。 一番可能性があるのが,この条件4ですが, それでもダメな場合,他の条件もチェックしてください。 ==================== なお,上記とは関係がありませんが, slide を on (press) で加算して, on (release) でロードするのは確実性が低くなりますから, 1つにまとめる方が良いと思います↓。 ---------------------------------- on (release) { slide += 1; if (slide>=4) { slide -= 3; } with (this.screen) { unloadMovie(); loadMovie("0"+slide+".jpg"); } } ---------------------------------- もしくは,分ける場合は, on (release) だけでは不十分ですから, on (release, releaseOutside) にする方が良いと思います↓。 ---------------------------------- on (press) { slide += 1; if (slide>=4) { slide -= 3; } } on (release, releaseOutside) { with (this.screen) { unloadMovie(); loadMovie("0"+slide+".jpg"); } } ---------------------------------- なお, loadMovie で,同じインスタンスに外部ファイルを読み込む場合, unloadMovie(); をしなくても,自動的に unloadMovie(); されますから, 特に unloadMovie(); は必要ないと言えば必要ありません(当然あっても良いです)。

noname#35272
質問者

お礼

パブリッシュの設定でうまくいきました! バージョンによってスクリプトの変数の書き方が違うなんて気付きませんでした。丁寧で的を得た回答ありがとうございました!

関連するQ&A

  • loadMovie()を組み込んだswfファイルをさらに別のswfファイルで読み込みたい。

    ActionScript初心者です。よろしくお願いいたします。 掲題の通りなのですが、外部のjpgファイルをloadMovieで読み込むswfファイルを、さらに別のswfファイルで読み込みしようとすると、jpgが表示されずに困っています。具体的には以下の通りです。 (1)jpgファイルを読み込むswfファイルについて ・ファイル名:「sub_screen.swf」 ・ムービークリップシンボル(インスタンス名"PHOTO_STAGE")に外部のjpgファイルを読み込ませるために、ボタンに以下のスクリプトを記述 "on(release){loadMovie("photo1.jpg",_root.PHOTO_STAGE);}" ・「sub_screen.swf」及び「photo1.jpg」は同一フォルダに保存 (2)sub_screen.swfを読み込むswfファイル ・ファイル名:「main_screen.swf」 ・ムービークリップシンボル(インスタンス名"STAGE")に「sub_screen.swf」を読み込ませるべく、ボタンに以下のスクリプトを記述 "on(release){loadMovie("sub_screen.swf",_root.STAGE);}" ・「main_screen.swf」、「sub_screen.swf」及び「photo1.jpg」は同一フォルダに保存 以上のような条件で「main_screen.swfファイル」を実行すると、jpgファイルだけが表示されません。(sub_screen.swfのボタン等は表示されます。)2重にloadMovieを実行することは不可能なのでしょうか? ご協力をお願いします。

  • loadMovie の拡大縮小

    初めまして、ActionScript についてご質問があります。 loadMovie で外部ファイルのswfを、ムービークリップ「screen」で表示させています。 ボタンで以下のActionScriptを使って、 「screen」を拡大縮小しようと思っております。 on(release){ screen._xscale *=1.2; //幅を1.2倍に拡大 screen._yscale *=1.2; //高さを1.2倍に拡大 } on(release){ screen._xscale /=1.2; //幅を1/1.2倍に縮小 screen._yscale /=1.2; //高さを1/1.2倍に縮小  } これだと無限に拡大縮小ができてしまいます。 上限下限を設定することは可能でしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • ムービークリップのボタン化

    menu01_mcというムービークリップをボタンにしたいのですが、 ボタン自体に on (release) { _root.photo_mc.loadMovie("1.jpg"); } と書くと正常に動くのですが、 タイムライン上に menu01_mc.onRelease = function(){ _root.photo_mc.loadMovie("1.jpg"); } と書くと動きません。 どのようにすればいいのでしょうか? わかる方教えてください。よろしくお願いします。

  • flashのloadmovieについて

    はじめましてryoといいます。 loadmovieで読み込んだswfファイルの位置は、 どうやって指定すればいいのでしょうか。 今のところ ボタンを作ってそれに on (release) { loadMovieNum ("optest.swf", 7); } このスクリプトを入れただけです。 あらかじめ用意しておいたムービークリップにサイズを合わせていたので そこに置きたいのですが、script記述がわかりません。 mcにインスタンス名は付けた方がいいのでしょうか。 よろしくお願いします。

  • FLASH外部テキスト読込 タグを読まない

    FLASHの外部テキスト読み込み お世話になります。 アクションスクリプトがあまり分かりません(^^;) FLASH MXの外部読み込みで質問があります。 ボタンクリックで外部テキストとjpgを読み込みたいのです。 Scrollber(コンポーネント)のtarget TextFirldに ダイナミックテキストのインスタンス名を入れると スクロールはするのですが、txtファイル内のタグが 露出してしまいます。 target TextFirld、ダイナミックテキストからそれらを 除くとタグは効くようになるのですが、今度は長文でも スクロールバーが動かなくなります。 ◆ステージの1フレーム目 -------------------------------------- System.useCodepage = true; disp.condenseWhite = true; loadVariables("text/01.txt", "bun"); loadMovie("img/a.jpg", "jpeg"); ◆テキスト1ボタン -------------------------------------- on (press) { loadVariables("text/01.txt", bun); loadMovie("img/a.jpg", jpeg); } ◆テキスト2ボタン -------------------------------------- on (press) { loadVariables("text/02.txt", bun); loadMovie("img/b.jpg", jpeg); } ◆ムービークリップ名:jpeg ◆ダイナミックテキストインスタンス名:bun タグが効くようになるにはどうすればよいでしょうか? どうぞよろしくお願いしますm(_ _)m

  • Flash5のloadMovieについて

    FLASHを勉強し始めましたが、本を見ながらやってもどうしても上手く いきません。 したい事は、同じ画面の右側にボタンを配置し、クリックするとその左側にある 四角の枠内に違うムービーファイルを表示させたいんです。 でも、全然違うところに表示されちゃって・・・。 ・ソフトはFLASH5 ・アクションは、 on (press){ _root.インスタンス名.loadMovie("他のムービーファイル名.swf") ; } (同じディレクトリに、ファイルは保存してあります) どうしてでしょうか??教えてください!

  • 外部jpgを表示できません。

    勉強はしているものの、なかなか理解に苦しんでいる初心者です。 左右にスクロールする mc(picg)の中に外部jpgの小さい画像を表示するための mc(pics0~pics9) があり、 この(pics0~pics9)のmcを押すと、別に設置したmc(screen)に外部jpgの大きな画像が表示されるというのを作っています。 大きい外部jpgの表示はなんとかできたのですが、(pics0~pics9)に小さい画像を表示することができません。 どなたかご教授の程よろしくおねがいいたします。 例 pics0 の script です。 onClipEvent(enterFrame){ loadMovie("pics0.jpg","_root.picg.pics0"); } on (release) { loadMovie("picl0.jpg", "_root.screen");  } on (rollOver) { _parent.fScroll = false; } on (rollOut) { _parent.fScroll = true; }

    • ベストアンサー
    • Flash
  • FLASHの外部SWFファイルの読み込み方法

    FLASHのアクションスクリプトの勉強中です。 外部SWFファイルを複数用意してボタンで呼び出す方法はわかったのですが、その読み込まれ方をかっこよくできないか考えています。 何個かSWFファイルを作成した後、新規FLAファイルを作成しました。 そのファイルにスクリーン用のシンボル(上のSWFファイルと同じ大きさのもの)を作成しインスタンス名を「screen」にしました。 ほいでもって複数のボタンシンボルを作成し、 on (release) { _root.screen.loadMovie("pekepke.swf"); } という感じで外部swfファイルをそれぞれのボタンより読み込むとこまではできたのですが、その読み込まれ方と切り替るときの表示の仕方をふわっと現れ、ふわっと消えてからファイルが現れるというふうにしてみたいのですができますでしょうか? ちなみにflash8を使用しております。ヒントでもいただけるとありがたく思います。

  • 外部画像jpg又はswfの表示について

    はじめまして、こんにちは。 Flash初心者です。 [使用環境] Flash MX 2004 Win 2000 [質問] 1フレーム目にはslide1.○○○、2フレーム目にはslide2.○○○、 3フレーム目にはslide3.○○○といったふうに画像をnextボタンと backボタンを使って切り替わるようなものを作っています。  ※○○○にはjpg又はswfが入ります。 +――――――――――――――――――+ | +―――――――+  +――――+ | | |           |  |back   | | | |           |  +――――+ | | | picture     |            | | |           |  +――――+ | | |           |  |next    | | | +―――――――+  +――――+ | +――――――――――――――――――+ ・外部画像を読み込んで表示するには「 picture.loadMovie("slide1.jpg"); 」又は、  「 picture.loadMovie("slide1.swf"); 」で表示できます。 ・slide1はjpgかswfのどちらかのファイルしかなく、shile2、slide3も同様です。 ・1フレーム目がswfの場合「 picture.loadMovie("slide1.swf"); 」、  2フレーム目がjpgの場合「 picture.loadMovie("slide2.jpg"); 」  というように拡張子を指定してスクリプトを書くのではなく、  条件式を使って画像を表示するにはどうすればよいのでしょうか。 ・もしくは、エラーを無視して次の行へいくというプログラムはあるのでしょうか。 どなたか分かるようでございましたらご教示下さい。お願いします。

    • ベストアンサー
    • Flash
  • thisをインスタンス名に変えたらムービーが動かない

    Flash8です。タイムライン上に、 ボタン(インスタンス名 b1_btn) と ムービークリップ(インスタンス名 test_mc) を配置しました。 次に、このボタンインスタンスに以下のイベントハンドラを記述しました。 ----------------- on (press) { this.stop(); } ----------------- 実行すると、ボタンを押せばムービーが停止します。 で次に、上記の記述を以下のように変えます。 ----------------- on (press) { test_mc.stop(); } ----------------- 実行すると、ボタンを押してもムービーが停止しません。 なにがイケないのでしょうか?

専門家に質問してみよう