Project1

标题: 全键盘脚本(dll) [打印本页]

作者: 八云紫    时间: 2010-11-18 17:54
标题: 全键盘脚本(dll)
本帖最后由 铃仙·优昙华院·因幡 于 2010-11-18 18:02 编辑

Kboard.rar (288.49 KB, 下载次数: 3460)

核心是那个 dll .  
用法:
1. 初始化: Kboards.init
2. 刷新, 可以添加到 Input.update 里去刷新. Kboards.update
    这个方法的效率可以保证, 之前做过一个测试, 循环 10000 次, 用时 0.015 秒. 一下是测试脚本:
  1. Kboards.init

  2. a = Time.new

  3. for i in 0..10000
  4.   Kboards.update
  5. end

  6. p Time.new - a
复制代码
3. 释放: Kboards.dispose
4. 查询:
    Kboards.down  某按键被按下, 返回 非0
    Kboards.up       某按键没有被按下, 返回 非0
    按键代码, 查看 Keys 脚本.

没有了, 这些只是底层的东东. 发呆的产物.

dll 内部是使用 缓存模式来刷新按键区域的. 所以, 可以组合的查询.  
比如 A 和 S 按键同时按下的话:
  1. if Kboards.down(Keys::DIK_A) != 0 and Kboards.down(Keys::DIK_S) != 0
  2. end
复制代码
查询数量可以很多个.

-------------------------------------------------------------------

最后的最后, 是预告.

下一个脚本打算修复那个 播放器. 用另一种方法实现. 之前的方法在刷新上有点问题. 而且是测试版本, 在错误检查方面没有做好. 所以, 打算近期内写一个出来.
作者: lirongjin    时间: 2010-11-18 18:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2010-11-18 18:07
回复 lirongjin 的帖子

这个记得是 窗口消息 的问题, 不是键盘的问题吧. 大概.

设置 技能快捷键 之类的其实可以用脚本写一个出来, 问题应该不是很难~~~
作者: 神行者    时间: 2011-7-19 09:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: Sonic1997    时间: 2011-7-19 11:08
又是【此工程版本过低,无法正确读入。】
我知道dll是核心,但怎么用啊?!!!!!!!
作者: NOEXS    时间: 2011-7-19 11:21
要应用在其他脚本中应该怎样写


NOEXS于2011-7-19 23:02补充以下内容:
改了菜单的按键 ,但是进入游戏时开启菜单会自动按下键盘




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