Project1
标题:
允许我问问题
[打印本页]
作者:
kvkv97
时间:
2015-8-13 20:52
标题:
允许我问问题
def update
# 可以移动光标的情况下
if self.active #and @item_max > 0 and @index >= 0
# 方向键下被按下的情况下
if Input.repeat?(Input::DOWN)
# 列数不是 1 并且不与方向键下的按下状态重复的情况、
# 或光标位置在(项目数-列数)之前的情况下
if (@column_max == 1 and Input.trigger?(Input::DOWN)) or
@index < @item_max - @column_max
# 光标向下移动
$game_system.se_play($data_system.cursor_se)
@index = (@index + 1) % @item_max
end
end
问题1:Input.repeat?(Input::DOWN) 和Input.trigger?(Input::DOWN))有什么不同?
问题2:@index = (@index + 1) % @item_max中的@index是如何计算的?
def update_cursor_rect
# 光标位置不满 0 的情况下
if @index < 0
self.cursor_rect.empty
return
end
# 计算光标的宽度
cursor_width = self.width / @column_max - 32
# 计算光标坐标
x = @index % @column_max * (cursor_width + 32)
y = @index / @column_max * 32 - self.oy
# 更新光标矩形
self.cursor_rect.set(x, y, cursor_width, 32)
end
问题1:cursor_rect 是WINDOW的属性[光标的矩形],那么empty是什么类的属性或者方法?
复制代码
作者:
kuerlulu
时间:
2015-8-13 20:59
1. 按住的情况下, repeat会每6帧(别问我怎么知道的)返回一个true, trigger只返回一次
2. %是取余, 5 % 3 = 2
3. empty是rect的方法, 相当于set(0, 0, 0, 0)【然而这个方法并没有在F1中提到真是..
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1