Project1

标题: 求包裹@row_max [打印本页]

作者: 金芒芒    时间: 2024-5-10 16:22
标题: 求包裹@row_max
本帖最后由 金芒芒 于 2024-5-10 16:24 编辑

    @item_max=41
    @column_max = 4 # 纵最大值 = 4
    @index_max = @item_max
    @row_max = @item_max/4
   那么余数1这么写@item_max/4+1
作者: 企鹅大虾    时间: 2024-5-11 07:42
+1只是小数部分的事
-1才是最大值
作者: qq634488405    时间: 2024-5-11 08:39
  1. @row_max = @item_max%@column_max>0 ? @item_max/@column_max+1 : @item_max/@column_max
复制代码

余数>0就+1,否则不加
作者: KB.Driver    时间: 2024-5-11 20:30
@row_max = (@item_max / @column_max.to_f).ceil
to_f将列数转为浮点数,这样除法会得到小数。
ceil向上取整,如果小数位不为0,直接进位


作者: 金芒芒    时间: 2024-5-12 07:51
本帖最后由 金芒芒 于 2024-5-12 16:50 编辑
KB.Driver 发表于 2024-5-11 20:30
@row_max = (@item_max / @column_max.to_f).ceil
to_f将列数转为浮点数,这样除法会得到小数。
ceil向上取 ...


光标还是一直往下超过图标头像 最大值

def update_cursor_rect
    #@back.bitmap = RPG::Cache.menu("item_command"+type.to_s)
    # 光标位置不满 0 的情况下
    if @index < 0
      self.cursor_rect.empty
      return
    end
   
    # 获取当前的行
    row = @index/@column_max
    row_max = (@item_max / @column_max.to_f).ceil
    #row_max = @item_max%@column_max>0 ? @item_max/@column_max+1 : @item_max/@column_max
    # 当前行被显示开头行前面的情况下
    if row < self.top_row
      # 从当前行向开头行滚动
      self.top_row = row
    end
    # 当前行被显示末尾行之后的情况下
    if row > self.top_row + (self.page_row_max - 1)
      # 从当前行向末尾滚动
      self.top_row = row - (self.page_row_max - 1)
    end
   
    @right.y = self.y+12+self.top_row.to_f*120.0*(3*120)/(@item_max.to_f*120)
   
    # 计算光标的宽度
    cursor_width = 240
    # 计算光标坐标
    x = @index%4*86+2
    y = @index/4-self.oy/120
    # 更新光标矩形
    self.cursor_rect.set(@index%4*84+2,(@index/4-self.oy/120)*120-1,85,120)
    #self.cursor_rect.set(x, y, 86, 120)
  end
RUBY 代码复制
  1. if row > @item_max%@column_max>0 ? @item_max/@column_max+1 : @item_max/@column_max
  2.        row=top_row-1
  3.        end

1111.png (293.19 KB, 下载次数: 15)

1111.png





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1