查看: 1314|回复: 4

[有事请教] 求包裹@row_max

[复制链接]
梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
发表于 2024-5-10 16:22:00 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 金芒芒 于 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
梦石
0
星屑
95
在线时间
94 小时
注册时间
2021-4-23
回帖
37
发表于 2024-5-11 07:42:49 | 显示全部楼层
+1只是小数部分的事
-1才是最大值
1340134074180388038
回复

使用道具 举报

梦石
0
星屑
4756
在线时间
389 小时
注册时间
2012-11-8
回帖
235
发表于 2024-5-11 08:39:58 | 显示全部楼层
  1. @row_max = @item_max%@column_max>0 ? @item_max/@column_max+1 : @item_max/@column_max
复制代码

余数>0就+1,否则不加
回复

使用道具 举报

梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

发表于 2024-5-11 20:30:49 | 显示全部楼层
@row_max = (@item_max / @column_max.to_f).ceil
to_f将列数转为浮点数,这样除法会得到小数。
ceil向上取整,如果小数位不为0,直接进位

6BZ4XM]G31OKR3VJ`8C]EOM.png
用头画头像,用脚写脚本
回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 2024-5-12 07:51:55 | 显示全部楼层
本帖最后由 金芒芒 于 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
[pre lang="ruby"]    if row > @item_max%@column_max>0 ? @item_max/@column_max+1 : @item_max/@column_max
       row=top_row-1
       end[/pre]
1111.png
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部