设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1497|回复: 3
打印 上一主题 下一主题

[已经解决] 【关于按键的问题】想让键盘上的B键生效

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
39 小时
注册时间
2013-2-2
帖子
75
跳转到指定楼层
1
发表于 2013-7-16 20:12:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
是真的键盘上的B键,不是事件里的B键,事件里的B键是键盘上的X键

我想用键位调整玩家的血量,让玩家按"上上下下左左右右BABA"后,加30滴血,上下左右和A键都有,但是没有B键啊

这种情况是要写脚本还是怎么弄?

点评

好吧……LZ在做魂斗罗游戏? = =  发表于 2013-7-17 10:40
LZ一定是做了6R无节操60问……  发表于 2013-7-17 10:39

Lv1.梦旅人

梦石
0
星屑
50
在线时间
260 小时
注册时间
2013-4-19
帖子
216
2
发表于 2013-7-16 20:15:48 | 只看该作者
按F1会跳出一个对话框
选择第三个选项卡

1a1b1c.png (8.66 KB, 下载次数: 21)

1a1b1c.png

评分

参与人数 1星屑 +50 收起 理由
怪蜀黍 + 50 我很赞同

查看全部评分

【轩辕Game】
【广告位出租】
【广告位出租】
回复 支持 反对

使用道具 举报

Lv4.逐梦者

送快递的水表员

梦石
10
星屑
4867
在线时间
3303 小时
注册时间
2012-6-27
帖子
7160

开拓者贵宾

3
发表于 2013-7-16 20:36:53 | 只看该作者
  1. #===============================================================================
  2. #** VX Input Module 输入脚本
  3. #===============================================================================

  4. module Input
  5.     @keys = []
  6.     @pressed = []
  7.     Mouse_Left = 1
  8.     Mouse_Right = 2
  9.     Mouse_Middle = 4
  10.     Back= 8
  11.     Tab = 9
  12.     Enter = 13
  13.     Shift = 16
  14.     Ctrl = 17
  15.     Alt = 18
  16.     Esc = 0x1B
  17.     LT = 0x25
  18.     UPs = 0x26  
  19.     RT = 0x27
  20.     DN = 0x28
  21.     Space = 32
  22.     Numberkeys = {}
  23.     Numberkeys[0] = 48
  24.     Numberkeys[1] = 49
  25.     Numberkeys[2] = 50
  26.     Numberkeys[3] = 51
  27.     Numberkeys[4] = 52
  28.     Numberkeys[5] = 53
  29.     Numberkeys[6] = 54
  30.     Numberkeys[7] = 55
  31.     Numberkeys[8] = 56
  32.     Numberkeys[9] = 57
  33.     Numberpad = {}
  34.     Numberpad[0] = 45
  35.     Numberpad[1] = 35
  36.     Numberpad[2] = 40
  37.     Numberpad[3] = 34
  38.     Numberpad[4] = 37
  39.     Numberpad[5] = 12
  40.     Numberpad[6] = 39
  41.     Numberpad[7] = 36
  42.     Numberpad[8] = 38
  43.     Numberpad[9] = 33
  44.     Letters = {}
  45.     Letters["A"] = 65
  46.     Letters["B"] = 66
  47.     Letters["C"] = 67
  48.     Letters["D"] = 68
  49.     Letters["E"] = 69
  50.     Letters["F"] = 70
  51.     Letters["G"] = 71
  52.     Letters["H"] = 72
  53.     Letters["I"] = 73
  54.     Letters["J"] = 74
  55.     Letters["K"] = 75
  56.     Letters["L"] = 76
  57.     Letters["M"] = 77
  58.     Letters["N"] = 78
  59.     Letters["O"] = 79
  60.     Letters["P"] = 80
  61.     Letters["Q"] = 81
  62.     Letters["R"] = 82
  63.     Letters["S"] = 83
  64.     Letters["T"] = 84
  65.     Letters["U"] = 85
  66.     Letters["V"] = 86
  67.     Letters["W"] = 87
  68.     Letters["X"] = 88
  69.     Letters["Y"] = 89
  70.     Letters["Z"] = 90
  71.     Fkeys = {}
  72.     Fkeys[1] = 112
  73.     Fkeys[2] = 113
  74.     Fkeys[3] = 114
  75.     Fkeys[4] = 115
  76.     Fkeys[5] = 116
  77.     Fkeys[6] = 117
  78.     Fkeys[7] = 118
  79.     Fkeys[8] = 119
  80.     Fkeys[9] = 120
  81.     Fkeys[10] = 121
  82.     Fkeys[11] = 122
  83.     Fkeys[12] = 123
  84.     Collon = 186
  85.     Equal = 187
  86.     Comma = 188
  87.     Underscore = 189
  88.     Dot = 190
  89.     Backslash = 191
  90.     Lb = 219
  91.     Rb = 221
  92.     Quote = 222
  93.     State = Win32API.new('user32','GetKeyState',['i'],'i')
  94.     Key = Win32API.new('user32','GetAsyncKeyState',['i'],'i')
  95. #-------------------------------------------------------------------------------
  96.     USED_KEYS = [Mouse_Left, Mouse_Right, Mouse_Middle]
  97. #-------------------------------------------------------------------------------
  98.   module_function
  99.     #--------------------------------------------------------------------------  
  100.     def Input.getstate(key)
  101.       return true unless State.call(key).between?(0, 1)
  102.       return false
  103.     end
  104.     #--------------------------------------------------------------------------
  105.     def Input.testkey(key)
  106.       Key.call(key) & 0x01 == 1
  107.     end
  108.     #--------------------------------------------------------------------------
  109.     def Input.update
  110.       @keys = []
  111.       @keys.push(Input::Mouse_Left) if Input.testkey(Input::Mouse_Left)
  112.       @keys.push(Input::Mouse_Right) if Input.testkey(Input::Mouse_Right)
  113.       @keys.push(Input::Back) if Input.testkey(Input::Back)
  114.       @keys.push(Input::Tab) if Input.testkey(Input::Tab)
  115.       @keys.push(Input::Enter) if Input.testkey(Input::Enter)
  116.       @keys.push(Input::Shift) if Input.testkey(Input::Shift)
  117.       @keys.push(Input::Ctrl) if Input.testkey(Input::Ctrl)
  118.       @keys.push(Input::Alt) if Input.testkey(Input::Alt)
  119.       @keys.push(Input::Esc) if Input.testkey(Input::Esc)
  120.       for key in Input::Letters.values
  121.         @keys.push(key) if Input.testkey(key)
  122.       end
  123.       for key in Input::Numberkeys.values
  124.         @keys.push(key) if Input.testkey(key)
  125.       end
  126.       for key in Input::Numberpad.values
  127.         @keys.push(key) if Input.testkey(key)
  128.       end
  129.       for key in Input::Fkeys.values
  130.         @keys.push(key) if Input.testkey(key)
  131.       end
  132.       @keys.push(Input::Collon) if Input.testkey(Input::Collon)
  133.       @keys.push(Input::Equal) if Input.testkey(Input::Equal)
  134.       @keys.push(Input::Comma) if Input.testkey(Input::Comma)
  135.       @keys.push(Input::Underscore) if Input.testkey(Input::Underscore)
  136.       @keys.push(Input::Dot) if Input.testkey(Input::Dot)
  137.       @keys.push(Input::Backslash) if Input.testkey(Input::Backslash)
  138.       @keys.push(Input::Lb) if Input.testkey(Input::Lb)
  139.       @keys.push(Input::Rb) if Input.testkey(Input::Rb)
  140.       @keys.push(Input::Quote) if Input.testkey(Input::Quote)
  141.       @keys.push(Input::Space) if Input.testkey(Input::Space)
  142.       @keys.push(Input::LT) if Input.testkey(Input::LT)
  143.       @keys.push(Input::UPs) if Input.testkey(Input::UPs)
  144.       @keys.push(Input::RT) if Input.testkey(Input::RT)
  145.       @keys.push(Input::DN) if Input.testkey(Input::DN)
  146.       @pressed = []
  147.       @pressed.push(Input::Space) if Input.getstate(Input::Space)
  148.       @pressed.push(Input::Mouse_Left) if Input.getstate(Input::Mouse_Left)
  149.       @pressed.push(Input::Mouse_Right) if Input.getstate(Input::Mouse_Right)
  150.       @pressed.push(Input::Back) if Input.getstate(Input::Back)
  151.       @pressed.push(Input::Tab) if Input.getstate(Input::Tab)
  152.       @pressed.push(Input::Enter) if Input.getstate(Input::Enter)
  153.       @pressed.push(Input::Shift) if Input.getstate(Input::Shift)
  154.       @pressed.push(Input::Ctrl) if Input.getstate(Input::Ctrl)
  155.       @pressed.push(Input::Alt) if Input.getstate(Input::Alt)
  156.       @pressed.push(Input::Esc) if Input.getstate(Input::Esc)
  157.       @pressed.push(Input::LT) if Input.getstate(Input::LT)
  158.       @pressed.push(Input::UPs) if Input.getstate(Input::UPs)
  159.       @pressed.push(Input::RT) if Input.getstate(Input::RT)
  160.       @pressed.push(Input::DN) if Input.getstate(Input::DN)
  161.       for key in Input::Numberkeys.values
  162.         @pressed.push(key) if Input.getstate(key)
  163.       end
  164.       for key in Input::Numberpad.values
  165.         @pressed.push(key) if Input.getstate(key)
  166.       end
  167.       for key in Input::Letters.values
  168.         @pressed.push(key) if Input.getstate(key)
  169.       end
  170.       for key in Input::Fkeys.values
  171.         @pressed.push(key) if Input.getstate(key)
  172.       end
  173.       @pressed.push(Input::Collon) if Input.getstate(Input::Collon)
  174.       @pressed.push(Input::Equal) if Input.getstate(Input::Equal)
  175.       @pressed.push(Input::Comma) if Input.getstate(Input::Comma)
  176.       @pressed.push(Input::Underscore) if Input.getstate(Input::Underscore)
  177.       @pressed.push(Input::Dot) if Input.getstate(Input::Dot)
  178.       @pressed.push(Input::Backslash) if Input.getstate(Input::Backslash)
  179.       @pressed.push(Input::Lb) if Input.getstate(Input::Lb)
  180.       @pressed.push(Input::Rb) if Input.getstate(Input::Rb)
  181.       @pressed.push(Input::Quote) if Input.getstate(Input::Quote)  
  182.     end
  183.     #--------------------------------------------------------------------------
  184.     def Input.triggerd?(key)
  185.       return true if @keys.include?(key)
  186.       return false
  187.     end
  188.     #--------------------------------------------------------------------------
  189.     def Input.pressed?(key)
  190.       return true if @pressed.include?(key)
  191.       return false
  192.     end
  193.   #--------------------------------------------------------------------------
  194.   # * 4 Diraction
  195.   #--------------------------------------------------------------------------
  196.   def Input.dir4
  197.     return 2 if Input.pressed?(Input::DN)
  198.     return 4 if Input.pressed?(Input::LT)
  199.     return 6 if Input.pressed?(Input::RT)
  200.     return 8 if Input.pressed?(Input::UPs)
  201.     return 0
  202.   end
  203.   #--------------------------------------------------------------------------
  204.   # * Trigger (key)
  205.   #--------------------------------------------------------------------------
  206.   def trigger?(key)
  207.     keys = []
  208.     case key
  209.     when Input::DOWN
  210.       keys.push(Input::DN)
  211.     when Input::UP
  212.       keys.push(Input::UPs)
  213.     when Input::LEFT
  214.       keys.push(Input::LT)
  215.     when Input::RIGHT
  216.       keys.push(Input::RT)
  217.     when Input::A
  218.       keys.push(Input::Shift)
  219.     when Input::B
  220.       keys.push(Input::Esc, Input::Numberpad[0])
  221.     when Input::C
  222.       keys.push(Input::Space, Input::Enter)
  223.     when Input::L
  224.       keys.push(Input::Letters["Q"])
  225.     when Input::R
  226.       keys.push(Input::Letters["W"])
  227.     when Input::X
  228.       keys.push(Input::Letters["A"])
  229.     when Input::Y
  230.       keys.push(Input::Letters["S"])
  231.     when Input::Z
  232.       keys.push(Input::Letters["D"])
  233.     when Input::F5
  234.       keys.push(Input::Fkeys[5])
  235.     when Input::F6
  236.       keys.push(Input::Fkeys[6])
  237.     when Input::F7
  238.       keys.push(Input::Fkeys[7])
  239.     when Input::F8
  240.       keys.push(Input::Fkeys[8])
  241.     when Input::F9
  242.       keys.push(Input::Fkeys[9])
  243.     when Input::CTRL
  244.       keys.push(Input::Ctrl)
  245.     when Input::ALT
  246.       keys.push(Input::Alt)
  247.     else
  248.       keys.push(key)
  249.     end
  250.     for k in keys
  251.      if Input.triggerd?(k)
  252.        return true
  253.      end
  254.    end
  255.    return false
  256. end
  257.   #--------------------------------------------------------------------------
  258.   # * Repeat (key)
  259.   #--------------------------------------------------------------------------
  260.   def repeat?(key)
  261.     keys = []
  262.     case key
  263.     when Input::DOWN
  264.       keys.push(Input::DN)
  265.     when Input::UP
  266.       keys.push(Input::UPs)
  267.     when Input::LEFT
  268.       keys.push(Input::LT)
  269.     when Input::RIGHT
  270.       keys.push(Input::RT)
  271.     when Input::A
  272.       keys.push(Input::Shift)
  273.     when Input::B
  274.       keys.push(Input::Esc, Input::Numberpad[0])
  275.     when Input::C
  276.       keys.push(Input::Space, Input::Enter)
  277.     when Input::L
  278.       keys.push(Input::Letters["Q"])
  279.     when Input::R
  280.       keys.push(Input::Letters["W"])
  281.     when Input::X
  282.       keys.push(Input::Letters["A"])
  283.     when Input::Y
  284.       keys.push(Input::Letters["S"])
  285.     when Input::Z
  286.       keys.push(Input::Letters["D"])
  287.     when Input::F5
  288.       keys.push(Input::Fkeys[5])
  289.     when Input::F6
  290.       keys.push(Input::Fkeys[6])
  291.     when Input::F7
  292.       keys.push(Input::Fkeys[7])
  293.     when Input::F8
  294.       keys.push(Input::Fkeys[8])
  295.     when Input::F9
  296.       keys.push(Input::Fkeys[9])
  297.     when Input::CTRL
  298.       keys.push(Input::Ctrl)
  299.     when Input::ALT
  300.       keys.push(Input::Alt)
  301.     else
  302.       keys.push(key)
  303.     end
  304.     for k in keys
  305.      if Input.triggerd?(k)
  306.        return true
  307.      end
  308.    end
  309.    return false
  310.   end     
  311.   #--------------------------------------------------------------------------
  312.   # * Press (key)
  313.   #--------------------------------------------------------------------------
  314.   def press?(key)
  315.     keys = []
  316.     case key
  317.     when Input::DOWN
  318.       keys.push(Input::DN)
  319.     when Input::UP
  320.       keys.push(Input::UPs)
  321.     when Input::LEFT
  322.       keys.push(Input::LT)
  323.     when Input::RIGHT
  324.       keys.push(Input::RT)
  325.     when Input::A
  326.       keys.push(Input::Shift)
  327.     when Input::B
  328.       keys.push(Input::Esc, Input::Numberpad[0])
  329.     when Input::C
  330.       keys.push(Input::Space, Input::Enter)
  331.     when Input::L
  332.       keys.push(Input::Letters["Q"])
  333.     when Input::R
  334.       keys.push(Input::Letters["W"])
  335.     when Input::X
  336.       keys.push(Input::Letters["A"])
  337.     when Input::Y
  338.       keys.push(Input::Letters["S"])
  339.     when Input::Z
  340.       keys.push(Input::Letters["D"])  
  341.     when Input::F5
  342.       keys.push(Input::Fkeys[5])
  343.     when Input::F6
  344.       keys.push(Input::Fkeys[6])
  345.     when Input::F7
  346.       keys.push(Input::Fkeys[7])
  347.     when Input::F8
  348.       keys.push(Input::Fkeys[8])
  349.     when Input::F9
  350.       keys.push(Input::Fkeys[9])
  351.     when Input::CTRL
  352.       keys.push(Input::Ctrl)
  353.     when Input::ALT
  354.       keys.push(Input::Alt)
  355.     else
  356.       keys.push(key)
  357.     end
  358.     for k in keys
  359.      if Input.pressed?(k)
  360.        return true
  361.      end
  362.    end
  363.    return false
  364.   end     
  365.   #--------------------------------------------------------------------------
  366.   # * Check (key)
  367.   #--------------------------------------------------------------------------
  368.   def check(key)
  369.     Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(key) & 0x01 == 1  # key 0
  370.   end
  371.   #--------------------------------------------------------------------------
  372.   # * Mouse Update
  373.   #--------------------------------------------------------------------------
  374.   def mouse_update
  375.     @used_i = []
  376.     for i in USED_KEYS
  377.       x = check(i)
  378.       if x == true
  379.         @used_i.push(i)
  380.       end
  381.     end
  382.   end
  383.   #--------------------------------------------------------------------------
  384.   # * Short Write C
  385.   #--------------------------------------------------------------------------
  386.   def Input.C
  387.     Input.trigger?(C)
  388.   end
  389.   #--------------------------------------------------------------------------
  390.   # * Short Write B
  391.   #--------------------------------------------------------------------------
  392.   def Input.B
  393.     Input.trigger?(B)
  394.   end
  395.   #--------------------------------------------------------------------------
  396.   # * Short Write A
  397.   #--------------------------------------------------------------------------
  398.   def Input.A
  399.     Input.trigger?(A)
  400.   end
  401.   #--------------------------------------------------------------------------
  402.   # * Short Write Down
  403.   #--------------------------------------------------------------------------
  404.   def Input.Down
  405.     Input.trigger?(DOWN)
  406.   end
  407.   #--------------------------------------------------------------------------
  408.   # * Short Write Up
  409.   #--------------------------------------------------------------------------
  410.   def Input.Up
  411.     Input.trigger?(UP)
  412.   end
  413.   #--------------------------------------------------------------------------
  414.   # * Short Write Right
  415.   #--------------------------------------------------------------------------
  416.   def Input.Right
  417.     Input.trigger?(RIGHT)
  418.   end
  419.   #--------------------------------------------------------------------------
  420.   # * Short Write Left
  421.   #--------------------------------------------------------------------------
  422.   def Input.Left
  423.     Input.trigger?(LEFT)
  424.   end
  425.   #--------------------------------------------------------------------------
  426.   # * Anykey pressed?  ( A or B or C or Down or Up or Right or Left )
  427.   #--------------------------------------------------------------------------
  428.   def Input.Anykey
  429.     if A or B or C or Down or Up or Right or Left
  430.       return true
  431.     else
  432.       return false
  433.     end
  434.   end
  435.   def Input.name?(num)
  436.     return "MOUSE PRIMARY" if num==1
  437.     return "MOUSE SECONDARY" if num==2
  438.     return "MOUSE MIDDLE" if num==4
  439.     return "MOUSE 4TH" if num==5
  440.     return "MOUSE 5TH" if num==6
  441.     return "BACKSPACE" if num==8
  442.     return "TAB" if num==9
  443.     return "RETURN" if num==13
  444.     return "SHIFT" if num==16
  445.     return "CTLR" if num==17
  446.     return "ALT" if num==18
  447.     return "CAPS LOCK" if num==20
  448.     return "ESCAPE" if num==27
  449.     return "SPACE" if num==32
  450.     return "PGUP" if num==33
  451.     return "PGDN" if num==34
  452.     return "END" if num==35
  453.     return "HOME" if num==36
  454.     return "LEFT" if num==37
  455.     return "UP" if num==38
  456.     return "RIGHT" if num==39
  457.     return "DOWN" if num==40
  458.     return "SNAPSHOT" if num==44
  459.     return "INSERT" if num==45
  460.     return "DELETE" if num==46
  461.     return "0" if num==48
  462.     return "1" if num==49
  463.     return "2" if num==50
  464.     return "3" if num==51
  465.     return "4" if num==52
  466.     return "5" if num==53
  467.     return "6" if num==54
  468.     return "7" if num==55
  469.     return "8" if num==56
  470.     return "9" if num==57
  471.     return "A" if num==65
  472.     return "B" if num==66
  473.     return "C" if num==67
  474.     return "D" if num==68
  475.     return "E" if num==69
  476.     return "F" if num==70
  477.     return "G" if num==71
  478.     return "H" if num==72
  479.     return "I" if num==73
  480.     return "J" if num==74
  481.     return "K" if num==75
  482.     return "L" if num==76
  483.     return "M" if num==77
  484.     return "N" if num==78
  485.     return "O" if num==79
  486.     return "P" if num==80
  487.     return "Q" if num==81
  488.     return "R" if num==82
  489.     return "S" if num==83
  490.     return "T" if num==84
  491.     return "U" if num==85
  492.     return "V" if num==86
  493.     return "W" if num==87
  494.     return "X" if num==88
  495.     return "Y" if num==89
  496.     return "Z" if num==90
  497.     return "LWIN" if num==91
  498.     return "RWIN" if num==92
  499.     return "APPS" if num==93
  500.     return "0" if num==96
  501.     return "1" if num==97
  502.     return "2" if num==98
  503.     return "3" if num==99
  504.     return "4" if num==100
  505.     return "5" if num==101
  506.     return "6" if num==102
  507.     return "7" if num==103
  508.     return "8" if num==104
  509.     return "9" if num==105
  510.     return "*" if num==106
  511.     return "+" if num==107
  512.     return "-" if num==109
  513.     return "." if num==110
  514.     return "/" if num==111
  515.     return "F1" if num==112
  516.     return "F2" if num==113
  517.     return "F3" if num==114
  518.     return "F4" if num==115
  519.     return "F5" if num==116
  520.     return "F6" if num==117
  521.     return "F7" if num==118
  522.     return "F8" if num==119
  523.     return "F9" if num==120
  524.     return "F10" if num==121
  525.     return "F11" if num==122
  526.     return "F12" if num==123
  527.     return "NUM LOCK" if num==144
  528.     return "SCROLL LOCK" if num==145
  529.     return "LEFT SHIFT" if num==160
  530.     return "RIGHT SHIFT" if num==161
  531.     return "LEFT CTRL" if num==162
  532.     return "RIGHT CTRL" if num==163
  533.     return "LEFT ALT" if num==164
  534.     return "RIGHT ALT" if num==165
  535.     return ";" if num==186
  536.     return "=" if num==187
  537.     return "," if num==188
  538.     return "_" if num==189
  539.     return "." if num==190
  540.     return "/" if num==191
  541.     return "`" if num==192
  542.     return "[" if num==219
  543.     return " \\ " if num==220
  544.     return "]" if num==221
  545.     return "'" if num==222
  546.     return "??? - " + "#{num}"
  547.   end
  548. end

  549. #==============================================================================
  550. # Módulo AntiLag
  551. #==============================================================================
  552.     module AntiLag
  553.       SPC = Win32API.new("kernel32", "SetPriorityClass", "pi", "i")
  554.       @@high_priority = false
  555.       def self.high_priority ; @@high_priority; end
  556.       def self.high_priority?; @@high_priority; end
  557.       def self.high_priority=(valor)
  558.         return if @@high_priority == valor
  559.         @@high_priority = valor
  560.         if @@high_priority
  561.           SPC.call(-1, 0x80)
  562.           return
  563.         end
  564.         SPC.call(-1, 0x20)
  565.       end
  566.     end
  567.     AntiLag.high_priority = true
复制代码
看到过一个,似乎是支持全键盘操作的,但是我没研究过……几乎都没怎么看过,所以不要问我怎么用……

评分

参与人数 1星屑 +50 收起 理由
怪蜀黍 + 50 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

沉睡的八宝粥 

梦石
0
星屑
64
在线时间
832 小时
注册时间
2011-4-22
帖子
2996

短篇七萝莉正太组季军

4
发表于 2013-7-16 22:14:43 | 只看该作者
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. #============================================================================
  5. # ■ Keyboard Script
  6. #----------------------------------------------------------------------------
  7. #  By: Cybersam
  8. #   Date: 25/05/05
  9. #   Version 4
  10. #============================================================================
  11. # 66对此脚本使用方法的说明(可能不是很准确,反正大体能用):
  12. #
  13. # ★、Kboard.keyboard(键位)  返回是否按下这个键的判断。
  14. #     比如条件分歧:Kboard.keyboard($R_Key_H)
  15. #                   则当按下键盘H键的时候条件分歧成立
  16. #
  17. # ★、Kboard.keyb(键位) == 1 当连续按住某键返回真,否则为false
  18. #     比如条件分歧:Kboard.keyb($R_Key_U) == 1
  19.                        #$R_Key_L_ALT
  20. #                   则当持续按下键盘U的时候条件分歧成立
  21. #
  22. # ★、Kboard.key(键位,1) 似乎可以做开关用。按下一次变为true,再按变false
  23. #============================================================================

  24. module Kboard
  25.   #==========================================================================
  26.   # 以下是全键盘按键列表
  27.   #--------------------------------------------------------------------------
  28.   $Rmouse_BUTTON_L = 0x01        # left mouse button
  29.   $Rmouse_BUTTON_R = 0x02        # right mouse button
  30.   $Rmouse_BUTTON_M = 0x04        # middle mouse button
  31.   $Rmouse_BUTTON_4 = 0x05        # 4th mouse button
  32.   $Rmouse_BUTTON_5 = 0x06        # 5th mouse button
  33.   #--------------------------------------------------------------------------
  34.   $R_Key_BACK      = 0x08        # BACKSPACE key
  35.   $R_Key_TAB       = 0x09        # TAB key
  36.   $R_Key_RETURN    = 0x0D        # ENTER key
  37.   $R_Key_SHIFT     = 0x10        # SHIFT key
  38.   $R_Key_CTLR      = 0x11        # CTLR key
  39.   $R_Key_ALT       = 0x12        # ALT key
  40.   $R_Key_PAUSE     = 0x13        # PAUSE key
  41.   $R_Key_CAPITAL   = 0x14        # CAPS LOCK key
  42.   $R_Key_ESCAPE    = 0x1B        # ESC key
  43.   $R_Key_SPACE     = 0x20        # SPACEBAR
  44.   $R_Key_PRIOR     = 0x21        # PAGE UP key
  45.   $R_Key_NEXT      = 0x22        # PAGE DOWN key
  46.   $R_Key_END       = 0x23        # END key
  47.   $R_Key_HOME      = 0x24        # HOME key
  48.   $R_Key_LEFT      = 0x25        # LEFT ARROW key
  49.   $R_Key_UP        = 0x26        # UP ARROW key
  50.   $R_Key_RIGHT     = 0x27        # RIGHT ARROW key
  51.   $R_Key_DOWN      = 0x28        # DOWN ARROW key
  52.   $R_Key_SELECT    = 0x29        # SELECT key
  53.   $R_Key_PRINT     = 0x2A        # PRINT key
  54.   $R_Key_SNAPSHOT  = 0x2C        # PRINT SCREEN key
  55.   $R_Key_INSERT    = 0x2D        # INS key
  56.   $R_Key_DELETE    = 0x2E        # DEL key
  57.   #--------------------------------------------------------------------------
  58.   $R_Key_0         = 0x30        # 0 key
  59.   $R_Key_1         = 0x31        # 1 key
  60.   $R_Key_2         = 0x32        # 2 key
  61.   $R_Key_3         = 0x33        # 3 key
  62.   $R_Key_4         = 0x34        # 4 key
  63.   $R_Key_5         = 0x35        # 5 key
  64.   $R_Key_6         = 0x36        # 6 key
  65.   $R_Key_7         = 0x37        # 7 key
  66.   $R_Key_8         = 0x38        # 8 key
  67.   $R_Key_9         = 0x39        # 9 key
  68.   #--------------------------------------------------------------------------
  69.   $R_Key_A         = 0x41        # A key
  70.   $R_Key_B         = 0x42        # B key
  71.   $R_Key_C         = 0x43        # C key
  72.   $R_Key_D         = 0x44        # D key
  73.   $R_Key_E         = 0x45        # E key
  74.   $R_Key_F         = 0x46        # F key
  75.   $R_Key_G         = 0x47        # G key
  76.   $R_Key_H         = 0x48        # H key
  77.   $R_Key_I         = 0x49        # I key
  78.   $R_Key_J         = 0x4A        # J key
  79.   $R_Key_K         = 0x4B        # K key
  80.   $R_Key_L         = 0x4C        # L key
  81.   $R_Key_M         = 0x4D        # M key
  82.   $R_Key_N         = 0x4E        # N key
  83.   $R_Key_O         = 0x4F        # O key
  84.   $R_Key_P         = 0x50        # P key
  85.   $R_Key_Q         = 0x51        # Q key
  86.   $R_Key_R         = 0x52        # R key
  87.   $R_Key_S         = 0x53        # S key
  88.   $R_Key_T         = 0x54        # T key
  89.   $R_Key_U         = 0x55        # U key
  90.   $R_Key_V         = 0x56        # V key
  91.   $R_Key_W         = 0x57        # W key
  92.   $R_Key_X         = 0x58        # X key
  93.   $R_Key_Y         = 0x59        # Y key
  94.   $R_Key_Z         = 0x5A        # Z key
  95.   #--------------------------------------------------------------------------
  96.   $R_Key_LWIN      = 0x5B        # Left Windows key (Microsoft Natural keyboard)
  97.   $R_Key_RWIN      = 0x5C        # Right Windows key (Natural keyboard)
  98.   $R_Key_APPS      = 0x5D        # Applications key (Natural keyboard)
  99.   #--------------------------------------------------------------------------
  100.   $R_Key_NUMPAD0   = 0x60        # Numeric keypad 0 key
  101.   $R_Key_NUMPAD1   = 0x61        # Numeric keypad 1 key
  102.   $R_Key_NUMPAD2   = 0x62        # Numeric keypad 2 key
  103.   $R_Key_NUMPAD3   = 0x63        # Numeric keypad 3 key
  104.   $R_Key_NUMPAD4   = 0x64        # Numeric keypad 4 key
  105.   $R_Key_NUMPAD5   = 0x65        # Numeric keypad 5 key
  106.   $R_Key_NUMPAD6   = 0x66        # Numeric keypad 6 key
  107.   $R_Key_NUMPAD7   = 0x67        # Numeric keypad 7 key
  108.   $R_Key_NUMPAD8   = 0x68        # Numeric keypad 8 key
  109.   $R_Key_NUMPAD9  = 0x69        # Numeric keypad 9 key
  110.   $R_Key_MULTIPLY  = 0x6A        # Multiply key (*)
  111.   $R_Key_ADD       = 0x6B        # Add key (+)
  112.   $R_Key_SEPARATOR = 0x6C        # Separator key
  113.   $R_Key_SUBTRACT  = 0x6D        # Subtract key (-)
  114.   $R_Key_DECIMAL   = 0x6E        # Decimal key
  115.   $R_Key_DIVIDE    = 0x6F        # Divide key (/)
  116.   #--------------------------------------------------------------------------
  117.   $R_Key_F1        = 0x70        # F1 key
  118.   $R_Key_F2        = 0x71        # F2 key
  119.   $R_Key_F3        = 0x72        # F3 key
  120.   $R_Key_F4        = 0x73        # F4 key
  121.   $R_Key_F5        = 0x74        # F5 key
  122.   $R_Key_F6        = 0x75        # F6 key
  123.   $R_Key_F7        = 0x76        # F7 key
  124.   $R_Key_F8        = 0x77        # F8 key
  125.   $R_Key_F9        = 0x78        # F9 key
  126.   $R_Key_F10       = 0x79        # F10 key
  127.   $R_Key_F11       = 0x7A        # F11 key
  128.   $R_Key_F12       = 0x7B        # F12 key
  129.   #--------------------------------------------------------------------------
  130.   $R_Key_NUMLOCK   = 0x90        # NUM LOCK key
  131.   $R_Key_SCROLL    = 0x91        # SCROLL LOCK key
  132.   #--------------------------------------------------------------------------
  133.   $R_Key_LSHIFT    = 0xA0        # Left SHIFT key
  134.   $R_Key_RSHIFT    = 0xA1        # Right SHIFT key
  135.   $R_Key_LCONTROL  = 0xA2        # Left CONTROL key
  136.   $R_Key_RCONTROL  = 0xA3        # Right CONTROL key
  137.   $R_Key_L_ALT    = 0xA4        # Left ALT key
  138.   $R_Key_R_ALT    = 0xA5        # Right ALT key
  139.   #--------------------------------------------------------------------------
  140.   $R_Key_SEP      = 0xBC        # , key
  141.   $R_Key_DASH      = 0xBD        # - key
  142.   $R_Key_DOTT      = 0xBE        # . Key
  143.   #--------------------------------------------------------------------------
  144.   GetKeyState = Win32API.new("user32","GetAsyncKeyState",['I'],'I')
  145.   GetKeyboardState = Win32API.new("user32","GetKeyState",['I'],'I')
  146.   GetSetKeyState = Win32API.new("user32","SetKeyboardState",['I'],'I')
  147.   #--------------------------------------------------------------------------
  148.   module_function
  149.   #--------------------------------------------------------------------------
  150.   def keyb(rkey)
  151.      if GetKeyState.call(rkey) != 0
  152.        return 1
  153.      end
  154.      return 0
  155.   end
  156.    #--------------------------------------------------------------------------
  157.   def keyboard(rkey)
  158.     GetKeyState.call(rkey) & 0x01 == 1  #
  159.   end
  160.   #--------------------------------------------------------------------------
  161.   def key(rkey, key = 0)
  162.     GetKeyboardState.call(rkey) & 0x01 == key #
  163.   end
  164. end

  165. #==============================================================================
  166. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  167. #==============================================================================
复制代码

评分

参与人数 1星屑 +50 收起 理由
怪蜀黍 + 50 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-23 08:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表