rpgmakervxace吧 关注:17,918贴子:51,410
  • 8回复贴,共1

【Zorua】WASD控制脚本

只看楼主收藏回复

#==============================================================================
# ■ 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


IP属地:浙江1楼2015-10-11 15:34回复
    P.S. W键本身就是VA默认的翻页键,所以使用时请将翻页键LR改成其他键。
    或者将脚本 54、55修改或屏蔽。【屏蔽不大建议。


    IP属地:浙江2楼2015-10-11 15:36
    收起回复
      2025-12-25 06:05:35
      广告
      不感兴趣
      开通SVIP免广告
      光速加精


      IP属地:山东3楼2015-10-11 17:33
      收起回复
        ヽ(゚∀゚)ノ


        IP属地:上海来自Android客户端4楼2015-10-11 22:22
        收起回复
          如果要把ZX改成JK键应该怎么写脚本呢0.0


          IP属地:广西5楼2016-08-06 19:07
          回复