Project1

标题: 怎么样设定开关开启时,按“字母键M”时改变变量? [打印本页]

作者: 雷影    时间: 2015-4-30 14:58
标题: 怎么样设定开关开启时,按“字母键M”时改变变量?
找到一个地图系统,系统地图有3种模式,用变量0~3来控制了!
想扩张一下,设定成:
(0=无地图,1=右上小地图,2=画面中央大地图)
获得地图后,地图开关开启
开关开启后,按M键顺序切换3种地图模式
模式的话大约是这样:
按一下M键
地图变量+1
当地图变量=>3时
地图变量=0(无地图显示)
=========================================
另一个想法:
开关为ON时
按着Tab键,地图变量=2(画面中央显示大地图)
放开Tab键,地图变量=0(关闭地图模式)
作者: 三途亚梦    时间: 2015-4-30 17:10
你有全键盘的脚本么?
作者: 雷影    时间: 2015-4-30 17:23
本帖最后由 雷影 于 2015-4-30 17:24 编辑

简单来说就是
按一下M键,某变量+1,当变量大于等于3时,变量清零。

再细致一下就是,当某开关ON时,上面的代码才能执行。
作者: tseyik    时间: 2015-4-30 18:06
本帖最后由 tseyik 于 2015-5-1 08:11 编辑

例:按X制切替迷你地図方式
公共事件>並行>変数1>開関二有効

作者: kuerlulu    时间: 2015-4-30 18:15
(1) 全键盘
  1. module Kboard
  2. module_function
  3. @R_Key_Hash = {}
  4. @R_Key_Repeat = {}
  5. GetKeyState = Win32API.new("user32","GetAsyncKeyState",['I'],'I')
  6. def press?(rkey)
  7.    return GetKeyState.call(rkey) != 0
  8. end
  9. def repeat?(rkey)
  10.    result = GetKeyState.call(rkey)
  11.    if result != 0
  12.      if @R_Key_Repeat[rkey].nil?
  13.        @R_Key_Repeat[rkey] = 0
  14.        return true
  15.      end
  16.      @R_Key_Repeat[rkey] += 1
  17.    else
  18.      @R_Key_Repeat[rkey] = nil
  19.      @R_Key_Hash[rkey] = 0
  20.    end
  21.    if !@R_Key_Repeat[rkey].nil? and @R_Key_Repeat[rkey] > 4 # 4乃准确数字
  22.      @R_Key_Repeat[rkey] = 0
  23.      return true
  24.    else
  25.      return false
  26.    end
  27. end
  28. def trigger?(rkey)
  29.    result = GetKeyState.call(rkey)
  30.    if @R_Key_Hash[rkey] == 1 and result != 0
  31.      return false
  32.    end
  33.    if result != 0
  34.      @R_Key_Hash[rkey] = 1
  35.      return true
  36.    else
  37.      @R_Key_Hash[rkey] = 0
  38.      return false
  39.    end
  40. end
  41. end
复制代码
(2)M键hex: 0x4D
  1. Kboard.trigger?(0x4D)
复制代码
(3)地图变量的操作
(放在你的地图脚本的update内(自己把"地图变量"改成你需要的):)
  1. 地图变量 = (地图变量 + 1) % 3 if Kboard.trigger?(0x4D)
复制代码

作者: zhaoxun96    时间: 2015-5-3 00:00
条件分歧第四页带有“按钮X(X在游戏中可设定为游戏内的上下左右ABXYZLR ——均指游戏按钮而非键盘上的键)被按下时的情况,可以用这个搭配并行做出楼主想要的效果。
至于M键游戏本身是不允许设定M键为某个游戏按钮的、的,所以如果你硬是要M键的话就必须要全键盘脚本。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1