Project1

标题: “显示选项”的光标怎样改小? [打印本页]

作者: woodytt    时间: 2009-8-15 00:23
标题: “显示选项”的光标怎样改小?
在Window_Selectable中我找到这么一段:
  1. def create_contents
  2.    self.contents.dispose
  3.    self.contents = Bitmap.new(width - 32, [height - 32, row_max * WLH].max)
  4. end
复制代码
我想是不是可以通过加个if条件使在指令“显示选项”呼出的对话框中的contents的width多减一点(默认是32)
我是这么改的:
  1. def create_contents
  2.     self.contents.dispose
  3.     if $Window_Message.active = true
  4.       self.contents = Bitmap.new(width - 132, [height - 132, row_max * WLH].max)
  5.     else
  6.      self.contents = Bitmap.new(width - 32, [height - 32, row_max * WLH].max)
  7.     end
  8.   end
复制代码
但是没有成功,请教一下应该怎么修改?
作者: njx937    时间: 2009-8-15 09:45
本帖最后由 njx937 于 2009-8-15 09:48 编辑

想问问光标是指什么?
是指那个透明的,会根据选择移动的东西的话
参考 Window_Selectable  设置选项矩形 这段代码
  1.   def item_rect( index, type = 0)
  2.     @type = type
  3.     case type
  4.     when 0 # 普通矩框
  5.       rect = Rect.new(0, 0, 0, 0)
  6.       rect.width = (contents.width + @spacing) / @column_max - @spacing
  7.       rect.height = WLH
  8.       rect.x = index % @column_max * (rect.width + @spacing)
  9.       rect.y = index / @column_max * WLH
  10.     when 1 # 双行矩框
  11.       rect = Rect.new(0, 0, 0, 0)
  12.       rect.width = (contents.width + @spacing) / @column_max - @spacing
  13.       rect.height = WLH * 2
  14.       rect.x = index % @column_max * (rect.width + @spacing)
  15.       rect.y = index / @column_max * WLH * 2
  16.     when 2 # AT矩框
  17.       rect = Rect.new(0, 0, 0, 0)
  18.       rect.width = 64
  19.       rect.height = 48
  20.       rect.x = 0
  21.       rect.y = 8 + 44 * index
  22.     when 3 # 战斗头像矩框
  23.       rect = Rect.new(0, 0, 0, 0)
  24.       rect.width = 152
  25.       rect.height = 96
  26.       rect.x = index * 152
  27.       rect.y = 0
  28.     end  
  29.     return rect
  30.   end
复制代码
这个是我正用的脚本
而contents 是整个 window用的
可以这样理解,windows的 x y w h 是窗口占地面积,
content 是实用面积,改 content 会令可用的地方减少(增多)
作者: woodytt    时间: 2009-8-15 13:38
本帖最后由 woodytt 于 2009-8-15 13:40 编辑

在Ls所述位置上的改动似乎只能影响到标题画面、菜单画面中的光标大小,对显示选项画面中的光标大小没有影响。是不是需要在Window_Message或者Window_Command中进行修改?
小弟不太懂脚本,还请高手指点。
作者: woodytt    时间: 2009-8-15 14:29
本帖最后由 woodytt 于 2009-8-15 14:36 编辑

哈哈,我已经解决了!在Window_Message中
  1. #--------------------------------------------------------------------------
  2.   # ● 刷新光标
  3.   #--------------------------------------------------------------------------
  4.   def update_cursor
  5.     if @index >= 0
  6.       x = $game_message.face_name.empty? ? 0 : 112
  7.       y = ($game_message.choice_start + @index) * WLH
  8.       self.cursor_rect.set(x, y, contents.width - x, WLH)
  9.     else
  10.       self.cursor_rect.empty
  11.     end
  12.   end
复制代码
只要对上述第8行的contents.width - x加以修改即可!
作者: njx937    时间: 2009-8-15 15:08
right
lz说的光标 那个透明框。。
改cursor_rect,就ok。。。自行解决。。恭喜




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