#==============================================================================
# ■ WASD操作方式
#------------------------------------------------------------------------------
# By Zorua 15.10.11
# QQ 252339319
#------------------------------------------------------------------------------
# 对于之前的版本,该版本在原版用方向键的地方都使用WASD控制了。
#------------------------------------------------------------------------------
module Kboard
$R_Key_A = 0x41 # A key
$R_Key_D = 0x44 # D key
$R_Key_S = 0x53 # S key
$R_Key_W = 0x57 # W key
GetKeyState = Win32API.new("user32","GetAsyncKeyState",['I'],'I')
GetKeyboardState = Win32API.new("user32","GetKeyState",['I'],'I')
GetSetKeyState = Win32API.new("user32","SetKeyboardState",['I'],'I')
module_function
def keyboard(rkey)
GetKeyState.call(rkey) & 0x01 == 1 #
end
def key(rkey, key = 0)
GetKeyboardState.call(rkey) & 0x01 == key #
end
def keyb(rkey)
if GetKeyState.call(rkey) != 0
return 1
end
return 0
end
end
module Input
def self.dir4
if Kboard.keyb($R_Key_W) == 1
return 8
elsif Kboard.keyb($R_Key_S) == 1
return 2
elsif Kboard.keyb($R_Key_A) == 1
return 4
elsif Kboard.keyb($R_Key_D) == 1
return 6
else
return 0
end
end
end
class Window_Selectable < Window_Base
def process_cursor_move
return unless cursor_movable?
last_index = @index
cursor_down (Kboard.keyb($R_Key_S) == 1) if Kboard.keyboard($R_Key_S)
cursor_up (Kboard.keyb($R_Key_W) == 1) if Kboard.keyboard($R_Key_W)
cursor_right(Kboard.keyb($R_Key_D) == 1) if Kboard.keyboard($R_Key_D)
cursor_left (Kboard.keyb($R_Key_A) == 1) if Kboard.keyboard($R_Key_A)
cursor_pagedown if !handle?(:pagedown) && Input.trigger?(:R)
cursor_pageup if !handle?(:pageup) && Input.trigger?(:L)
Sound.play_cursor if @index != last_index
end
end
# ■ WASD操作方式
#------------------------------------------------------------------------------
# By Zorua 15.10.11
# QQ 252339319
#------------------------------------------------------------------------------
# 对于之前的版本,该版本在原版用方向键的地方都使用WASD控制了。
#------------------------------------------------------------------------------
module Kboard
$R_Key_A = 0x41 # A key
$R_Key_D = 0x44 # D key
$R_Key_S = 0x53 # S key
$R_Key_W = 0x57 # W key
GetKeyState = Win32API.new("user32","GetAsyncKeyState",['I'],'I')
GetKeyboardState = Win32API.new("user32","GetKeyState",['I'],'I')
GetSetKeyState = Win32API.new("user32","SetKeyboardState",['I'],'I')
module_function
def keyboard(rkey)
GetKeyState.call(rkey) & 0x01 == 1 #
end
def key(rkey, key = 0)
GetKeyboardState.call(rkey) & 0x01 == key #
end
def keyb(rkey)
if GetKeyState.call(rkey) != 0
return 1
end
return 0
end
end
module Input
def self.dir4
if Kboard.keyb($R_Key_W) == 1
return 8
elsif Kboard.keyb($R_Key_S) == 1
return 2
elsif Kboard.keyb($R_Key_A) == 1
return 4
elsif Kboard.keyb($R_Key_D) == 1
return 6
else
return 0
end
end
end
class Window_Selectable < Window_Base
def process_cursor_move
return unless cursor_movable?
last_index = @index
cursor_down (Kboard.keyb($R_Key_S) == 1) if Kboard.keyboard($R_Key_S)
cursor_up (Kboard.keyb($R_Key_W) == 1) if Kboard.keyboard($R_Key_W)
cursor_right(Kboard.keyb($R_Key_D) == 1) if Kboard.keyboard($R_Key_D)
cursor_left (Kboard.keyb($R_Key_A) == 1) if Kboard.keyboard($R_Key_A)
cursor_pagedown if !handle?(:pagedown) && Input.trigger?(:R)
cursor_pageup if !handle?(:pageup) && Input.trigger?(:L)
Sound.play_cursor if @index != last_index
end
end

猫猫









