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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     ボタンのクリック
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hirohiro77
Åê¹ÆNo.20893
投稿日時: 2005-10-17 17:41
新米
居住地:
投稿: 9
使用環境:
WinVista,Flash CS3
ボタンのクリック
画面上に
UIコンポーネントのコンボボックスとボタンを配置して
コンボボックス選択後に連続でボタンを押したいのですが
うまくいきません。

ボタンに以下のコードを書いて
on(press){
trace("OK");
}
実行すると、ボタンのみをクリックしたときは
連続でクリックしてもOKが表示されますが
コンボボックスを1回でもクリックしてから
ボタンを連続でクリックしても
1回しかOKが表示されません
少しカーソルを動かすとOKがでます
原因何か分かることあれば教えてください。
ゲスト
Åê¹ÆNo.20929
投稿日時: 2005-10-19 22:30
Re: ボタンのクリック
こんにちは。

同じように
コンポーネントのComboBoxとButtonをステージに配置。
Buttonに
on (release) {
trace("OK");
}
と記述。
ComboBoxにはスクリプトはおろかlabel/data何も設定してません。
trace()で状況を確認されていることから、
ムービープレビューしてみました。

結果:問題なし。
何をしてもButtonをクリックすると
出力パネルに「OK」の文字列が出力されます。

このことから、ComboBoxに何かスクリプトを記述していて
それが影響しているのではないでしょうか?

新規ドキュメントで単純構造でつくり、
同じ現象が出るかどうか
問題の絞込みを行ってみてください。
hirohiro77
Åê¹ÆNo.20933
投稿日時: 2005-10-20 10:35
新米
居住地:
投稿: 9
使用環境:
WinVista,Flash CS3
Re: ボタンのクリック
レスありがとうございます
引用:

crybabycryさんは書きました:
結果:問題なし。
何をしてもButtonをクリックすると
出力パネルに「OK」の文字列が出力されます。

ComboBoxクリック後でも1回目のクリックはOKでます
その後連続でクリックしてもOKが連続で出たのでしょうか?

こちらも新規ドキュメントでComboBoxも
配置しただけでボタンの
on (release) {
trace("OK");
}
以外に
なにもスクリプトはないです
野中文雄
Åê¹ÆNo.20938
投稿日時: 2005-10-20 12:14
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: ボタンのクリック
ご質問の仕方は、工夫された方がよいですよ。

[1] UIComponentsのComboBoxと、同じくUI ComponentsのButtonインスタンスを配置して、Buttonコンポーネントインスタンスに提示のスクリプトを記述しても、問題は再現されませんでした。

おそらく、crybabycryさんも、同様の確認をされたのではないかと思われます。この時点で、現象は他のスクリプトなど、具体的な状況に伴う原因が組み合わさって生じているものと考え、それ以上のテストはしませんでしたし、回答もいたしませんでした。なかなか回答がなかったのは、そのへんに理由があるように思われます。
引用:
hirohiro77さんは書きました:
ComboBoxクリック後でも1回目のクリックはOKでます
その後連続でクリックしてもOKが連続で出たのでしょうか?

必要最小限の要素でテストされたという追加情報があったので、初めて条件を変えて試したところ,問題が再現できました。

[2] 新規のムービーにUIComponentsのComboBoxと、通常(ActionScript定義済み)のButtonインスタンスを配置し、提示のスクリプトをButtonアクションに設定して確認しました。項目も設定していない空のComboBoxインスタンスを1回クリックし、Buttonインスタンスを1度クリックすると、Buttonアクションは実行されます。しかし、マウスを動かさずに、そのまま連続してButtonインスタンスをクリックすると、Buttonアクションが呼出されないようです。
引用:
こちらも新規ドキュメントでComboBoxも
配置しただけでボタンの
on (release) {
    trace("OK");
}

以外に
なにもスクリプトはないです

FocusManagerが、ComboBoxインスタンスからButtonインスタンスにフォーカスを移さないために、現象が生じているようです。フォーカス移動のステートメントを追加したところ,問題は解消されました。
// Button: _root.my_btn
// Buttonアクション
on (release) {
	trace(this);
	trace(_root.focusManager.getFocus());  // フォーカスの確認用
	_root.focusManager.setFocus(_root.my_btn);   // フォーカスの移動
}

フォーカスの黄色い枠が気になる場合には、Button._focusrectプロパティで非表示にします。
// タイムライン: _root
// フレームアクション
this.my_btn._focusrect = false;


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

hirohiro77
Åê¹ÆNo.20942
投稿日時: 2005-10-20 18:21
新米
居住地:
投稿: 9
使用環境:
WinVista,Flash CS3
Re: ボタンのクリック
レスありがとうございます
無事解決できました!

質問分かりずらくてすいませんでした
もっと具体的に書くように心がけます。
ゲスト
Åê¹ÆNo.20949
投稿日時: 2005-10-20 22:27
Re: ボタンのクリック
こんにちは。

まず、動いて何よりです。
そして野中さんフォローありがとうございます。

http://www.fumiononaka.com/TechNotes/Flash/FN0412001.html
と同じ(ような)現象と考えていいのかどうか迷いました。
野中文雄
Åê¹ÆNo.20991
投稿日時: 2005-10-23 14:32
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: ボタンのクリック
今回の問題を、簡単にまとめました。

ComboBoxを選んでButtonを連続クリックするとイベントが発生しない

UI Componentsがon ()ハンドラからキーイベントを奪う」問題については、Flash 8のヘルプに仕様である旨が明記されました(ノートの「原因」の項に追記)。

FocusManagerが、コンポーネント以外のインスタンスに対するイベントハンドリングに予期しない影響を与えるという点では、同じ範疇に属するとはいえそうです。ただ、具体的な現象は、別と捉えてよいように思います(これも仕様といわれる可能性はありますけど)。
引用:
crybabycryさんは書きました:
http://www.fumiononaka.com/TechNotes/Flash/FN0412001.html
と同じ(ような)現象と考えていいのかどうか迷いました。


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

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

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