Project1

标题: 请教下菜单选项的问题 [打印本页]

作者: eudeud    时间: 2011-5-24 18:44
标题: 请教下菜单选项的问题
     
10个选项     分成了2排      但文字还是在一排TAT     请问这个怎么修改啊??
作者: 镜花水月    时间: 2011-5-25 13:34
修改坐标
作者: eudeud    时间: 2011-5-25 13:40
一排5个选项      显示了6个名字     其他都跑屏幕外了
作者: eudeud    时间: 2011-5-25 14:46
不知道坐标在哪啊  
作者: px.凤翔九天    时间: 2011-5-25 15:23
本帖最后由 px.凤翔九天 于 2011-5-25 15:25 编辑

那个啥......表示你用Window_Selectable做的话,应该有个属性是叫什么@column_max,把这个改成5,然后再试试。
假如用Window_Command的话,应该一样适用。
作者: eudeud    时间: 2011-5-25 15:36
我改的是Window_Command  。。  @column_max是设成5的     选项的位置是没问题      问题是文字没跟选项对齐       全部在上面那排     有4组文字还跑到屏幕外面了
作者: px.凤翔九天    时间: 2011-5-25 15:50
表示研究完Window_Selectable就基本不用Window_Command了.................
表示改坐标的话要针对这个是在哪个Scene中使用的。
去找到Window_Command中的描绘项目的定义。
  1. def draw_item(index, color)
  2.     self.contents.font.color = color
  3.     rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
  4.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  5.     self.contents.draw_text(rect, @commands[index])
  6.   end
复制代码
改成
  1.   def draw_item(index, color)
  2.     self.contents.font.color = color
  3.     if $scene.is_a?(Scene_XYZ)
  4.      rect = Rect.new(4+(index/6*32), 32 * index, self.contents.width - 8, 32)
  5.      self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  6.      self.contents.draw_text(rect, @commands[index])
  7.     else
  8.      rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
  9.      self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  10.      self.contents.draw_text(rect, @commands[index])
  11.     end
  12.   end
复制代码
其中那个Scene_XYZ改成调用的Scene的名字就好了。
试试,应该好用。
作者: eudeud    时间: 2011-5-25 16:03
变成这样了TAT

未命名.jpg (23.06 KB, 下载次数: 7)

未命名.jpg

作者: eudeud    时间: 2011-5-25 16:05
  
作者: px.凤翔九天    时间: 2011-5-25 16:24
我错了..
把第四行的
  1. rect = Rect.new(4+(index/6*32), 32 * index, self.contents.width - 8, 32)

复制代码
改成
  1. rect = Rect.new(4, 32 * (index/5), self.contents.width - 8, 32)

复制代码
再试试...
作者: eudeud    时间: 2011-5-25 16:40
不行啊    这显示了个任务跟图鉴

未命名.jpg (2.82 KB, 下载次数: 9)

未命名.jpg

作者: eudeud    时间: 2011-5-25 16:41
  1.   def draw_item(index, color)
  2.     self.contents.font.color = color
  3.     #rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
  4.     if $scene.is_a?(Scene_Menu)
  5. rect = Rect.new(107 * index+13,  0, 107, 32) #这行改成你自己的描绘项目规则
  6. else
  7. rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
  8. end
  9.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  10.     self.contents.draw_text(rect, @commands[index])
  11.   end
复制代码

作者: eudeud    时间: 2011-5-25 16:42
我照着修改的那个范例是这样滴    他是只有一排选项的
作者: px.凤翔九天    时间: 2011-5-25 17:04
  1. def draw_item(index, color)

  2.     self.contents.font.color = color

  3.     if $scene.is_a?(Scene_XYZ)
  4.       if index<=5
  5.      rect = Rect.new(107 * index+13, 0, 107, 32)
  6.       else
  7.      rect= Rect.new(107 * index+13,32,107,32)
  8.     end

  9.      self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))

  10.      self.contents.draw_text(rect, @commands[index])

  11.     else

  12.      rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)

  13.      self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))

  14.      self.contents.draw_text(rect, @commands[index])

  15.     end

  16.   end
复制代码
那这样如何....(现在脑子迟钝了吗..改个坐标也能错这么多次....)
作者: eudeud    时间: 2011-5-25 17:19
不行啊    这样跟我最开始一样了      就是在第一排显示了6个名字    剩下的跑屏幕外了




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