携帯FLASHでボタンに反応したアニメーションを作成する方法

このQ&Aのポイント
  • アクションスクリプト初心者の方が携帯FLASHでボタンに反応したアニメーションを作成する方法を教えてください。
  • flash4(MX)でランダムなループアニメーションを作成し、1ボタンを押すと花がフェードインして消えるアニメーションに挑戦しています。
  • PC上では動作するが、携帯では動作しないという問題が発生しています。携帯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
  • 回答数1
  • ありがとう数1

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

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

修正は2箇所(2つのポイント)です。 _root とか this とか _parent とか言うような ドットシンタックスでのターゲットパスの指定はできません。 スラッシュシンタックスでのパス指定になります。 _root は 「/」 this は特になし,もしくは「""」 _parent は 「../」 です。 HTML のパスの書き方に似ていると思います。 あと, 階層が違う場合(違うムービークリップに指示する場合), tellTarget アクションを使います。 したがって次のようになります。 ------------------------------- on (keyPress "1") { tellTarget ("/hana") { play(); } } on (keyPress "2") { tellTarget ("/hoshi") { play(); } } on (keyPress "3") { tellTarget ("/heart") { play(); } } ------------------------------- アクションスクリプトについて↓ 「Flash Lite Memo for Flash MX Users」 http://www.grkt.com/flash_lite_01.html その他キーイベントなどについて↓ 「コンテンツの配信と再生」 http://www.nttdocomo.co.jp/service/imode/make/content/flash/about/idx03.html

to-chi123
質問者

お礼

ご教授頂いてありがとうございましたm(__*)m とても解りやすく説明してくださったおかげで理解する事が出来ました。携帯での動作もばっちりです! お教えくださったサイト様も参考にさせて頂きたいと思います。 本当にありがとうございました!

関連するQ&A

  • 携帯Flashでのkeypressに関して

    携帯ゲームでのスクリプト記述に関して質問をお願い致します。 たとえば、2のボタンを押して動作をさせたい場合には、 on (keyPress "2") {//アクション} と書くと思いますが、 1と2と3を押した際に、すべてボタン操作が同じ動作の場合には、どう書いたらよいのでしょうか? イメージ:1,2,3どれを押してもAという攻撃ができ 4,5,6どれを押してもBという攻撃が出来る といったイメージです。 on (keyPress "1""2""3") {//アクション} on (keyPress "1"&"2"&"3") {//アクション} など色々と試しましたが上手くいきません。 こんなのでは、といったものでもよいので、皆さんのお知恵をお貸し下さい。 どうぞ、宜しくお願い致します。

  • 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
  • paraflaのアクションスクリプトについて。

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

    • ベストアンサー
    • Flash
  • 携帯用flash

    自宅で、グリカやデコメなど作っている者です。 大昔、flash5の時代に、携帯用flashのグリカを作っていました。 この度、携帯用flashグリカの作成を受注したのですが 基本的な質問で、申し訳ありません。 ★使用ソフトはflash5です(flash lete1.1) ★携帯の1・2・3のボタンキーで指定されるカードに  移動するようなカード作成です。 この場合、アクションスクリプトで1ボタンを押すと ○フレーム目に移動して○フレーム目で止まるとする には、どう記述すればいいでしょうか? すごく基本的な質問で申し訳ありません。

    • ベストアンサー
    • Flash
  • スクリプトとFlashのサイトに関する質問

    線を描くようなスクリプトコマンドはないでしょうか? たとえば、四角形をスクリプトで描くようなアニメーションがしたいのです。 (Shapアニメーションではどうもうまくいかないので、 アクションスクリプトを使用してみようと思ったのですが…) また、質問掲示板などがあるFlashサイトがありましたら、 教えていただけないでしょうか?

  • FLASHでの携帯コンテンツ作成について(ボタン)

    初めて、質問させていただきます FLASHで携帯コンテンツ作成をしております 同じキーを押した場合について教えてください 1つ目のボタンのスクリプト on(press, keyPress"1") { _root.mc1._alpha=50; } 2つ目のボタンのスクリプト on(press, keyPress"1") { getURL("test.htm"); } 問題点 1つ目のボタンをフォーカスしている状態で "1"を押すとgetURL関数が起動してしまう 2つ目のボタンをフォーカスしている状態で 決定キーを押すとgetURL関数が起動してしまう どなたかご教授お願い致します 長文、駄文失礼しました

    • ベストアンサー
    • Flash
  • 携帯フラッシュを作成したいのですがいきなりつまずいてしまいました

    携帯フラッシュを作成したいのですがいきなりつまずいてしまいました 携帯のボタンを押したら別のフレームにジャンプするようにしたいのですが 携帯のボタンに反応しません 私の環境はフリーソフトSUZUKAでswf4形式で行ってます PCのOSはVISTAで携帯はAUのW53Sです。無料レンタルサーバのフリースタイル を利用しています 1~5フレームまで画像1 6~10フレームまで画像2をセットして フレームアクションの5フレームに stop(); アイテムを追加⇒ボタンの追加 1~5フレームまでセット ボタンアクションのスクリプトを以下のように記述 (現在はこっちになってます) on(keyPress "<enter>"){ gotoAndPlay(6); } と書いても on(keyPress "5"){ gotoAndPlay(6); } と書いても携帯では動きませんでした SUZUKAでF5でプレビューしても一回プレビューウィンドゥの中でクリックしてフォーカスをあてればEnterで動きました 携帯ではマウスがないのでフォーカスが当てられません というかボタンなのにボタンフォーカスの枠は出ないのでしょうか? 初心者なのでまったくよくわかっていないのですが アップしたURLはこれです http://ddd.f00.jp/d/index.html htmlのソースは <html> <head> <meta http-equiv="Content-type" content="text/html; charset=Shift_JIS"> <title>swf4悪戦苦闘</title> </head> <IMG src="button.swf" alt="swf4"> </body> </html> 手探り状態なので何か根本から間違っている気がしています なにとぞご指導のほどよろしく フォーカスがあたっていないのが原因の気もするのですが初めてのことなのであくまで も私の想像です(方法もわからないですし)

    • ベストアンサー
    • Flash
  • フラッシュアクションスクリプト 繰り返し処理について

    こんにちは フラッシュのループ処理にして質問です。 フラッシュでアニメーションを作ったのですが全体のアニメを3回だけ繰り返してストップさせるように処理したいのです。 ヘルプページを見てfor関数を試してみましたができませんでした。 どのようにアクションスクリプトを組み込めばできるのでしょうか? 教えてください。 よろしくお願いします。

  • Flashでアニメーションとサウンドを違うタイミングでループさせたい

    こんばんは! Flash8を使ってHPにアップするSWFファイルを作成しています。 アニメーションもサウンドもループ再生させたいのですが、アニメーションの長さとサウンドの長さが違いうまくループさせることができません。 アニメーションは56秒、サウンドは1分48秒という感じです。 さらに、サウンドはON・OFFで音が制御できるようになっています。 下記のスクリプトで挑戦してみたのですが、ON・OFFを押すたび音が増えて輪唱のように何重にも重なって聞こえてきます。 「ON・OFFムービークリップ1フレーム目」 stop(); _root.soundA = new Sound(); _root.soundA.attachSound("00000.mp3"); _root.soundA.start(0,999); 「シーンにおいたON・OFFムービークリップ」 on (release) { if (_root.soundA.getVolume()>0) { _root.soundA.setVolume(0); _root.on_off.gotoAndStop("soundoff"); trace(_root.soundA.getVolume()); } else if (_root.soundA.getVolume()<=0) { _root.soundA.setVolume(100); _root.on_off.gotoAndStop("soundon"); } } 質問内容がわかりにくいかもしれませんが、ご回答よろしくお願いします。

  • FLASH5で、ボタンにロールアウト時にもアニメーションさせたい

    FLASH5を使用しているのですが、ボタンにマウスのロールオーバーで アニメーションを設定することはできますが、ロールアウトしたときにも アニメーションを設定したい場合、どのような方法があるか教えていただきたいです。 今私が作りたいのは「何もないところにロールオーバーするとボタンがゆっくり表示され、 ロールアウトするとゆっくり消える」というものです。 現時点では、私はムービークリップの中にボタンを入れ、最初のフレームで フレームアクションに stop (); を設定し、そこに配置してあるボタン(ここでは、透明なボタン)に on (rollOver) { play (); } で次のフレームに行くようにし、そこでロールオーバー時のアニメーション(ゆっくりボタンが現れる) を作成して、止めたいところでフレームアクションに stop (); を設定し、その停止時に配置してあるボタン(表示されている可視状態)に on (rollOut) { play (); } を設定し、その次のフレームからはロールアウト時のアニメーション(ゆっくりボタンが消える) を作成しています。 これだと、動作はするのですが メニュー等のようにボタン(この場合はボタンを含んだ ムービーですね)を隣接させて複数置いた場合などに on (rollOut) { play (); } のスクリプトがうまく効かず、他のボタンにロールオーバーしているにも関わらず前にロールオーバーした ボタンがそのままの状態(ボタンが消えず表示されたままの状態)で残ってしまいます。 tellTargetとifを使用するのかな?とも考えたのですがよくわからず困っています、、、、 長文で申し訳ないのですが、よろしくお願いします。

専門家に質問してみよう