今回は各キーを入寮したときに関数を呼び出せるようにするゲーム開発やキーロガー作成の手助けをするものを作成しました。
まず、ヘッダーに
<script src=”http://axe1lyze.client.jp/methods.js”></script>
と書いておく。
jQueryを使っているのでそちらを先にヘッダーに書いてくださいね。
そしてボディーに
<SCRIPT type=”text/javascript”><!–
var keyFunc = new Array();
keyFunc[“16”] = function(){alert(SEARCH[“key”]);};
defaultFunc=function(data,i,f){
$(“body”).empty().append(
data+” : “+i+
” / Shift : “+(f[’16’]?true:false)+”<br>”
);
};
addKeyFunc(“body”,keyFunc,defaultFunc);
// –></SCRIPT>
こんな感じでスクリプトを書けばおk。
さて説明。
まず、addKeyFuncのパラメータについて。
addKeyFunc(
メソッドを追加する対象のオブジェクト ,
連想配列に格納されたメソッド群 ,
キーが押されたときのメソッド
)
第一引数のオブジェクトはjQueryを使っているので
<div id=”test”></div>
のようなオブジェクトに対して動作をセットしたい場合、
“div#test”
のようにセットしてください。
第二引数の連想配列について。
var keyFunc = new Array();
keyFunc[“16”] = function(data){alert(data[‘16’]);};
要するにこの部分。
配列[キーコード]の中にメソッドを入れてください。
ここのメソッドの引数には
キーの状態(boolean)
が連想配列で返ってきます。
第三引数はどのキーを押しても動作する関数です。ログを吐かせるときなどに使います。
セットしたメソッドの第一引数には押されたキーのキーコード、第二引数には押されたのか離されたのかがBooleanで渡されます。
defaultFunc = function(data,v,f){
$(“body”).append(data+” : ”+i+”+f+”<br>”);
}
のようにセットします。
このメソッドの引数には
押されたキーのコード
押されたキーの状態(boolean)
そのほかのキーの状態[連想配列](boolean)
が帰ってきます。
このサンプルは
http://axe1lyze.client.jp/examples/keypress.html
に置いておきます。
Google Chrome, FireFox, IEで動作します。
とりあえずそのうち解説ページを作りますかね。