设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 9833|回复: 13
打印 上一主题 下一主题

[原创发布] 【非原创】地图名显示美化 XP版

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
244 小时
注册时间
2010-6-19
帖子
95
跳转到指定楼层
1
发表于 2012-12-17 18:48:40 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 mmmkly 于 2012-12-17 20:32 编辑

  脚本非原创,创意非原创,只是在论坛里搜索这个美化貌似没有XP的,于是自己动手改了改。不多说






将地图名称设置成两部分,以“#”隔开,前面的部分显示在上面,后面的部分显示在下面。


顺便补充一下,好像和“字体描边”配合一下才好看一点
  1. # ————————————————————————————————————
  2. # 本脚本来自[url]http://www.66rpg.com/[/url],转载自[url]http://www.phylomortis.com/[/url],转载请保留此信息
  3. # ————————————————————————————————————

  4. #==============================================================================
  5. # ■ Window_MapName
  6. #------------------------------------------------------------------------------
  7. #  显示地图名字的窗口。
  8. #==============================================================================

  9. class Window_MapName < Window_Base
  10.   #--------------------------------------------------------------------------
  11.   # ● 类常量定义
  12.   #--------------------------------------------------------------------------

  13.   # 窗口位置设定
  14.   NAME_X = 210                  # 矩形左上顶点X坐标
  15.   NAME_Y = 180             # 矩形左上顶点Y坐标
  16.   NAME_W = 220          # 矩形宽
  17.   NAME_H = 80           # 矩形高
  18.   
  19.   # 显示时间设置
  20.   SHOW_TIME_0 = 10  # 地图名出现前等待的帧数
  21.   SHOW_TIME_1 = 10  # 地图名从不可见变成可见的帧数
  22.   SHOW_TIME_2 = 34  # 地图名完全可见的帧数
  23.   SHOW_TIME_3 = 16  # 地图名从可见变成不可见的帧数
  24.   
  25.   # 完全可见时的透明度设置
  26.   OPACITY_1 = 0   # 边框
  27.   OPACITY_2 = 0   # 背景
  28.   OPACITY_3 = 255   # 文字
  29.   
  30.   # 地图名字的颜色
  31.   TEXT_COLOR = Color.new(255, 255, 255, 255)
  32.    
  33.   #--------------------------------------------------------------------------
  34.   # ● 初始化状态
  35.   #--------------------------------------------------------------------------
  36.   def initialize
  37.     super(NAME_X , NAME_Y, NAME_W, NAME_H)
  38.     # 初始化窗口透明度
  39.     self.opacity = 0
  40.     self.back_opacity = 0
  41.     self.contents_opacity = 0
  42.     self.contents = Bitmap.new(width - 32, height - 32)
  43.     # 剩余帧数初始化
  44.     @show_time = 0
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 输出文字
  48.   #--------------------------------------------------------------------------
  49.   def setname

  50.     # 获取地图ID
  51.     newid = $game_map.map_id
  52.     time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3

  53.     # 如果现在的地图的ID不是刚才显示的地图ID则开始显示
  54.     if newid != @id
  55.       @id = newid
  56.       @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3
  57.     # 剩余帧数为0是时,全部窗口透明
  58.     elsif @show_time < 1
  59.       self.opacity = 0
  60.       self.back_opacity = 0
  61.       self.contents_opacity = 0
  62.       return
  63.     end
  64.    
  65.     self.contents.clear
  66.     self.contents.font.color = TEXT_COLOR
  67.     # 描绘地图名

  68.    
  69.     self.contents.font.size = 22
  70.     self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name.split(/#/)[0], 1)
  71.     self.contents.font.size = 15
  72.     self.contents.draw_text(4, 0 , width - 40, 62, "------------------------", 1)
  73.     self.contents.draw_text(4, 0 , width - 40, 81, $data_mapinfos[@id].name.split(/#/)[1], 1)
  74.    
  75.     # 根本帧数设定窗口透明度
  76.     if @show_time > (SHOW_TIME_2 + SHOW_TIME_3)
  77.       self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  78.       self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0
  79.       self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  80.     else
  81.       self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1
  82.       self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2
  83.       self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3
  84.     end
  85.    
  86.     @show_time -= 1
  87.   end
  88. end

  89. #==============================================================================
  90. # ■ Scene_Map
  91. #------------------------------------------------------------------------------
  92. #  处理地图画面的类。(追加定义)
  93. #==============================================================================

  94. class Scene_Map
  95.   alias smn_main main
  96.   def main
  97.     @mapname = Window_MapName.new
  98.     smn_main
  99.     @mapname.dispose
  100.   end
  101.   
  102.   alias smn_update update
  103.   def update
  104.     @mapname.setname
  105.     smn_update
  106.   end
  107. end

  108. #==============================================================================
  109. # ■ Scene_Title
  110. #------------------------------------------------------------------------------
  111. #  处理标题画面的类。(追加定义)
  112. #==============================================================================

  113. class Scene_Title
  114.   alias smn_main main
  115.   def main
  116.     # 读取地图信息文件
  117.     $data_mapinfos = load_data("Data/MapInfos.rxdata")
  118.     smn_main
  119.   end
  120. end
复制代码
没事做个游戏
暗黑-外传
剧情:■■■■■□□□□□
脚本:■■■■■■■■■□
素材:■■■■■■■■■■
地图:■■■■■■■■■□
系统:■■■■■■■■□□
整体完成度:■■■■■■■□□□
发布日期:未知
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-5 12:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表