トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   とにかくFLASH【FLASHに関して全般】
     Enterキーで反応させる
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tomohito
Åê¹ÆNo.13116
投稿日時: 2004-12-7 18:11
新米
居住地: 神奈川
投稿: 2
使用環境:
Windows2000Server
FlashMX2004Professional Ver7.2
FlashPlayer 7.0
IE 6.0
Enterキーで反応させる
Flash MX Professional 2004 を使用してチャットアプリケーションを開発しております。
テキストフィールドに入力した文字を「Enter」キーに反応させて発言処理を行いたいため、発言ボタンに以下のようなスクリプトを記述しています。
---------------------------------------
on (release, keyPress "<Enter>") {
// 発言処理
}
---------------------------------------
しかし、ムービーの書き出しでActionScriptのバージョンを1.0にすると問題無く動作するのですが、2.0で書き出すと「Enter」キーに反応してくれません。
これは、ActionScript2.0の仕様なのでしょうか?どなたかこの問題についてご存知の方いらっしゃいましたら教えてください。
野中文雄
Åê¹ÆNo.13122
投稿日時: 2004-12-7 21:28
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: Enterキーで反応させる
オペレーテイングシステム(OS)は、何をお使いですか? ご使用の環境は、プロフィールに記入することが推奨されています。
引用:
tomohitoさんは書きました:
Flash MX Professional 2004 を使用してチャットアプリケーションを開発しております。

問題が、再現できません。新規ムービーにButtonまたはMovieClipインスタンスをひとつ配置して、以下のスクリプトをコピー&ペーストしました。trace()ステートメントを挿入して、[ムービープレビュー]で確認しています。Flash MX 2004 7.2/Mac OS X.3.5 & Windows XP (SP1)です。

新規のシンプルなムービーで、再現性をテストされましたか?
引用:
on (release, keyPress "<Enter>") {
    // 発言処理
}

しかし、ムービーの書き出しでActionScriptのバージョンを1.0にすると問題無く動作するのですが、2.0で書き出すと「Enter」キーに反応してくれません。


----------------
 

tomohito
Åê¹ÆNo.13143
投稿日時: 2004-12-9 11:16
新米
居住地: 神奈川
投稿: 2
使用環境:
Windows2000Server
FlashMX2004Professional Ver7.2
FlashPlayer 7.0
IE 6.0
Re: Enterキーで反応させる
OSはWindows2000Serverを使用して開発しています。
新規ムービーを作成して再現を確認したところ、MovieClipインスタンスを配置して試すと問題なく動作しますが、UIコンポーネントのButtonを配置すると動作しなくなりました。その後UIコンポーネントのButtonを削除しても、元々動作していたMovieClipインスタンスについても動作しなくなるという状況になりました。
野中文雄
Åê¹ÆNo.13178
投稿日時: 2004-12-9 22:48
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: Enterキーで反応させる
確認できました。UI Componentが[ライブラリ]にあると、on (keyPress)イベントが受取れなくなるようです。バグだと思われます。
引用:
tomohitoさんは書きました:
新規ムービーを作成して再現を確認したところ、MovieClipインスタンスを配置して試すと問題なく動作しますが、UIコンポーネントのButtonを配置すると動作しなくなりました。その後UIコンポーネントのButtonを削除しても、元々動作していたMovieClipインスタンスについても動作しなくなるという状況になりました。

UI Componentは、[ライブラリ]に存在するだけで、メインタイムラインの第1フレーム直前に(ActionScript 2.0)クラスを読込みます。それが何らかの原因で、on (keyPress)イベントハンドラの呼出しを妨げているものと推測されます。

ActionScript 1.0で書出すということは、ActionScript 2.0にもとづくコンポーネント(v2コンポーネント)の動作を止める結果になります。そのため、on (keyPress)イベントが有効に受取れたということです。したがって、ActionScript 2.0の「仕様」ということではなく、v2コンポーネントのバグと判断してよいでしょう。


----------------
 

youich
Åê¹ÆNo.13181
投稿日時: 2004-12-10 2:17
職人
居住地: kobe
投稿: 349
使用環境:
Tiger
Re: Enterキーで反応させる
引用:

野中文雄さんは書きました:
確認できました。UI Componentが[ライブラリ]にあると、on (keyPress)イベントが受取れなくなるようです。バグだと思われます。
引用:
tomohitoさんは書きました:
新規ムービーを作成して再現を確認したところ、MovieClipインスタンスを配置して試すと問題なく動作しますが、UIコンポーネントのButtonを配置すると動作しなくなりました。その後UIコンポーネントのButtonを削除しても、元々動作していたMovieClipインスタンスについても動作しなくなるという状況になりました。

UI Componentは、[ライブラリ]に存在するだけで、メインタイムラインの第1フレーム直前に(ActionScript 2.0)クラスを読込みます。それが何らかの原因で、on (keyPress)イベントハンドラの呼出しを妨げているものと推測されます。

ActionScript 1.0で書出すということは、ActionScript 2.0にもとづくコンポーネント(v2コンポーネント)の動作を止める結果になります。そのため、on (keyPress)イベントが有効に受取れたということです。したがって、ActionScript 2.0の「仕様」ということではなく、v2コンポーネントのバグと判断してよいでしょう。

UIコンポーネントがライブラリに存在するとロードされる
mx.core.ext.UIComponentExtensionsのコード中で
mx.managers.FocusManager.enableFocusManagement();
とやってますので、_root.focusManagerができあがり
そのfocusManagerがon (keyPress)を妨げてるんじゃないかと。。

focusManager.deactivate();

でfocusManagerを無効にするとon (keyPress)イベントも
使えるようになるようですが、UIコンポーネント(focusManager)
を使う時はon()イベントとどうやってうまく共存させるのでしょうね。


----------------
- yo

せいぞう
Åê¹ÆNo.16467
投稿日時: 2005-4-4 12:49
常連
居住地: 江戸川区の某所
投稿: 125
使用環境:
Flash CS5.5
Windows8 (64Bit)
Pentium Core i7
Memory 8GB
Re: Enterキーで反応させる
どうも。せいぞうと申します。
この記事と全く同じ問題で引っ掛かってしまい、ここに
たどり着きました。

とりあえず私もシンプルな例で試してみました。
http://www.5th-trend.com/htm/customer/key/_test.html

記事内では「バグ」とのことでしたが、何かうまくやり抜ける
方法などは見つかりましたでしょうか。
「うまく」というのは、UIコンポーネントと Keyイベントの共存
のことですが・・・・

情報でも投げて頂ければ幸です。
よろしくお願いします。


----------------
□NAME : せいぞう
□URL : http://www.5th-trend.com/

野中文雄
Åê¹ÆNo.16468
投稿日時: 2005-4-4 12:55
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: Enterキーで反応させる
どうしてもon ()イベントハンドラアクションでなければ嫌だということでなければ、onClipEvent ()ハンドラやKeyクラスにリスナー登録する方法があります。
引用:
せいぞうさんは書きました:
記事内では「バグ」とのことでしたが、何かうまくやり抜ける
方法などは見つかりましたでしょうか。
「うまく」というのは、UIコンポーネントと Keyイベントの共存
のことですが・・・・


----------------
 

せいぞう
Åê¹ÆNo.16470
投稿日時: 2005-4-4 13:05
常連
居住地: 江戸川区の某所
投稿: 125
使用環境:
Flash CS5.5
Windows8 (64Bit)
Pentium Core i7
Memory 8GB
Re: Enterキーで反応させる
野中様、早々のご助言ありがとうございます。
ご紹介頂いた・・・・
『onClipEvent ()ハンドラやKeyクラスにリスナー登録する方法』
をこれからじっくり読んで対応してみたいと思います。

先ずは、お礼まで。




----------------
□NAME : せいぞう
□URL : http://www.5th-trend.com/

せいぞう
Åê¹ÆNo.16471
投稿日時: 2005-4-4 13:23
常連
居住地: 江戸川区の某所
投稿: 125
使用環境:
Flash CS5.5
Windows8 (64Bit)
Pentium Core i7
Memory 8GB
Re: Enterキーで反応させる
■ありがとうございました。
先程動作を確認し、解決できました。

重ね重ね、お礼申し上げますm(_ _)m。


----------------
□NAME : せいぞう
□URL : http://www.5th-trend.com/

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops