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

Project1

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

[RMXP发布] 制作我的游戏编程模板(2)最基础的全键盘

[复制链接]

Lv1.梦旅人

梦石
0
星屑
90
在线时间
85 小时
注册时间
2012-5-27
帖子
148
跳转到指定楼层
1
发表于 2014-1-31 12:31:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
    大家新年好,没想到这么快就能发布第二课,这一可我们要做到的内容都是一些辅助类,但是这些辅助类但大家可不要小看了,日后的游戏可都要靠他们才能生存

    今天我们先编写  全键盘  的辅助类,全键盘,顾名思义,就是所有键盘,我们今天要做到的就是自己写一个全键盘的辅助类,我们先构思以下怎么写。。。。{:2_287:}
   
                       要调佣哪些api + 键代码 + 子类的返回

    话不多说,我们先把类结构写好


    class RM全键盘
        表达式
    end
   
   一个类结构已经写好,接下来该怎么写里面了。{:2_261:} 先想一想,哪些api 会跟键盘有关?想来想去,发现GetAsyncKeyState这个挺不错,好,我们就用它写,它是user32里的一个子函数,主要功能是判断函数调用时指定虚拟键的状态,吼吼,可能有些人已经开始有些懵了。。。。没关系,这些你暂时不需要知道太多,以后慢慢讲{:2_270:}
  首先我们要调用它,那么我们第一个子函数就这么写

   def self.建状态(键代码)
     状态   = Win32API.new("user32","GetAsyncKeyState",['I'],'I')   
     返回值 = 状态.call(键代码)
     return 返回值
   end


   怎么样简单吧{:2_262:} ,关于它的返回值如果某个键按下了,就返回它的函数地址,如果没按下,就发回0,这是一个整数型返回量


   这节课就简单的讲到这,关于全键盘的优化我们以后慢慢讲,(还有,大家上次的工程可别删了,把这节课的脚本插进去,到时慢慢编写我们自己的模块用,以后可以用我们自己的模块做一些更好的更优秀的作品出来)


  我们把我们现在写好的像我一样整理一下,如下图;

  
  
  
  



  关于全键盘的优化我们以后再讲,由于时间关系,这结课就到这,希望大家喜欢。。。。。下节课我依然不确定我什么时候发布,望大家喜欢和支持{:2_277:}


  最后,我给大家一张键代码的表作为新年礼物吧
  A <--------> 65
B <--------> 66
C <--------> 67
D <--------> 68
E <--------> 69
F <--------> 70
G <--------> 71
H <--------> 72
I <--------> 73
J <--------> 74
K <--------> 75
L <--------> 76
M <--------> 77
N <--------> 78
O <--------> 79
P <--------> 80
Q <--------> 81
R <--------> 82
S <--------> 83
T <--------> 84
U <--------> 85
V <--------> 86
W <--------> 87
X <--------> 88
Y <--------> 89
Z <--------> 90
0 <--------> 48
1 <--------> 49

2 <--------> 50
3 <--------> 51
4 <--------> 52
5 <--------> 53
6 <--------> 54
7 <--------> 55
8 <--------> 56
9 <--------> 57
数字键盘 1 <--------> 96
数字键盘 2 <--------> 97
数字键盘 3 <--------> 98
数字键盘 4 <--------> 99
数字键盘 5 <--------> 100
数字键盘 6 <--------> 101
数字键盘 7 <--------> 102
数字键盘 8 <--------> 103
数字键盘 9 <--------> 104
数字键盘 0 <--------> 105
乘号 <--------> 106
加号 <--------> 107
Enter <--------> 108
减号 <--------> 109
小数点 <--------> 110
除号 <--------> 111
F1 <--------> 112
F2 <--------> 113
F3 <--------> 114
F4 <--------> 115
F5 <--------> 116
F6 <--------> 117
F7 <--------> 118
F8 <--------> 119
F9 <--------> 120
F10 <--------> 121
F11 <--------> 122
F12 <--------> 123
F13 <--------> 124
F14 <--------> 125
F15 <--------> 126
Backspace <--------> 8
Tab <--------> 9
Clear <--------> 12
Enter <--------> 13
Shift <--------> 16
Control <--------> 17
Alt <--------> 18
Caps Lock <--------> 20
Esc <--------> 27
空格键 <--------> 32
Page Up <--------> 33
Page Down <--------> 34
End <--------> 35
Home <--------> 36
左箭头 <--------> 37
向上箭头 <--------> 38
右箭头 <--------> 39
向下箭头 <--------> 40
Insert <--------> 45
Delete <--------> 46
Help <--------> 47
Num Lock <--------> 144
; : <--------> 186
= + <--------> 187
- _ <--------> 189
/ ? <--------> 191
` ~ <--------> 192
[ { <--------> 219
| <--------> 220
] } <--------> 221
'' ' <--------> 222


  想跟我继续探讨ruby的可以加我Q,那这节课就到这里,下节课再见{:2_282:}

  

Lv4.逐梦者 (版主)

百合控

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

开拓者

2
发表于 2014-1-31 15:20:12 | 只看该作者
新人知道API是什么吗……好吧他们不需要知道……但是……
想来想去,发现GetAsyncKeyState这个挺不错

他们想来想去只有一个GetAsyncKeyState,这样真的好吗?就算不给Library好歹提一些常用的像MessageBox GetCursorPos……
课挺好的……不过内容少到坑爹……加油

点评

messagebox他们没必要知道,因为print 和 p可以暂时充当  发表于 2014-1-31 15:25
萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
85 小时
注册时间
2012-5-27
帖子
148
3
 楼主| 发表于 2014-1-31 15:23:24 | 只看该作者
余烬之中 发表于 2014-1-31 15:20
新人知道API是什么吗……好吧他们不需要知道……但是……

他们想来想去只有一个GetAsyncKeyState,这样真 ...

我也想多写一点,时间不允许啊{:2_257:}每次都是在10分钟的空闲中写的{:2_264:}

点评

倒也是……  发表于 2014-1-31 15:37
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-29 11:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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