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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     MacのControlキー
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
とんび
Åê¹ÆNo.38335
投稿日時: 2008-4-6 16:08
Bak@Fla大巨匠
居住地: 佐賀県 杵島郡
投稿: 275
使用環境:
MX
CS3
:Flash CS6:CS6
.7.5
MacのControlキー
 リファレンスのページを見るとMacのCommandキーがctrlKeyで取れるよう書いてありますが、Controlキーでも反応しているようです。keyCodeも同じ17です。

http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/events/KeyboardEvent.html

 altKeyはWindowsでしか働かないように書いてありますが、optionキーを押しているかどうか見ているようです。ただしoptionキーを単独打鍵したときはキーイベントが発生しないようです。

 だいたい、マルチプラットフォームの言語で、キーに環境依存名を付けるのが、大いに間違っていますけど。ケータイやゲーム機、更に別の家電とかでの展開とか考えてないんかい。アレは営業のセールストークなんかい。

P.S.
 keyやmouseのstillDownイベントも欲しいなぁ。MacromediaやAdobeにHyperCard並みの高性能を期待しちゃダメなのかなぁ。そういうひとはDirectorなのかなぁ。


----------------
鳶嶋工房

とんび
Åê¹ÆNo.38434
投稿日時: 2008-4-13 19:48
Bak@Fla大巨匠
居住地: 佐賀県 杵島郡
投稿: 275
使用環境:
MX
CS3
:Flash CS6:CS6
.7.5
Macのテンキーが判別できない?

 これ、Macだからなのか良く判らないのですが、メインのキーでもテンキーでも同じコードしか返ってこないんです。
 以下のようなスクリプトで、例えば1ならどっちもメインキーのコードである 49 で、テンキー用の97が返ってこないんです。

stage.addEventListener( KeyboardEvent.KEY_DOWN, keydownHandler );

function keydownHandler( e:KeyboardEvent ):void {
trace("-- key --");
trace("keyDownHandler: " + e.keyCode,"keyLocation: " + e.keyLocation);
trace("ctrl: " + e.ctrlKey,"shift: " + e.shiftKey,"altKey: " + e.altKey);
}


参考:
FlashゲームPG講座 For AS3.0


----------------
鳶嶋工房

とんび
Åê¹ÆNo.38435
投稿日時: 2008-4-13 22:20
Bak@Fla大巨匠
居住地: 佐賀県 杵島郡
投稿: 275
使用環境:
MX
CS3
:Flash CS6:CS6
.7.5
記号はイベントが取れてないようです
追記:
 どうも、_:@^のキーはkeyCodeが取れない以前に、keyDown等のイベントが発生していないようです。
 それから、\(円かバックスラッシュ)は、なぜか65(aのコード)が返ってきます。
 何か私が勘違いしていることを強く希望しますが、バグだとしたら酷すぎる。


----------------
鳶嶋工房

野中文雄
Åê¹ÆNo.38436
投稿日時: 2008-4-13 23:10
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 記号はイベントが取れてないようです
納得できるかどうかは別にして、おそらく原因はキーコードがUS配列のキーボードを基準に定められていることにありそうです。そうすると、JIS配列では余るキーが出てきます。

たとえば、USキーボードでは[/]の右は[shift]キーになってしまいます。もっとも、他の右端のキーの配列を調べると、どういう規則になっているのかは理解しかねますけど([\]が[a]になるとか)。
引用:
とんびさんは書きました:
 どうも、_:@^のキーはkeyCodeが取れない以前に、keyDown等のイベントが発生していないようです。
 それから、\(円かバックスラッシュ)は、なぜか65(aのコード)が返ってきます。


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

とんび
Åê¹ÆNo.38438
投稿日時: 2008-4-14 19:56
Bak@Fla大巨匠
居住地: 佐賀県 杵島郡
投稿: 275
使用環境:
MX
CS3
:Flash CS6:CS6
.7.5
Re: 記号はイベントが取れてないようです
 返答ありがとうございます。なるほどUSキーボードしか考えてないのか、アメリカ産のソフトだし、しょうがないですよね。…って

納得いかーーーん!!!

とりあえず叫んでみました。誰となく。

 んで調べてみたところ、同じJIS配列でも右側の記号部分は、MacとWinで違ってたりしました。
 そしてWinだと、ちゃんとテンキーを認識して違うコードを返してきました。

 Mac用のUSキーボードがあるんで、後で調べてみます。

 とりあえず、概ねキーボードの右小指より先はFlashでは存在しないものとして製作することにします。ユーザがどんなキーボード使っているか分からないので、そもそも使うべきでもないとは思いますが、釈然としません。モヤっと!!


----------------
鳶嶋工房

とんび
Åê¹ÆNo.38444
投稿日時: 2008-4-14 22:54
Bak@Fla大巨匠
居住地: 佐賀県 杵島郡
投稿: 275
使用環境:
MX
CS3
:Flash CS6:CS6
.7.5
キーボードのキーとキーコード
 キーとキーコードの対応表が見つからないと思ったら、ActionScript2.0のところにしか無いようです。にゃんと!

http://livedocs.adobe.com/flash/9.0_jp/main/00001136.html

 見事にMacでは右側のキーが、ぜんぜん違う値を返してきます。とほほーん。

 さらに、オーサリング環境でプレビューを行った場合とFlashPlayerで動作させた場合も、挙動が異なっています。(ちゃんと[キーボードショートカットを無効]にしていても)

P.S.
 これはちゃんとテストやってないんじゃないかなぁ。以前からESCキーが効かないとか、良く分からないバグがあったし(アレはWinのIEがよくないという話ですが)、Flash開発者はキーボードを軽く見ているフシがある。


----------------
鳶嶋工房

とんび
Åê¹ÆNo.38513
投稿日時: 2008-4-22 6:02
Bak@Fla大巨匠
居住地: 佐賀県 杵島郡
投稿: 275
使用環境:
MX
CS3
:Flash CS6:CS6
.7.5
Re: 記号はイベントが取れてないようです
 あー右側の記号、ブラウザで実行した時と、Playerで実行した時で挙動が違うー。こりゃもう完全に使えねーですよ。


----------------
鳶嶋工房

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

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