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

Project1

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

[已经解决] 自由设置键盘键,但是脚本太长了,想要化简

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
416 小时
注册时间
2012-11-30
帖子
162
跳转到指定楼层
1
发表于 2013-10-19 11:50:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 1091160905 于 2013-10-19 12:05 编辑

       之前玩了一个脚本整合,受到网游的启发,打算设置出快捷键,按Q是任务,K技能,C人物属性,I、B物品之类的,
  1. class Scene_Map
  2.    GetKeyState = Win32API.new("user32","GetAsyncKeyState",['I'],'I')
  3.   alias keyboard update
  4.   def update
  5.     keyboard
  6.     if    GetKeyState.call(0x42) & 0x01 == 1 || GetKeyState.call(0x49) & 0x01 == 1  #分别是 B、I键
  7.           SceneManager.call(Scene_Item)                                             #物品
  8.     elsif GetKeyState.call(0x43) & 0x01 == 1                                        #C键
  9.           SceneManager.call(Scene_Status)                                           #人物属性
  10.     elsif GetKeyState.call(0x4B) & 0x01 == 1                                        #K键
  11.           SceneManager.call(Scene_Skill)                                            #技能
  12. #    elsif GetKeyState.call(0x4C) & 0x01 == 1                                        #L键
  13. #          SceneManager.call(Scene_List)                                             #怪物图鉴,因为原装没有,所以注释掉了
  14. #    elsif GetKeyState.call(0x4D) & 0x01 == 1 || GetKeyState.call(0x4E) & 0x01 == 1  #分别是 M、N键
  15. #          SceneManager.call(Scene_Teleport)                                         #地图传送,因为原装没有,所以注释掉了
  16. #    elsif GetKeyState.call(0x51) & 0x01 == 1                                        #Q键
  17. #          SceneManager.call(Scene_QuestList)                                        #任务 ,因为原装没有,所以注释掉了
  18.     elsif GetKeyState.call(0x7A) & 0x01 == 1                                        #F11
  19.           SceneManager.call(Scene_Save)                                             #存档
  20.     elsif GetKeyState.call(0x7B) & 0x01 == 1                                        #F12
  21.           exit                                                                      #强制退出,专门针对家长,不过不会存档,最大的遗憾
  22.     end
  23.   end
  24. end
复制代码
但是现在感觉挺复杂的,这个可以用 case ... when 的方式写吗??


<object width="630" height="500" align="middle" id="reader" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-44455354000

Lv2.观梦者

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

2
发表于 2013-10-19 12:04:49 | 只看该作者
这个是主动检测某个键是否被按下,换成case的话,你要被动的得知现在哪个键按下去了,而检测哪个键按下去的方法里,还是依次检测每个键是否被按下…

个人觉得是这样的……也不知道对不对呢。。。

点评

我是脚本白,懂得没那么多。。。。。。  发表于 2013-10-19 12:09
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
3
发表于 2013-10-19 12:12:55 | 只看该作者
不可以。
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6643
在线时间
1275 小时
注册时间
2013-8-21
帖子
3657

开拓者

4
发表于 2013-10-19 17:27:24 | 只看该作者
判定条件依据不同 不可以
萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
49 小时
注册时间
2013-7-7
帖子
37
5
发表于 2013-10-27 18:44:43 | 只看该作者
我的游戏可以用你的脚本哦!
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
758
在线时间
2064 小时
注册时间
2011-10-3
帖子
1686
6
发表于 2013-10-29 10:46:13 | 只看该作者
才24行?也没多长啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 11:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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