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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     ボタンが反応しないことがある
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kirarin
Åê¹ÆNo.14548
投稿日時: 2005-1-28 10:11
職人
居住地: 彩の国
投稿: 214
使用環境:
Windows7
IE 8
Flash CS4
Flash Player WIN 10,0,45,2
-------------------------
WindowsXP Professional SP3
IE7.0
Flash 8 Professional
Flash Player 10.0.12.36
-------------------------
Windows2003 Sp1
IE6.0 SP1
Flash MX 2004 ...
ボタンが反応しないことがある
kirarinです。m(__)m
いつもお世話になっております。

ボタンについての質問なのです。

【準備】
・ステージに自作ボタン(○や□などの簡単なもの)を1つ配置
・TextInput(text_txt)コンポーネントを1つ配置

・ボタンに次のスクリプトを記述
on (release) {
	var _dt = new Date();
	_root.text_txt.text = _dt.getMilliseconds();
	Selection.setFocus("text_txt");
}

ボタンのクリックでTextInputにミリ秒を表示し、かつフォーカスをTextInputにセットする、ということをしています。

このとき、マウスをボタンのほぼ中心から絶対に動かさないように続けてクリックすると、稀にボタンが反応しない(TextInputの中身が更新されない)場所ができることがあります。
ただしその場所でも続けて押下するうちに反応するようにもなります(←意識しない間にマウスがずれているだけでしょうか???)

Windows限定でのアプリを作っており、MACで同じ現象があるかは分かりません。
フォーカスをTextInputに移動しているせいでしょうか?
まずはなぜその場所(毎回同じ、ほぼ中心の位置)で反応したりしなかったりがあるのか、という理由を調べています。


ご存知の方、いらっしゃいましたら、アドバイスなど頂けると幸いです。
どうぞよろしくお願いいたしますm(__)m


----------------
Kirarin

野中文雄
Åê¹ÆNo.14559
投稿日時: 2005-1-28 17:27
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: ボタンが反応しないことがある
Mac環境でも再現しました。
引用:
kirarinさんは書きました:
・ステージに自作ボタン(○や□などの簡単なもの)を1つ配置
・TextInput(text_txt)コンポーネントを1つ配置

・ボタンに次のスクリプトを記述
on (release) {
	var _dt = new Date();
	_root.text_txt.text = _dt.getMilliseconds();
	Selection.setFocus("text_txt");
}
...[中略]...
このとき、マウスをボタンのほぼ中心から絶対に動かさないように続けてクリックすると、稀にボタンが反応しない(TextInputの中身が更新されない)場所ができることがあります。

そうだと思います。
引用:
フォーカスをTextInputに移動しているせいでしょうか?

ButtonインスタンスをMovieClipに変更して、クリック位置を確認したうえで、フォーカスを戻す必要がありそうです。
// MovieClip: Buttonインスタンスのタイプを変更
// MovieClipアクション
onClipEvent (load) {
    var oListener:Object = new Object();
    oListener.target_mc = this;
    oListener.onMouseDown = function() {
        if (this.target_mc.hitTest(_root._xmouse, _root._ymouse, true)) {
            Selection.setFocus(String(this.target_mc));
        }
    };
    Mouse.addListener(oListener);
}
on (release) {
    var _dt = new Date();
    _root.text_txt.text = _dt.getMilliseconds();
    Selection.setFocus(String(_parent.text_txt));
}


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

kirarin
Åê¹ÆNo.14744
投稿日時: 2005-2-3 15:44
職人
居住地: 彩の国
投稿: 214
使用環境:
Windows7
IE 8
Flash CS4
Flash Player WIN 10,0,45,2
-------------------------
WindowsXP Professional SP3
IE7.0
Flash 8 Professional
Flash Player 10.0.12.36
-------------------------
Windows2003 Sp1
IE6.0 SP1
Flash MX 2004 ...
Re: ボタンが反応しないことがある
野中さん、いつもありがとうございますm(__)m
お返事がおくれ、申し訳ありませんでした。

頂いたサンプルで試してみました。
マウスダウンのイベントを拾って、ボタンの上にマウスがるようならフォーカスを移動する、ということですよね?
このスクリプトで無事反応のない部分をなくすことが出来ました。
ありがとうございましたm(__)m

なんで真ん中へんなのでしょうね(^^;)

アプリの作り方自体も工夫しなければならないな、と改めて思いました。
アドバイス、ありがとうございましたm(__)m


----------------
Kirarin

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

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