Project1

标题: 【脚本修改】如何修改游戏数值的间距 [打印本页]

作者: 勇敢的馒头    时间: 2010-9-26 09:15
标题: 【脚本修改】如何修改游戏数值的间距
本帖最后由 勇敢的馒头 于 2010-9-28 23:28 编辑
  1. #==============================================================================
  2. # ■ Window_Gold
  3. #------------------------------------------------------------------------------
  4. #  显示金钱的窗口。
  5. #==============================================================================

  6. class Window_Gold < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化窗口
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 160, 64)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     refresh
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 刷新
  17.   #--------------------------------------------------------------------------
  18.   def refresh
  19.     self.contents.clear
  20.     cx = contents.text_size($data_system.words.gold).width
  21.     self.contents.font.color = normal_color
  22.     self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
  23. ####################################################
  24.     self.contents.draw_text(75, 0, 120, 32, ".")
  25. ####################################################
  26.     self.contents.font.color = system_color
  27.     self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
  28.   end
  29. end
复制代码
我想让游戏里金钱实现角和分的效果,直接全部数值修改太过庞大和麻烦,所以我打算用数值100来代替1.00,所以让他显示一个“.”在最后2位数的前面,现在的问题是数值之间的距离太窄了,如何可以增大?
另求其他思路。


作者: 勇敢的馒头    时间: 2010-9-26 12:24
本帖最后由 勇敢的馒头 于 2010-9-26 12:40 编辑

描绘字符是在Window_Base么?哪个能修改数值的宽啊?晕~~~~~~~~~~
作者: 八云紫    时间: 2010-9-26 14:35
一个偷工减料而且相当麻烦的办法, 使用一个 相对较小的 Rect , 然后文字居中显示~~
作者: 勇敢的馒头    时间: 2010-9-26 14:52
回复 铃仙·优昙华院·因幡 的帖子
这样能解决什么问题?
作者: 八云紫    时间: 2010-9-26 14:55
回复 勇敢的馒头 的帖子


    利用居中的可拉伸的特性. 不过效果功能不是很好.

    或者可以将数值按位拆掉描绘可能效果更好~~~
作者: 勇敢的馒头    时间: 2010-9-26 15:00
回复 铃仙·优昙华院·因幡 的帖子
原来如此,谢谢~
我试了,发觉即便是在窗口居中了,也只能缩窄不能拉宽~
作者: 八云紫    时间: 2010-9-26 15:02
回复 勇敢的馒头 的帖子

self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)

4, 0, 120, 32, $game_party.gold.to_s, 1

测试下
   
作者: 勇敢的馒头    时间: 2010-9-26 15:17
本帖最后由 勇敢的馒头 于 2010-9-26 15:19 编辑

回复 铃仙·优昙华院·因幡 的帖子
这一段加在哪?直接加在Window_Gold里
4, 0, 120, 32, $game_party.gold.to_s, 1 这一行毫无悬念的出错了~~
作者: 勇敢的馒头    时间: 2010-9-26 15:28
本帖最后由 勇敢的馒头 于 2010-9-26 15:30 编辑

回复 铃仙·优昙华院·因幡 的帖子

你发的代码就是后面改成了1,让他居中显示,居中显示我之前已经试过了,没办法拉伸的
作者: 八云紫    时间: 2010-9-26 15:31
那就数字拆掉显示~~~
作者: 勇敢的馒头    时间: 2010-9-26 15:33
回复 铃仙·优昙华院·因幡 的帖子
这个对我有点难度了!!我研究半天也不知道怎么做,请教!!
作者: 八云紫    时间: 2010-9-26 15:50
回复 勇敢的馒头 的帖子

a = 1.23

p a.to_s.split(//)
   
作者: 勇敢的馒头    时间: 2010-9-26 16:04
回复 铃仙·优昙华院·因幡 的帖子
求详细
作者: 八云紫    时间: 2010-9-26 16:50
a = 1.23
b = a.to_s.split(//)
c = 0
b.each_index do |index|
   self.contents.draw_text( 0 + index * 10, 0, 120, 32, b[index])
   c += 1
   self.contents.draw_text( 0 + (index + c) * 10, 0, 120, 32, " ")
end


坐标什么的无视就好, self.contents.draw_text( 0 + (index + c) * 10, 0, 120, 32, " ") 就是你要的中间间隙~~~
作者: 勇敢的馒头    时间: 2010-9-26 17:53
本帖最后由 勇敢的馒头 于 2010-9-26 17:54 编辑

回复 铃仙·优昙华院·因幡 的帖子
虽然不是拆开,但是间距解决了!感谢!!!
虽然总感觉有点不正规的样子,哈~~
作者: 勇敢的馒头    时间: 2010-9-26 18:28
回复 铃仙·优昙华院·因幡 的帖子
忽然发现还有一个小问题,我把
self.contents.draw_text( 0 + index * 10, 0, 120, 32, b[index])改成
self.contents.draw_text( 0 + index * 10, 0, 120, 32, b[index], 2)
是右对齐了,可是如果增加了数值他是往后延长。。。

另外
   c += 1
   self.contents.draw_text( 0 + (index + c) * 10, 0, 120, 32, " ")
感觉没什么用,被我删了。。。:o
作者: 八云紫    时间: 2010-9-26 19:28
回复 勇敢的馒头 的帖子

右对齐当然是 往后延长

self.contents.draw_text( 0 + (index + c) * 10, 0, 120, 32, " ")

这个是着重体现空隙的, 不要也可以~~
   
作者: 勇敢的馒头    时间: 2010-9-26 22:06
本帖最后由 勇敢的馒头 于 2010-9-28 23:28 编辑

解决!




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