(Flash Lite 1.0) フレームアクションでのキーイベント

このQ&Aのポイント
  • 携帯用のFLASH(Flash Lite 1.0)で静止画像だけの絵本を作る際の、インタラクティブモードでのページ移動方法について質問です。今まではボタンを作成し、そのボタンに対するaction scriptを使ってページ移動を実現していましたが、ボタンが邪魔になるため、ボタンをなくしてキーイベントによるページ移動を試みています。しかし、フレーム上でのキーイベントは使えないようで、解決策が見つかりません。アドバイスをいただけると幸いです。
  • 携帯用のFLASH(Flash Lite 1.0)で静止画像だけの絵本を作成中です。ページの移動方法について質問です。以前、ボタンを使わずにキーイベントによるページ移動を実現した実例があったので、試してみたいと思っています。しかし、フレーム上でのキーイベントがうまく機能しません。解決策が分からず困っています。アドバイスをお願いします。
  • 携帯用のFLASH(Flash Lite 1.0)で静止画像だけの絵本を制作中です。インタラクティブモードでのページ移動方法について質問があります。ボタンを使わずにキーイベントによるページ移動を試みていますが、うまく動作しません。どのようにすれば実現できるのか、アドバイスをお願いします。
回答を見る
  • ベストアンサー

(Flash Lite 1.0) フレームアクションでのキーイベント

携帯用のFLASH(Flash Lite 1.0)で静止画像だけの絵本を作っています。 インタラクティブモードで、ページをめくって次のフレームへ移動させる方法についての質問をさせてください。 今までは、「次ページへ」のようなボタンシンボルを作って画面の下段に置き、そのボタンに対するaction scriptとして ************************************* on (release){ nextFrame(); } ************************************* のように書いて実現していました。 これだとそのボタンシンボル自体が画面レイアウト上邪魔になってきたので、ボタンは無くしてしまい、ボタンにフォーカスさせることなく、フレーム上のアクションスクリプトで記述して、いきなり0や1のキーをたたいて次のフレームへ移動させられないか、と考えています。 ところが、onイベントはボタンにしか使えないようで、身の程知らずながらエキスパートモードに切り替えて、強引にフレームに使おうとしてもシンタックスエラーになってしまいます。 FLASHの教則本などには、"keyListener()"などの手法が載っていますが、携帯FLASHでは、FLASH Player4という制約があり使えません。 以前、どなたかのサイトで入手した携帯FLASHで、確かにボタンを使わずにキーをたたくだけで次のフレームは移動させていたのは記憶にあるので、何らかの方法は存在すると思うのですが、完全に暗礁に乗り上げてしまっています。どなたかアドバイスがありましたらよろしくお願いします。

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

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

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

透明な塗りをボタンにするとか, ボタンをステージ外の見えない所に置くとか, ボタンを一番下のレイヤーに配置してその上のレイヤーに背景を置くとか, 何でも良いのでボタンを見えない状態にするか見えない場所に配置して, そのボタンに, on (release, keyPress "1") { nextFrame(); } のように書けば良いだけだと思います。 Flash Lite に下記限らず,普通のFlashでも色々仕組むうちの1つの方法です。 ダマシを作成していくのがFlashです。 アニメ自体もダマシでしょう。 1秒間に数十コマのパラパラ画を見せて,残像効果を逆手に動いているように見せかけているだけ。 どんな方法を使う場合でも,結局見る側を騙してそれらしく見せているだけですから, その辺は教則本に載っているとか載っていないではなくて,普通はたいてい自分で工夫するものだと思いますよ。 いかに良い意味でダマスかです。

campus0426
質問者

お礼

ありがとうございました!!! 今まで使っていたページ送り用のボタンを下層のレイヤーに隠し、 on (release, keyPress "1") ...のスクリプトを書いたところ、即キーを押すだけでページ送りができるようになりました。 根本的にon (release, keyPress "1") の意味を勘違いして解釈していました。このスクリプトの意味する操作手順は、 (1)携帯の上下キーでまず該当ボタンを選択しフォーカスする (2)「1」キーを押す という風に想像していました。それで、ボタンを下層に隠したり透明にしたりしても、(1)の手順が入るのだったら根本的解決にならない、というように勝手に想像してトライしていませんでした。 今回教えていただいたおかげで、勘違いしていたことに気がつきました。 本当に、ありがとうございましたーッ!!!

関連するQ&A

  • オブジェクトアクションの設定について

    FlashMXでバナーを作成する際、オブジェクトアクションの指定があり、ヘルプを読んで設定しましたが、初心者なものでわからない点が多々ありました。初歩的な質問ばかりですみませんが・・・わかる方教えてください。 Q1.オブジェクトアクションは、インスタンスごとに設定するとあったので下記のように行ったのですが・・・ (1)シンボルを配置したフレームをクリックして、 (2)インスタンスをクリックして、 (3)プロパティでグラフィック(作成したのはすべてグラフィックシンボルでした)をボタンに変更して、 (4)アクションパネルにスクリプトを記入する。 これを全フレーム内のインスタンスすべてに 繰り返す、というのでよかったのでしょうか? 長いフラッシュだと大変な作業ですし、もしかしたら間違っているのではと思っています。。 Q2.グラフィックシンボルなのに、ボタンに変更しないとスクリプトが書き込めないのはなぜですか。 Q3.ボタンにはインスタンス名を書き込む欄が出てきますが、これはどんな役割があるのでしょうか。 Q4.スクリプトは、 on (release) { getURL(_root.clickTAG, _root.targetTAG);} という内容ですが、これの正確な意味を教えてください。

    • ベストアンサー
    • Flash
  • アクションフレームについて

    Flash MX Professional 2004を使っています。 アクションフレームがスクリプトを記入する場所だと思うのですが、小さすぎてとても不便に思っています。 Flash MX Professional 2004にはスクリプトを記入するエディタ等は無いんでしょうか。 Flash MX Professional 2004内臓のエディタがない場合皆さんはどのような環境でスクリプトを書いていますか。 初歩的なことかもしれませんが困っています。 教えてください。

    • ベストアンサー
    • Flash
  • FLASH 次のフレームにいくと真っ黒に・・

    FLASHはまだあまり使いこなせておりません・・。 写真を加工したものをFLASHで公開します。 FLASHで、写真をクリックすると、次の写真へアニメーションをつけながら移動させようと思っております。 詳細を説明しますと、背景を黒にし、その上に写真を貼り付けております。 透明ボタンを設置しそこに「nextframe」を指定し、次の写真の表示は、カラーを「アルファ」で少しずつ表示させるようにしております。 (フレームには「stop」を、写真の部分に「nextframe」を入れております) 途中までうまくいったのですが、 2~3枚目の写真までいった時に、背景の黒だけが表示され、写真のアニメーションも表示されず・・・・・。 うまくいってる方のものと、見比べました。 ですが、ちゃんとアクションもあってると思いますし、どこが間違ってるのが、??です・・・。 いろいろ考えたり調べたりしたのですが、どうしてもわからず・・・。 下手な説明で申し訳ございませんが、教えて下さい! お願い致します!

    • ベストアンサー
    • Flash
  • flash4でのキーイベント(i-mode)

    flash Liteのコンテンツを作成中です。 flashを使い始めたのがflash5からで、 現在はMXを利用しています。 現在作っているコンテンツ(アニメーションです)を、 最初は停止状態で、0キーを押すと再生が始まるように しようと思っています。 ですが、「key.isdown」はflash5以降の バージョンでしか動かないようです。 flash Liteはflash4書き出しですので、 書き方がさっぱりわからず、困っています。 現在は1フレーム目のアクションでstop();を 入れています。同じく1フレーム目に 0キーを押すとplay();となるようにかこうと思っています。 きっと初歩的な質問だと思うのですが、 ご教授いただければと思います。 よろしくお願いいたします。

  • 5フレーム目で3秒止めて7フレーム目に移動。

    5フレーム目で3秒止めて10フレーム目に移動というようなフラッシュを作りたいと思っています。 フレーム数を増やすのではなく、 アクションスクリプトを使ってできないでしょうか。 既にアニメーションを作ってしまって、 少し変更したいなぁと思っているので^^;

    • ベストアンサー
    • Flash
  • flash cs3のアクションスクリプトに関する質問です。

    flash cs3のアクションスクリプトに関する質問です。 ActionScript2.0を使っています。 現在ゲームを作っていますが次の場面で分からないことがあります。 3つの項目からそれぞれ1つずつ答えを選んでもらい「決定」のボタンを押すと答えによって次に再生するレイヤーを変えたいのですがうまくいきません。 具体的には 【A】【1】【あ】 【B】【2】【い】 【C】【3】【う】 【決定】 というボタンがあり、例えば【A】【1】【あ】と選んで【決定】を押すと、「レイヤーA」「レイヤー1」「レイヤーあ」が再生されるようにしたいのですが 【A】のボタンのアクションには on (release) {a=1} と書きました 上と同様にほかの【B】は{a=2}、【C】は{a=3}、【1】から【3】の項目については{b=1}のように【あ】の項目についても{c=} 【決定】のボタンのアクションには on (release) { if (a==1) {gotoAndPlay(フレーム1の名前); } ~同様にそれぞれ(a==2)以下が続きます。~ } と書きました。 シンタックスチェックでは間違いは見つかりませんでしたがシーンプレビューでは決定ボタンを押しても反応がありません。 はじめたばかりで何かが足りていないのか、根本的に間違っているのかもわからない状態です。 回答よろしくお願いします。 上記のこと以外で伝えたほうがいいことがありましたら教えてください。

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

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

  • 携帯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
  • mcのx座標が50以上になったら次フレーム

    タイトルどおり、 mcのx座標が50以上になったら次フレーム という処理をしたく、 mcに次のアクションスクリプトを記述しました。 onClipEvent(enterFrame){ this._x += 10; } onClipEvent(load){ if(this._x >= 50){ nextFrame(); } } しかし何故か次のフレームに行ってくれません。 どこか間違っているのでしょうか。。。 nextFrame();をgotoAndPlay(2);にしても駄目でした。

    • ベストアンサー
    • Flash
  • 【flash】ムービークリップ内のフレームへのジャンプ

    flashの初歩的な質問で申し訳ないのですが、 ムービークリップ内でgotoが効きません。 「sumple」というムービーシンボルの中に配置したボタンシンボルを押し、 同じ「sumple」の中に名づけてある「a」というフレームに飛びたいのですがどうすればよろしいのでしょうか? 現状、ボタンを押したら行き先がわからないのか頭に帰ってきます。 アクションは on (release) { gotoAndPlay("a"); } です。 どこに何を足したら…いいんでしょうか… よろしくお願いします

専門家に質問してみよう