查看: 14302|回复: 9

[RMVA发布] 显示地图名加强

[复制链接]
梦石
0
星屑
104
在线时间
1242 小时
注册时间
2010-6-30
回帖
544
发表于 2012-2-6 17:27:22 | 显示全部楼层 |阅读模式

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

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

×

初学脚本,对着某本ruby书和默认脚本写出了本脚本
本来是要马上发布的,但是后来去杭州参加某坑爹的竞赛辅导一星期,回来以后论坛又抽掉了,好不容易今天有机会发布出来了

ok言归正传,该脚本的用处就是加强地图名的显示效果。众所周知va默认的显示地图名就是黑底白字,但使用这个脚本可以调节文字、背景颜色,绘制图标和调整字号,具体的用法参见脚本注释部分和范例。

至于如何让脚本发挥作用呢?固然可以美化游戏画面,大家也可以发挥自己的想象力,比如用不同的颜色和图标来表示该地图是我方区域还是地方区域或者某个国家等等。当然你觉得这个脚本没什么实用性也可以,因为我开始就这么想的。

好了下面贴脚本:
[pre lang="Ruby" line="1"]#encoding:utf-8
#----------------------------------------------------------------------
#~ 【显示地图名加强】 by maliut  2012.1.28   使用、转载请注明
#----------------------------------------------------------------------
#~ 该脚本可以完全代替Window_MapName

#~ 用法说明:在【地图设置】的【显示名称】内填入:显示名|参数
#~     其中“|”是“\”的上档键
#~ 参数说明(X代表数字):
#~     bX:背景(background)颜色为X(颜色为window.png中设定)
#~     iX:显示X号图标(icon)
#~     tX:文本(text)颜色为X(颜色为window.png中设定)
#~     sX:文字大小(size)为X
#~     参数可以单独使用也可以组合使用,使用的顺序可以随意
#~     如显示名称【主角家】,5号图标,背景色为6,文本色为14,则填入“主角家|i5b6t14”
#~ 高级:
#~     1.如果需要显示的地图名带有|,则会与本脚本起冲突,在此情况下需要修改第85、87行的“|”为任意其他字符
#~     2.va默认的字很有问题,因此我在main中加了些东西,但此时显示地图名的字号也会发生变化。
#~       如果显示的字号不对,请大家因地制宜修改第83行的默认字号。
#~     3.如果地图名很长,和图标显示部分重叠,请修改第106行的数字48,改得越小越靠左

class Window_MapName < Window_Base
  
  
  #初始化对象
  def initialize
    super(0, 0, window_width, fitting_height(1))
    self.opacity = 0
    self.contents_opacity = 0
    @show_count = 0
    refresh
  end

  #获取窗口的宽度
  def window_width
    return 240
  end

  #更新画面
  def update
    super
    if @show_count > 0 && $game_map.name_display
      update_fadein
      @show_count -= 1
    else
      update_fadeout
    end
  end

  #更新淡入
  def update_fadein
    self.contents_opacity += 16
  end

  #更新淡出
  def update_fadeout
    self.contents_opacity -= 16
  end

  #打开窗口
  def open
    refresh
    @show_count = 150
    self.contents_opacity = 0
    self
  end

  #关闭窗口
  def close
    @show_count = 0
    self
  end

  ##刷新
  def refresh
    contents.clear
    unless $game_map.display_name.empty?
      #初始化
      @para_chr = []
      @para_num = []
      @para_hash = {}
      contents.font.color = text_color(0)
      contents.font.size = 20
      #是否有参数?
      if $game_map.display_name =~ /[|]/
        #拆分文本和参数
        x = $game_map.display_name.split("|")
        text = x[0]
        para = x[1]
        #提取字母
        @para_chr = para.split(/\d+/)
        #提取数字
        @para_num = para.scan(/\d+/)
        #补全数组
        4.times{@para_chr << "x"}
        4.times{@para_num << "0"}
        #创建hash表
        @para_hash = {
          @para_chr[0] => @para_num[0].to_i,
          @para_chr[1] => @para_num[1].to_i,
          @para_chr[2] => @para_num[2].to_i,
          @para_chr[3] => @para_num[3].to_i,
        }
        #开始设置
        draw_background(contents.rect)
        draw_icon(@para_hash["i"],48,0,true) if @para_chr.include?("i")
        contents.font.color = text_color(@para_hash["t"]) if @para_chr.include?("t")
        contents.font.size = @para_hash["s"] if @para_chr.include?("s")
        draw_text(contents.rect, text, 1)
      else
        draw_background(contents.rect)
        draw_text(contents.rect, $game_map.display_name, 1)
      end
    end
  end

  #绘制背景
  def draw_background(rect)
    temp_rect = rect.clone
    temp_rect.width /= 2   
    contents.gradient_fill_rect(temp_rect, back_color2, back_color1)
    temp_rect.x = temp_rect.width
    contents.gradient_fill_rect(temp_rect, back_color1, back_color2)
  end

  ##获取背景色 1
  def back_color1
      if @para_chr.include?("b")
        text_color(@para_hash["b"])
      else
        Color.new(0, 0, 0, 192)
      end
  end

  #获取背景色 2
  def back_color2
    Color.new(0, 0, 0, 0)
  end
end
[/pre]

然后是截图:
Snap4.jpg

另送范例一个: Project8.zip (319.96 KB, 下载次数: 5374)

任何bug请回帖告知

点评

-_-用不起来有问题哇  发表于 2012-2-23 10:46
我怎么不能下载了?  发表于 2012-2-11 23:27
null
梦石
0
星屑
50
在线时间
196 小时
注册时间
2010-10-20
回帖
121
发表于 2012-2-6 17:41:21 | 显示全部楼层
楼主,这是我想做却力不从心啊!


‘‘

希望楼主做个VA播放加强……


──5439sims2于2012-2-6 17:41补充以上内容’’

点评

有個VA用的脚本(需+DLL)、可播放MP4,Mpg,RMVB、播放的Z度,放大/縮小  发表于 2012-3-15 23:44
可是支持的格式太少……  发表于 2012-2-12 12:51
VA不是自带播放的吗?  发表于 2012-2-6 18:20
bbh
神伸手……无力吐槽。  发表于 2012-2-6 17:45
回复

使用道具 举报

星尘泪 该用户已被删除
发表于 2012-2-6 18:50:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
104
在线时间
1242 小时
注册时间
2010-6-30
回帖
544
 楼主| 发表于 2012-2-11 14:52:55 | 显示全部楼层
@星尘泪因为附件不超过999k的原因删掉了\system\RGSS3.0.dll,不知道是不是因为这个原因
null
回复

使用道具 举报

梦石
0
星屑
68
在线时间
931 小时
注册时间
2009-5-25
回帖
418

开拓者

发表于 2012-3-10 12:33:25 | 显示全部楼层
范例已损坏


!   C:\Documents and Settings\Administrator\桌面\Project8.zip: 这个压缩文件格式未知或者数据已经被损坏

点评

我自己测试下载范例是正常的,这怎么回事  发表于 2012-3-10 16:00
回复

使用道具 举报

梦石
0
星屑
50
在线时间
30 小时
注册时间
2012-2-24
回帖
17
发表于 2012-3-15 22:56:22 | 显示全部楼层
顶
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2012-3-15 23:50:15 | 显示全部楼层
本帖最后由 tseyik 于 2012-3-15 23:53 编辑

http://115.com/file/c24irp3p#sampledemo-ace.zip
播放RMVB(上面那個只有二個Mpg短片)
Image001.jpg
回复

使用道具 举报

风雪夜不归人

梦石
0
星屑
50
在线时间
276 小时
注册时间
2006-3-7
回帖
6441

贵宾

发表于 2012-8-5 10:23:02 | 显示全部楼层
范例打不开……脚本无法复制……真为难啊……
有些人,到了七八月份就会诈尸。
宫斗,是女生永远的爱。
冷门,是本人不变的欲。
作弊,是玩家自由的痛。
练级,是橙光割舍的情。
回复

使用道具 举报

梦石
0
星屑
109
在线时间
180 小时
注册时间
2012-6-25
回帖
263
发表于 2012-8-5 11:00:24 | 显示全部楼层
放在那里?
回复

使用道具 举报

梦石
0
星屑
70
在线时间
1083 小时
注册时间
2013-3-29
回帖
2158
发表于 2013-4-1 10:35:54 | 显示全部楼层
初始地图不能显示地图名么。。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部