赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 4 |
经验 | 0 |
最后登录 | 2019-4-19 |
在线时间 | 17 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 370
- 在线时间
- 17 小时
- 注册时间
- 2012-7-23
- 帖子
- 5
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 zulu777 于 2019-4-2 00:35 编辑
windows_numberinput 关于这个,想改成键盘数字键输入。那么配合上全键盘脚本(不知道ACE有没有这样的脚本),再改造
def process_digit_change
return unless active
if Input.repeat?(:UP) || Input.repeat?(:DOWN)
Sound.play_cursor
place = 10 ** (@digits_max - 1 - @index)
n = @number / place % 10
@number -= n * place
n = (n + 1) % 10 if Input.repeat?(:UP)
n = (n + 9) % 10 if Input.repeat?(:DOWN)
@number += n * place
refresh
end
end
改成类似
n = 1 if Input.repeat?(:数字键1)
n = 2 if Input.repeat?(:数字键2)
n = ? if Input.repeat?(:数字键?)
这样
然后套上循环
$i=@digits_max-1 #(我理解应该是比如定义4位,也就是3.2.1.0,最先输入的是3也就是千位,不知道有没有理解错)
begin
..............
$i -=1;
end until $i =0
同时根据i判断n的位数用if来判断n是否需要*10000 *1000 *100 *10
或者用这个,if i >1 n *= 10 ** (@digits_max - 1 - $i) # 是不是指数运算,没理解错吧?
用@number += n 得出最后结果。
能达到用键盘输入数字的用途吗?
暂时不考虑小键盘和删除,选取,取消等功能。
比如定义4位要输入23,
就要输入0023,也能满足了。(考虑文本输入的话是不是还要转成数值,感觉对我来说太复杂了。)
首先是不知道怎么获取数字键,另外是不知道这个思路对不对。
不懂编程,求指点。
如果有现成也求分享。 |
|