HSP掲示板で以前話題になっていたのを思い出し、作成。
ビット演算さえ理解できれば案外簡単。
#constで定数をすべて定義しているけれど、やりすぎだったかも知れません。// stickをgetkeyで実装する [stick.hsp]
#undef stick
#module mdl_stick
// getkeyキーコード
#const GETKEY_LEFT 37
#const GETKEY_UP 38
#const GETKEY_RIGHT 39
#const GETKEY_DOWN 40
#const GETKEY_SPACE 32
#const GETKEY_ENTER 13
#const GETKEY_CTRL 17
#const GETKEY_ESC 27
#const GETKEY_LEFTCLICK 1
#const GETKEY_RIGHTCLICK 2
#const GETKEY_TAB 9
#deffunc _initStick
dim KEY_CODE, 11
KEY_CODE( 0 ) = GETKEY_TAB, GETKEY_RIGHTCLICK, GETKEY_LEFTCLICK
KEY_CODE( 3 ) = GETKEY_ESC, GETKEY_CTRL, GETKEY_ENTER
KEY_CODE( 6 ) = GETKEY_SPACE, GETKEY_DOWN, GETKEY_RIGHT
KEY_CODE( 9 ) = GETKEY_UP, GETKEY_LEFT
return
#deffunc _stick var vTarget, int NO_TRIGGER, int CHECK_MODE, local tmp
vTarget = 0
repeat length( KEY_CODE )
getkey tmp, KEY_CODE( cnt )
vTarget = vTarget << 1 | tmp
loop
if ( CHECK_MODE == 1 ) & ( ginfo_act == -1 ){
// HSPウィンドウがアクティブでない
prev = vTarget
vTarget = 0
} else {
tmp = vTarget
vTarget &= ( -1 ^ prev ) | NO_TRIGGER
prev = tmp
}
return
#define global stick( %1, %2=0, %3=1 ) _stick %1, %2, %3
#global
_initStick // 配列の初期化
2007年6月7日木曜日
stick命令をgetkey命令で実装する
登録:
コメントの投稿 (Atom)
7 件のコメント:
コピペできないのは初心者対策かなと思ってました。笑。
初心者ほど手で打ち込んだ方がいいですからね^^
ブログの文字コード(UTF-8?)とスクリプトエディタの文字コード(Shift-JIS)が異なるせいでしょうかねぇ??
kz3さんこんにちは。最近Wikiにいらっしゃらないので少し心配していました^^;。
公式BBSではありがとうございました。
じつはコピペできないのは対策ではなかったのです。動作確認を怠っていたのですね。いい薬になりました。
どうやらこのブログの仕様で、記事が1行にまとめられてしまうようなので、それが原因かなと思っています。表示上では改行されていてもソースコード上では改行されていないので、コピーがうまく利かないのかと。
テキストのアップロードはできないようなので、根本的な対策は無理っぽいですね。
私はコピペ対策って嘘ついてもいいと思いますよ(笑)
最近はアセンブリの本を読んだり、『組込み現場のCプログラミング』っていう本を買って読んでます。
C関連の文法書はある程度読み漁ったので、趣向を変えた内容の本があると興味を惹かれますね。
特に"プロ"グラマじゃないので実際の業務ではどうなのかとか、覗きたくなります。
それではコピペ対策ということにします。
……と言うのは冗談としても、躍起になって解決することでもないですから現状のままにしておきます。プログラミングのネタ(題材)の提供ができればとりあえず充分ですから。
C関連の文法書ですか。私はまだ独習Cを片手に勉強し始めたところなのでこれからです。C/C++はHSPとは比べ物にならないほど書籍が充実していて面白いですね。
私もプログラマに近い職業に就く予定なので実際の業務には興味があります。その関連で最近「プログラミングでメシが食えるか!?」という本を読みまして、やはり"プロ"グラマの方々は非常に気を使うのだなぁと感心しました。命令ひとつで動作スピードが極端に変わることもあるそうで…。
何か面白い本があったらぜひ教えてください。
特選スクリプト掲載をきっかけに、2007/08/05からこの記事もコピーペースト可能になりました。
ここのコメントは記事に「今まではコピペできなかったけど、この記事からはできるかもしれません」と書いてあったことに起因しています。
ちなみに「根本的な対策」はCSSによって実現されました。
こんにちは。
<span class="hsp3_comment">// 配列の初期化
のspanが閉じられていないために、以降の文字の色もおかしくなっているようです。
FUJIさん、ご指摘ありがとうございました。
HTX自体の不具合で、コメントで終わるスクリプトをうまく変換できていないようです。こんな簡単な不具合を見落とすとは自分でもびっくりです。
最新版(v1.41)でも対応していない不具合ですので、急遽更新して対応したいと思います。ありがとうございました。
コメントを投稿