paraflaのアクションスクリプトについて

このQ&Aのポイント
  • paraflaで連続表示されている画像を停止させてから特定の機能を呼び起こす方法について教えてください。
  • おすすめのスクリプトの書き方や改善点についても教えていただけると嬉しいです。
  • paraflaを始めたばかりでまだ難しいですが、楽しいです。アドバイスがあればお願いします。
回答を見る
  • ベストアンサー

paraflaのアクションスクリプトについて。

paraflaのアクションスクリプトについて。 paraflaで、10枚の画像をループで連続表示して、 一度enterでどれかの画像でstopさせてから さらにもう一度enterでその画像に絡めた機能を呼び起こしたいんですが、 スクリプトの書き方がわかりません。 同じボタンで一回目は停止、二回目に実行という書き方を教えて頂きたいです。 まだflash始めたばかりで。。。難しいですが楽しいですね。 どなたかアドバイスありましたら宜しく願い致します。 ちなみに今こんな感じです。 例えば5枚目の画像の場所に on(keyPress "<Enter>") {実行する内容;} - on(keyPress "<Down>") {gotoAndPlay("3");} これだとenterで停止しないでいきなり実行。。。 Downはループ再開です。 いきなり実行でも良いのですが、 理想は一回停止してその画像を表示させて 違ったらDownでループ再開って感じを目指しています。 なにをどう足せばそうなるのでしょうか? 宜しくお願い致します。

  • Flash
  • 回答数1
  • ありがとう数4

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

> 同じボタンで一回目は停止、二回目に実行という書き方 「フラグとなる変数(または数値カウント用の変数)」 を用意して <Enter> を押す度にその変数の値を変えると同時に その変数の値によって動作を切り替えれば良いと思います。 日常生活に喩えると  居酒屋にのれんを準備  店先にのれんが出てる    →営業中(店に入ろう)  店先にのれんが出ていない    →準備中(家に帰ろう) みたいな感じです。 ===具体例============ メインの階層のフレーム1に 10枚の画像を入れた内部が10フレームの「pic_mc」というインスタンス名を付けたスプライトと ボタンを用意したとします(【下の図↓】 参照のこと)。 そのメイン階層のフレーム1に書くスクリプト例↓ ----------------- //この階層の再生を停止 stop(); //変数 flg の値を false にしておく flg = false; ----------------- そのメイン階層のフレーム1に置いたボタン書くスクリプト例↓ ----------------- on(keyPress "<Enter>") { //もし変数 flg の値が false であれば if(!flg){ //「pic_mc」の再生を停止 pic_mc.stop(); //変数 flgの値を true にする flg = true; //それ以外 (変数 flg が true) であれば }else{ //この階層をフレーム3から再生 gotoAndPlay(3); //変数 flgの値を false にする flg = false; } } ----------------- 基礎的な説明として... true や false をブール値(Boolean) と言います。 真or偽 のように表裏しかない値です。 if(○○){△△} は if文 ですが この if(○○){△△} は ○○ の部分が true[真] であれば △△ を実行せよ という文です。 「!」 は論理否定(NOT)演算子 です。 したがって上記スクリプトにある if(!flg){△△} の場合は 「flg の値が true でなければ △△ を実行せよ」 という意味になります。         > その画像に絡めた機能を呼び起こしたい それは状況によるので具体案は書けません。 上の場合だと 「変数 flg の値が true であって pic_mc 内のフレームが 1 のとき…」 みたいな感じでできるかも(できないかも)しれません。  …略… //それ以外 (変数 flg が true) であって }else{ //もしpic_mc内のフレームが1であれば if(pic_mc._currentframe == 1){ //この階層をフレーム3から再生 gotoAndPlay(3); //もしpic_mc内のフレームが2であれば }else if(pic_mc._currentframe == 2){ //この階層をフレーム13から再生 gotoAndPlay(13); //もしpic_mc内のフレームが3であれば }else if(pic_mc._currentframe == 3){ //この階層をフレーム22から再生 gotoAndPlay(22);  …略… 上記の最初のスクリプトを動作検証するために試作したPFLの イベントリスト と スクリプトエディタ の様子↓

skytomato
質問者

お礼

おそろしく返信が遅くなりすみませんでした。 回答があったことに気がつかず、質問の整理をして気付きました。 今更で大変申し訳ありません。 参考になりました! ありがとうございました。

関連するQ&A

  • 【FLASHLite】ボタンが上手く動きません。

    FLASHCS3で携帯用コンテンツを作っています。 ボタンを上下キーで選択して 決定キーを押すと、 以下のように指定したフレームまで飛ぶようにしてあります。 *1つめのボタン on (keyPress "<Enter>") { gotoAndPlay (19); } *2つめのボタン on (keyPress "<Enter>") { gotoAndPlay (41); } *3つめのボタン on (keyPress "<Enter>") { tellTarget ("/") { gotoAndPlay (6); } } しかし、2つめのボタンを押しても、3つめのボタンを押しても、 1つめのボタンと同じ19フレームに飛んでしまいます。 説明が下手ですみません。 どうしたら、それぞれのボタンが上手く機能するのでしょうか? 教えて下さい! よろしくお願いします。

  • 2回ループさせるアクションスクリプトについて

    教えてください! flashをあまりつかったことがないのですが、事情でflashを使ったバナーを作っています。2回ループさせて停止にしたいのですが、どんなアクションスクリプトを書けばいいのでしょうか? ネット上で調べてみたのですが上手く探せません。 宜しくお願いします!

  • 携帯用Flashコンテンツ作成しているんですが…FlashLite1.1 上下キーのイベントについて。

    はじめまして。初めて投稿します。 環境:WindowsXP/Flash MX Pro 2004 携帯用のFlashサイトを作成しているのですが…どうしても上下キーのイベントがうまくいきません。インタラクティブ再生で他のキーイベントは動くんですが上下キーだけ動かず困っています。DoCoMoのシュミレーターやauの携帯で再生しても動かず、Web上からでも動きません。いろいろ原因を探し回ってるんですがわからず投稿しました。 下記のようにスクリプトを書いてるのですが…何がいけないんでしょうか?携帯での上下キーは動かないようなことも他のサイトで見たのですが、もしそうであれば動く方法があればおしえてください。 on (keyPress "<Up>") { gotoAndPlay("10"); } on (keyPress "<Down>") { gotoAndPlay("02"); } gotoAndPlayの飛ぶ先をフレームやシーンでやってもダメでした。スクリプトがいけないのか初めから作り方が悪いのかもわからないので回答お願いします。

    • ベストアンサー
    • Flash
  • 携帯FLASHのスクリプト

    アクションスクリプト初心者です、質問よろしくお願いいたします。 ランダムでまばたきするなどの簡単なループアニメをflash4(MX)で書き出して、携帯で観覧できるアニメーションを作っています。 アクションスクリプトの勉強も兼ねて、そのループアニメに「1」ボタンを押すと花がフェードインして消える、と言ったボタン対応のアニメーションに挑戦中です。フレーム1でstopさせて、フレーム2にそれぞれインスタンス名をつけたシンボルを設置させています。ボタンにはこんな風に書いてみました↓ on (keyPress "1") { _root.hana.play(); } on (keyPress "2") { _root.hoshi.play(); } on (keyPress "3") { _root.heart.play(); パソコン上ではちゃんと動いてくれたのですが、flash4では対応していないスクリプトがあるようで携帯では動いてくれませんでした。 そこでお教え頂きたいのですが、このようなボタン(キー)に反応したアニメを作る場合flash4(flash lite)ではどのようにスクリプトを書いたらいいのでしょうか…? 携帯向けフラッシュを作成された事のある方、FLASH4に詳しい方、どうかご教授よろしくお願いいたしますm(__)m

    • ベストアンサー
    • Flash
  • suzukaのスクリプトで

    suzukaでFlashを制作しております。 プログラムはさっぱりなので検索して出てきたactionscriptを切り貼りして試している状況です。 その1.フレームアクションにおいて、キーを押したら特定のフレームまで移動するスクリプトを入れたいので20フレーム目に以下のスクリプトを入れたのですが、どちらも使えませんでした。具体的な解決策はありますでしょうか。 ●[parse error]とエラーが出る this.stop(); on(keyPress ("a")){ _root.gotoAndPlay(21); } ●キーを押しても何も起こらない this.stop(); if(Key.isDown(Key.RIGHT)){ _root.gotoAndPlay(21); } else if(Key.isDown(Key.LEFT)){ _root.gotoAndPlay(31); } その2.フレームアクションの10フレーム目に this.stop(); buttonA.onPress=function(){ _root.gotoAndPlay(11); }; とボタンのスクリプトを入れると、 どこのフレームまで移動しようが 同じボタンへの命令で上書きするまで このボタンへの効果が持続されてしまうのですが、 押した瞬間に後に命令を引き継がせないスクリプトの記述はありますか?

    • ベストアンサー
    • Flash
  • FLASHでドロップダウンメニュー(ParaFla使用)を作成しているのですが、うまくいきません。

    ParaFlaを使用してドロップダウンメニューを作成しようとしているのですがうまく動作させられません。 ご教示いただきたく思い質問させていただきます。 下のサイトのようなメニューを目指しています。 http://www.hack.channel.or.jp/ まず、大きなメニュー(上のサイトで言うとNews・The Worldなど)があって それに触れると画像が変化し、小さいメニュー(The Worldとは?・時代設定など)が表示され、 その小さいメニューに触れると大きくなって、クリックでURLを取得。 というものです。(説明下手ですみません) 実際に作ってみている物は (1)ルートにスプライトAを置き、クリップアクションに on(rollOver){gotoAndPlay("over");} - on(rollOut,ReleaseOutside){gotoAndPlay("out");} を記入。 (2)スプライトAにover・outラベル設定して 大メニューに触れたら子メニューが開くようにできました。 (3)しかし、そのままでは子メニューの「触れたら滑らかに大きく」を実行できないので、子メニュー1つ1つをスプライトに置き換え、 on(rollOver){gotoAndPlay("over2");} - on(rollOut,ReleaseOutside){gotoAndPlay("out2");} - on(Release){gotoAndPlay("release2");} とクリップアクション記入。 (4)そしてそのスプライトにover・out・releaseラベルを設定して overで大きくなるように、releaseでURLを取得 としました。 多少の不安もありましたがルートにてプレビューしてみると、大メニューoverで子メニュー展開まではできていたのですが、 子メニューに触れても大きくならないしURLも取得できませんでした。 以上が現在の状況です。 間違っている場所があれば指摘をしていただきたいです。 他の方法があれば知恵をお貸しくださいm(_ _)m 分かりにくい文章ですみません。よろしくお願いします。

    • ベストアンサー
    • Flash
  • FLASHでランダムでURLを表示させたいのですが

    FLASH初心者です。携帯用のFLASHを作成しているのですが、FLASHムービーの終了後にボタンを押すと他のページに飛ぶようにするために以下のようなスクリプトを書きました。 on(keyPress"<enter>"){ getURL("http://●●●●●●●●"); } ここまではよかったのですが、次にURLのあとにパラメーターを付け、そのパラメーターをランダムで表示させて飛ぶようにさせたいのです。以下のような感じです。 on(keyPress"<enter>"){ getURL("http://●●●●●●●●?rmd=○○○"); } ※ ○○○は3桁の数字がランダムで入ります。 この場合、どのようなスクリプトを書けばいいのでしょうか?いろいろなサイトで調べて試してみたのですがどうしてもうまくいきません。どうか教えてください。

    • ベストアンサー
    • Flash
  • スクリプト

    スクリプト PCを立ち上げた際、McAfee VirusScanで不審なスクリプトが検出さりました! と表示され さらに、ファイルC:\WINDOWS\system32\MsiExc.exeには不審なスクリプト アクティビティーが含まれており、このファイルは停止されました。実行する操作 このスクリプトを停止する 今回のスクリプト全体を許可する 詳細情報を調べる この警告を無視して閉じる と表記されています。 私の処置として、上記の詳細を調べるから ファイルの内容表示の後・・(このスクリプトを実行しない場合は「停止をクリックすることをお勧めします」とあるので停止処置をしました。 しかし、あらためてPCを開いたとき、再度同じような表示が出てきます。 一方、更新プログラム一個のインストールがいくら時間をかけても完了しない状態が続いています。この二つのことがもしかして、関連しているのかなとか思っています。 ご教示よろしくお願いします。

  • Flashのアクションスクリプトについて質問があります。

    Flashのアクションスクリプトについて質問があります。  FlashのCS2を使って選択式クイズを作っています。タイトルや問題などのフレームにはラベルを付けて、ラベルレイヤーのキーフレームにスタートや選択肢のボタンを配置しました。そして、タイトルラベルにあるスタートボタンを押すと問題1に飛ぶようにアクションスクリプトを設定しました。その後、きちんと設定出来ているか再生して確認してみたところ、問題1から再生されて、タイトルから再生されなくなりました。何回かやり直してみたのですが、タイトルから再生されませんでした。アクションスクリプトの設定は、「タイトルラベルのキーフレームをクリック→スタートボタンが選択されていることを確認→F9を押してアクションスクリプトの設定画面を表示→スクリプトアシストをオンにする→グローバル関数の中にあるgotoをダブルクリック→移動して再生を停止をオンにする→タイプをフレームラベルに変更→フレームのメニューをクリックして問題1を選ぶ」というふうにしました。 なぜ、タイトルからではなくスタートボタンを押さないと表示されない問題1が表示されたのかわかりません。どこで設定を間違えているのか分からないので、わかる方がいらっしゃたら教えていただきたいと思います。お願いします。

  • FlashMXでのスクリプトの質問。

    FlashMXでのスクリプトの質問です。 1~30フレームまで5回繰り返して、その後31フレームに移り最後の60フレームでストップするというアクションをさせるには、どのようなスクリプトを使えばいいのでしょうか? 30フレーム目に1フレーム目に戻り5回繰り返すというアクション(これが分かりません。)、その後、6回目には31フレームに移り(gotoAndPlay(31);でしょうか?)そのまま最後の60フレームまで進み、60フレーム目で停止(stop();)。 これくらいしか私には分かりません。 どうか知恵をお貸し下さい。 宜しくお願いします。

専門家に質問してみよう