ソースを上げるスレッド
■ このスレッドは過去ログ倉庫に格納されています
0020hpiでいいのが色々出てるから今さらだが
01/11/08 00:14ID:???;要なかむらさん作JoyPad.dll
;HSPのstick命令と似たような使い方すれー
;返値は
;左 = 1
;右 = 2
;上 = 4
;下 = 8
;ボタン1(決定)= 16
;ボタン2(キャンセル)= 32
;ジョイスティックとキーボードの論理和の値が返ってくる
;テンキー8426とX,Zキーもサポート
#module "joystick"
#deffunc joykey val,int,int
mref ret,16
mref trg,1
mref wnd,2
;初回の起動時のみジョイスティックを初期化
if init_flg = 0{
#uselib "joypad.dll"
#func joypad joypad 1
init_flg = 1
}
;第2パラが1でHSP以外のウインドウがアクティブな場合は入力されていないとみなす
ginfo 1
if (wnd = 1) & (prmx = -1) : ret = 0 : return
;*****キーボードの処理*****
;左
getkey i,37 : key = i : getkey i,100 : key = key or i
;上
getkey i,38 : key = key or (i* 2) : getkey i,104 : key = key or (i*2)
;右
getkey i,39 : key = key or (i* 4) : getkey i,102 : key = key or (i*4)
;下
getkey i,40 : key = key or (i* 8) : getkey i, 98 : key = key or (i*8)
;決定
getkey i,88 : key = key or (i*16) : getkey i, 13 : key = key or (i*16)
;キャンセル
getkey i,90 : key = key or (i*32) : getkey i, 32 : key = key or (i*32)
i = key
;trgの処理をまとめて
key = oldkey ^ key & key | (trg & key)
;*****ジョイスティックの処理*****
joypad joy,trg,0
if joy < 0 : joy = 0
;*****結果をorして返せ*****
ret = key or joy
;今回のキーボード値を保存
oldkey = i
return
#global
■ このスレッドは過去ログ倉庫に格納されています