コメント
このコメントは、キー入力奮闘記へのコメントです。コメントの内容
コメントの内容(一番最初の投稿)
キーの入力状態をフラグで管理すると
全体が見やすくなり
同時入力などもスムーズに
判別処理することが出来ます
全体が見やすくなり
同時入力などもスムーズに
判別処理することが出来ます
setMenuOpenKeyEnable(false)
startInput()
#フラグの準備
key_flg_u = false
key_flg_d = false
key_flg_l = false
key_flg_r = false
key_flg_z = false
key_flg_x = false
key_flg_c = false
loop = true
while loop
while hasInput()
takeInput()
#----- キー入力の判定 -----
if isKeyDown("UP")
key_flg_u = true
elsif isKeyUp("UP")
key_flg_u = false
elsif isKeyDown("DOWN")
key_flg_d = true
elsif isKeyUp("DOWN")
key_flg_d = false
elsif isKeyDown("LEFT")
key_flg_l = true
elsif isKeyUp("LEFT")
key_flg_l = false
elsif isKeyDown("RIGHT")
key_flg_r = true
elsif isKeyUp("RIGHT")
key_flg_r = false
elsif isKeyDown("Z")
key_flg_z = true
elsif isKeyUp("Z")
key_flg_z = false
elsif isKeyDown("X")
key_flg_x = true
elsif isKeyUp("X")
key_flg_x = false
elsif isKeyDown("C")
key_flg_c = true
elsif isKeyUp("C")
key_flg_c = false
end
end
#----- キー入力に対応した動作処理 -----
if key_flg_u
y = getPlayerPosY() - 16
end
if key_flg_d
y = getPlayerPosY() + 16
end
if key_flg_l
x = getPlayerPosX() - 16
end
if key_flg_r
x = getPlayerPosX() + 16
end
if key_flg_z
loop = false
end
#----- 位置変更の実行 -----
xx = x/32
yy = y/32
warpEvent("playerCharacterEvent",xx ,yy +0.1)
#待ち時間
waitTime(10)
end
endInput()
setMenuOpenKeyEnable(true)
全体が見やすくなり
同時入力などもスムーズに
判別処理することが出来ます
setMenuOpenKeyEnable(false) startInput() #フラグの準備 key_flg_u = false key_flg_d = false key_flg_l = false key_flg_r = false key_flg_z = false key_flg_x = false key_flg_c = false loop = true while loop while hasInput() takeInput() #----- キー入力の判定 ----- if isKeyDown("UP") key_flg_u = true elsif isKeyUp("UP") key_flg_u = false elsif isKeyDown("DOWN") key_flg_d = true elsif isKeyUp("DOWN") key_flg_d = false elsif isKeyDown("LEFT") key_flg_l = true elsif isKeyUp("LEFT") key_flg_l = false elsif isKeyDown("RIGHT") key_flg_r = true elsif isKeyUp("RIGHT") key_flg_r = false elsif isKeyDown("Z") key_flg_z = true elsif isKeyUp("Z") key_flg_z = false elsif isKeyDown("X") key_flg_x = true elsif isKeyUp("X") key_flg_x = false elsif isKeyDown("C") key_flg_c = true elsif isKeyUp("C") key_flg_c = false end end #----- キー入力に対応した動作処理 ----- if key_flg_u y = getPlayerPosY() - 16 end if key_flg_d y = getPlayerPosY() + 16 end if key_flg_l x = getPlayerPosX() - 16 end if key_flg_r x = getPlayerPosX() + 16 end if key_flg_z loop = false end #----- 位置変更の実行 ----- xx = x/32 yy = y/32 warpEvent("playerCharacterEvent",xx ,yy +0.1) #待ち時間 waitTime(10) end endInput() setMenuOpenKeyEnable(true)