赞 | 3 |
VIP | 333 |
好人卡 | 91 |
积分 | 2 |
经验 | 55775 |
最后登录 | 2017-7-18 |
在线时间 | 2070 小时 |
Lv1.梦旅人 Mr.Gandum
- 梦石
- 0
- 星屑
- 226
- 在线时间
- 2070 小时
- 注册时间
- 2007-1-31
- 帖子
- 3039
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
忘了第几个。大概是第八个吧,一个比较小的脚本。- #============================================================================
- # ☆ 半手动显示地图名。
- # 由feizhaodan制作。
- # 发布于66RPG
- # http://rpg.blue/
- # 版本号: 1.0.0
- # 2011/10/24
- # 转载时请连同这里一起转
- #============================================================================
- #==============================================================================
- # ■ Game_Interpreter
- #------------------------------------------------------------------------------
- # 执行事件命令的解释器。本类在 Game_Map 类、Game_Troop 类、与
- # Game_Event 类的内部使用。
- #==============================================================================
- class Game_Interpreter
- def show_map_name(show_count = 60)
- $game_system.show_map_name = true
- $game_system.show_map_count = show_count
- return true
- end
- def show_area_name(show_count = 60)
- $game_system.show_area_name = true
- $game_system.show_area_count = show_count
- return true
- end
- def show_string(string = nil, show_count = 60, x = 24, y = 24)
- $game_system.set_string(string, x, y, show_count)
- return true
- end
- end
- #==============================================================================
- # ■ Game_System
- #------------------------------------------------------------------------------
- # 处理系统附属数据的类。也可执行诸如交通工具、 BGM 等管理之类的功能。
- # 本类的实例请参考$game_system 。
- #==============================================================================
- class Game_System
- #--------------------------------------------------------------------------
- # ● 定义实例变量
- #--------------------------------------------------------------------------
- attr_accessor :show_map_name
- attr_accessor :show_map_count
- attr_accessor :show_area_name
- attr_accessor :show_area_count
- attr_accessor :show_string
-
- alias show_name_initialize initialize
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- show_name_initialize
- @show_map_name = false
- @show_map_count = 60
- @show_area_name = false
- @show_area_count = 60
- @show_string = []
- end
- #--------------------------------------------------------------------------
- # ● 设置显示内容
- #--------------------------------------------------------------------------
- def set_string(content, x, y, show_count)
- return if content == nil
- @show_string.push([content, x, y, show_count])
- end
- end
- #==============================================================================
- # ■ Game_Player
- #------------------------------------------------------------------------------
- # 处理主角的类。事件启动的判定、以及地图的滚动等功能。
- # 本类的实例请参考 $game_player。
- #==============================================================================
- class Game_Player < Game_Character
- def at_area
- for area in $data_areas.values
- if in_area?(area)
- return area
- end
- end
- return nil
- end
- end
- #==============================================================================
- # ■ Window_ShowName
- #------------------------------------------------------------------------------
- # 在地图显示地图,区域,任意字符穿用的窗口
- #==============================================================================
- class Window_ShowName < Window_Base
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- super(0, 0, 50, WLH+32)
- self.openness = 0
- self.visible = true
- self.active = false
- self.back_opacity = 150
- self.opacity = 100
- load_map_data
- @show_count = 0
- end
- #--------------------------------------------------------------------------
- # ● 读取地图数据
- #--------------------------------------------------------------------------
- def load_map_data
- @data = load_data("Data/MapInfos.rvdata")
- end
- #--------------------------------------------------------------------------
- # ● 更新
- #--------------------------------------------------------------------------
- def update
- super
- @map_id = $game_map.map_id
- if @show_count != 0
- @show_count -= 1
- elsif @show_count == 0 and self.openness != 0
- self.close
- else
- if $game_system.show_map_name == true
- self.x = 24
- self.y = 24
- name = @data[@map_id].name
- width = contents.text_size(name).width
- self.width = width + 32
- create_contents
- self.contents.draw_text(0, 0, width, WLH, name)
- self.open
- @show_count = $game_system.show_map_count
- $game_system.show_map_count = 60
- $game_system.show_map_name = false
- elsif $game_system.show_area_name == true
- self.x = 24
- self.y = 24
- @area = $game_player.at_area
- if @area != nil
- name = @area.name
- else
- name = "无"
- end
- width = contents.text_size(name).width
- self.width = width + 32
- create_contents
- self.contents.draw_text(0, 0, width, WLH, name)
- self.open
- @show_count = $game_system.show_area_count
- $game_system.show_area_count = 60
- $game_system.show_area_name = false
- elsif $game_system.show_string.empty? == false
- self.x = $game_system.show_string[0][1]
- self.y = $game_system.show_string[0][2]
- string = $game_system.show_string[0][0]
- width = contents.text_size(string).width
- self.width = width + 32
- create_contents
- self.contents.draw_text(0, 0, width, WLH, string)
- self.open
- @show_count = $game_system.show_string[0][3]
- $game_system.show_string.shift
- end
- end
- end
- end
- #==============================================================================
- # ■ Scene_Map
- #------------------------------------------------------------------------------
- # 处理地图画面的类。
- #==============================================================================
- class Scene_Map < Scene_Base
- alias show_name_initialize initialize
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- show_name_initialize
- create_showing_contents
- end
- #--------------------------------------------------------------------------
- # ● 创建显示用内容
- #--------------------------------------------------------------------------
- def create_showing_contents
- @showing_window = Window_ShowName.new
- end
- alias show_name_update update
- #--------------------------------------------------------------------------
- # ● 更新画面
- #--------------------------------------------------------------------------
- def update
- show_name_update
- unless $game_message.visible # 信息窗口显示中除外
- update_showing_contents
- end
- end
- #--------------------------------------------------------------------------
- # ● 更新显示用窗口
- #--------------------------------------------------------------------------
- def update_showing_contents
- @showing_window.update
- end
- alias show_name_terminate terminate
- #--------------------------------------------------------------------------
- # ● 结束处理
- #--------------------------------------------------------------------------
- def terminate
- @showing_window.dispose
- show_name_terminate
- end
- end
- #============================================================================
- # ☆ 半手动显示地图名。
- # 由feizhaodan制作。
- # 发布于66RPG
- # http://rpg.blue/
- # 版本号: 1.0.0
- # 2011/10/24
- # 转载时请连同这里一起转
- #============================================================================
复制代码 看站里的显示地图好多都是进入地图时自动显示。
虽然这样很方便,但是有些比如开头黑图等等不需要的地图也会显示,所以我就做了这个脚本。
使用方法很简单,在事件里的脚本项内输入以下内容即可:- show_map_name([duration])
复制代码 用来显示地图名。在左上方显示。duration代表显示的时间,省略的话默认为60帧即一秒。
图:
- show_area_name([duration])
复制代码 用来显示区域名,在左上方显示。duration代表显示的时间,省略的话默认为60帧即一秒。
图:
而当主角所在位置没有在任何区域,则会显示无。
图:
最后就是这个脚本的重头戏(因该)
自由定义字符串!
可以任意指定显示的内容,位置,时间!
而且还可以一次性指定很多,来轮流显示!
使用方法很简单:
只要在事件里的脚本项里输入:- show_string([string, duration, x, y])
复制代码 在string里填你想要显示的内容,用""括起来,
在duration理天你想要显示的时间,省略的话默认为60帧即一秒,
x, y分别指定窗口出现的X坐标,Y坐标。省略的话默认为[24, 24]
发图:
|
|