Project1
标题:
如何改变移动按键
[打印本页]
作者:
q374435503
时间:
2014-2-28 18:34
标题:
如何改变移动按键
就是把↑↓←→移动方式改为WSAD?
{:2_285:} ↑↓←→太不爽了!若是能更改确定键就跟好了。
作者:
小学生
时间:
2014-3-2 08:17
按F1调整键位。
作者:
无脑之人
时间:
2014-3-2 15:02
首先加一个全键盘脚本
然后在Main前插入以下脚本:
class << Input
Key_C = [$R_Key_ENTER,$R_Key_Z] #确定键系列
Key_B = [$R_Key_ESC,$R_Key_X] #退出键系列
Key_UP = [$R_Key_UP,$R_Key_W]
Key_DOWN = [$R_Key_DOWN,$R_Key_S]
Key_LEFT = [$R_Key_LEFT,$R_Key_A]
Key_RIGHT = [$R_Key_RIGHT,$R_Key_D]
alias :o_press :press?
def press?(num)
return true if num==Input::C && Key_C.any?{ |key| Kboard.press?(key) }
return true if num==Input::B && Key_B.any?{ |key| Kboard.press?(key) }
return true if num==Input::UP && Key_UP.any?{ |key| Kboard.press?(key) }
return true if num==Input::DOWN && Key_DOWN.any?{ |key| Kboard.press?(key) }
return true if num==Input::LEFT && Key_UP.any?{ |key| Kboard.press?(key) }
return true if num==Input::RIGHT && Key_DOWN.any?{ |key| Kboard.press?(key) }
o_press(num)
end
alias :o_repeat :repeat?
def repeat?(num)
return true if num==Input::C && Key_C.any?{ |key| Kboard.repeat?(key) }
return true if num==Input::B && Key_B.any?{ |key| Kboard.repeat?(key) }
return true if num==Input::UP && Key_UP.any?{ |key| Kboard.repeat?(key) }
return true if num==Input::DOWN && Key_DOWN.any?{ |key| Kboard.repeat?(key) }
return true if num==Input::LEFT && Key_UP.any?{ |key| Kboard.repeat?(key) }
return true if num==Input::RIGHT && Key_DOWN.any?{ |key| Kboard.repeat?(key) }
o_repeat(num)
end
alias :o_trigger :trigger?
def trigger?(num)
return true if num==Input::C && Key_C.any?{ |key| Kboard.trigger?(key) }
return true if num==Input::B && Key_B.any?{ |key| Kboard.trigger?(key) }
return true if num==Input::UP && Key_UP.any?{ |key| Kboard.trigger?(key) }
return true if num==Input::DOWN && Key_DOWN.any?{ |key| Kboard.trigger?(key) }
return true if num==Input::LEFT && Key_UP.any?{ |key| Kboard.trigger?(key) }
return true if num==Input::RIGHT && Key_DOWN.any?{ |key| Kboard.trigger?(key) }
o_trigger(num)
end
def dir4()
return 8 if press?(Input::UP)
return 4 if press?(Input::LEFT)
return 6 if press?(Input::RIGHT)
return 2 if press?(Input::DOWN)
0
end
def dir8()
dir = press?(Input::UP) ? 8 : 0
dir = press?(Input::LEFT) ? dir==0 ? 4 : 7 : dir
return dir if dir == 7
dir = press?(Input::RIGHT) ? dir==4 ? 0 : dir==8 ? 9 : 6 : dir
return dir if dir == 9
press?(Input::DOWN) ? dir==8 ? 0 : dir==4 ? 1 : dir==6 ? 3 : 2 : dir
end
end
复制代码
然后就可以了,代码没有测试,如果出错了我也没什么办法Orz【主要是我也没有VX= =
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1