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

Project1

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

[已经过期] 关于ACE的数值输入(事件里的)

[复制链接]

Lv2.观梦者

梦石
0
星屑
370
在线时间
17 小时
注册时间
2012-7-23
帖子
5
跳转到指定楼层
1
发表于 2019-4-2 00:28:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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,也能满足了。(考虑文本输入的话是不是还要转成数值,感觉对我来说太复杂了。)


首先是不知道怎么获取数字键,另外是不知道这个思路对不对。
不懂编程,求指点。
如果有现成也求分享。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-4-26 10:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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