メイン どこでもFlash【携帯向けFlash関連】 Enterとテキスト入力 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
nacbox | Åê¹ÆNo.43304 投稿日時: 2009-9-1 2:57 |
新米 居住地: 東京 投稿: 25
使用環境:
Win7 / Flash CS4 PRO |
Enterとテキスト入力 現在、Lite1.1でムービーを作成しています。
状態が「テキスト入力」のテキストフィールドが画面上に配置されています。 また、画面外に on(keyPress"<Enter">) { getURL("http://www.hoge.jp"); } というスクリプトを組んだボタンが配置されています。 それ以外に、画面内に複数のボタンがあります。 「決定キー」を押した際の、想定している挙動としては、 ・テキスト入力欄にフォーカスが当たっている時はテキストの入力を行う ・それ以外にフォーカスが当たっている時には指定のURLへジャンプする という動きになります。 しかし、現在、テキスト入力欄にフォーカスが当たっている時でも、決定キーを押すとon(keyPress"<Enter">)?が効いてしまい、ページが遷移してしまいます。 おそらく、 on(keyPress"<Enter">) {?} の中に、「テキストフィールドにフォーカスが当たっているか否か」を判定して分岐するような仕組みを組み込むべきなのだと思うのですが、この「テキストフィールドにフォーカスが当たっているか否か」をどうやって判定していいのか分かりません。 この判定方法を教えてください。 |
コマツ | Åê¹ÆNo.43306 投稿日時: 2009-9-1 9:41 |
職人 居住地: 東京都葛飾区 投稿: 356
使用環境:
windows7 CS5.5 CS6 |
Re: Enterとテキスト入力 nacbox さん、こんにちは。
「それ以外にフォーカスが当たっている時」というのが、ボタンインスタンスであればできるように思えます。 入力テキスト以外のボタンインスタンス全てに以下の構文を書きます。
後は、Enterを設定する箇所を以下のようにします。
入力テキストフィールドそのものに、イベント等は設定できませんので、その周りにあるボタンのrollOverとrollOutをもって、判定させるようなことをすればできるかと思いますよ。 |
nacbox | Åê¹ÆNo.43309 投稿日時: 2009-9-1 11:25 |
新米 居住地: 東京 投稿: 25
使用環境:
Win7 / Flash CS4 PRO |
Re: Enterとテキスト入力 やってみました。
結論から言うと、うまくいきません。 テキストフィールド以外のボタンにフォーカスが当たっていることを判定するのは、成功しています(テキストフィールドがフォーカスしている時に決定キーを押しても飛ばなくなった)。 しかし、キーを押しても何も起きず、テキスト入力画面に移動しません。 おそらく、動きとしては、 on(keyPress"<Enter">) { ---(A) if(focusFlag == 0){ ---(B) getURL("http://www.hoge.jp"); } } で、確かにフラグの関係で(B)は無視されるものの、(A)は有効なため、処理がテキストフィールド側に渡されないからではないかと……。 困ってしまいました。 諦めて、「テキストフィールド以外のボタン」それぞれにボタンアクションを仕込む方式にして、on(keyPress"<Enter">)専用の画面外ボタンは削除するしかないのかも知れません。 |
コマツ | Åê¹ÆNo.43315 投稿日時: 2009-9-2 9:13 |
職人 居住地: 東京都葛飾区 投稿: 356
使用環境:
windows7 CS5.5 CS6 |
Re: Enterとテキスト入力 Enterが先に優先されてしまい、テキストフィールドの入力画面に移行できないということですね。
スイマセン、それは想定外でした。確認しなくてスイマセン。。。 では、これではどうでしょう? 恐らく画面外にあるボタンに対して、Enterのキーイベントをつけているかと思います。 このボタンを「_visible」等で反応しないものにする手はどうでしょう? lite1.1では、ボタンにインスタンス名が付けられないので、「_visible」は設定できませんが、MovieClipであればできます。 ボタンをMovieClipに変換して、例えば「set_mc」と名前を付けます。 それに伴い、MovieClip内のボタンに設定した、ActionScriptの変数のパスも変えます。
後は各ボタンの方で、このMovieClipに対して、「_visible」の変更を行ないます。
ボタンにフォーカスしている時だけ「_visible」で表示して、Enterが反応するようにする方法です。 デバイスセントラル環境で確認した範囲ではうまくいきそうな感じを受けました。 試してみてください。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |