赞 | 1 |
VIP | 116 |
好人卡 | 40 |
积分 | 4 |
经验 | 19804 |
最后登录 | 2017-12-13 |
在线时间 | 4175 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 432
- 在线时间
- 4175 小时
- 注册时间
- 2010-6-26
- 帖子
- 6474
|
本帖最后由 eve592370698 于 2012-3-28 00:03 编辑
代码先拿出来给大家看看- =begin ===========================================
- # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
- #===================================
- # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
- # 鉴定为古老脚本,作者不明。 By 絮语 2011.2
- # 改订 By 絮语 2011.4
- =end #=========================================================================
- XY_SWITCH = 28 # 当3号开关关闭,本脚本才开始工作。
- #BACK_PNG = RPG::Cache.system('游戏边框右下.png') #背景
- =begin #============================================================
- □ 交通工具添加一点内容不解释
- =end #===================================================
- class Game_Vehicle < Game_Character
- # 预读交通工具所在的地图位置!
- attr_reader :map_id
- attr_reader :name_display
- end
- #==============================================================================
- # ■ Window_XY
- #------------------------------------------------------------------------------
- # 显示坐标的窗口。
- #==============================================================================
- class Window_xy < Window_Base#注意前面那个window_xy是文件名
- #--------------------------------------------------------------------------
- # ● 初始化窗口
- #--------------------------------------------------------------------------
- def initialize
- =begin ==============
- 其实说真的,真不愿意用在默认分辨率上,
- 因为VX这种可怜的分辨率,最好把分辨率扩展一下
- =end #==============
- super(0, Graphics.height - 99, 820, 696)#最后面那个数字是宽要显示多个需要改大,前面一个是长~
- self.contents = Bitmap.new(width - 32, height - 32)
- self.back_opacity = 255 # 这个是背景透明
- self.opacity = 255 # 这个是边框和背景都透明
- self.contents_opacity = 255 # 这个是内容透明
- self.visible = false
- self.z = 1000
- refresh
- @x = $game_player.x
- @y = $game_player.y
- @id = $game_map.map_id
- end
- def main_color
- return Color.new(-210, -210, -210, 255)
- end
- def main2_color
- return Color.new(-180, -170, -170, 255)
- end
- def else_color
- return Color.new(-140, -140, -140, 255)
- end
- #---------------------------------
- def get_map_name
- #这个是从XP移植过来的用法
- $mapnames = load_data("Data/MapInfos.rvdata2") #读取地图名文件
- #获取玩家所在地图的信息
- @x = $game_player.x #获取角色X坐标
- @y = $game_player.y #获取角色Y坐标
- @id = $game_map.map_id #获取地图编号
-
-
- @player_map = load_data(sprintf("Data/Map%03d.rvdata2", @id))
- #获得地图名
- unless @player_map.display_name == nil
- @for_player = @player_map.display_name
- else
- @for_player = $mapnames[@id].name #←玩家角色所在地图
- end
-
-
- #获取飞船所在地图的信息
- @airship_x = $game_map.airship.x
- @airship_y = $game_map.airship.y
- @airship_map_id = $game_map.airship.map_id
- @airship_map = load_data(sprintf("Data/Map%03d.rvdata2", @airship_map_id))
- if @airship_map.display_name == nil
- @for_airship = $mapnames[@airship_map_id].name
- else
- @for_airship = @airship_map.display_name
- end
-
- end
- =begin --------------------------------------------------------
- # ● 刷新
- =end #-----------------------------------------------------------
- def refresh
- #确定开关是否打开,可以自己改变开关
- unless $game_switches[XY_SWITCH]
-
- self.contents.clear #清除以前的东西
- if @back != nil
- if @back.visible
- @back.dispose
- end
- end
- get_map_name
- self.contents.font.size = 20
- self.contents.font.color = text_color(0)#颜色
- self.contents.draw_text(0, 0, 160, 32, @for_player)
- self.contents.font.color = text_color(0)
- self.contents.draw_text(10, 32, 120, 32, "X:")#显示X这个字的位置,引号里面的内容随便改,比如"X坐标地址"
- self.contents.font.color = main2_color
- self.contents.draw_text(10, 32, 52, 32, @x.to_s,2)
- self.contents.font.color = text_color(0)#上面那个是X坐标的变量,可以自己更改变量名~
- self.contents.draw_text(74, 32, 128, 32, "Y:")#显示Y这个字~
- self.contents.font.color = main2_color
- self.contents.draw_text(10, 32, 116, 32, @y.to_s,2)
- #添加交通工具的坐标
- self.contents.font.size = 20
- self.contents.font.color = text_color(1)#颜色
- self.contents.draw_text(100, 00, 160, 32, "飞船在:" + @for_airship ,2)
- self.contents.font.color = text_color(0)
- self.contents.draw_text(140, 32, 120, 32, "X:")#显示X这个字的位置,引号里面的内容随便改,比如"X坐标地址"
- self.contents.font.color = main2_color
- self.contents.draw_text(140, 32, 52, 32, @airship_x.to_s,2)
- #上面那个是X坐标的变量,可以自己更改变量名~
- self.contents.font.color = text_color(0)
- self.contents.draw_text(204, 32, 128, 32, "Y:")#显示Y这个字~
- self.contents.font.color = main2_color
- self.contents.draw_text(140, 32, 116, 32, @airship_y.to_s,2)
-
- end
- end
- #--------------------------------------------------------------------------
- # ● 判断文字刷新。节约内存用
- #--------------------------------------------------------------------------
- def judge
- return true if @x != $game_player.x
- return true if @y != $game_player.y
- return true if @id != $game_map.map_id
- return true if @airship_x != $game_map.airship.x
- return true if @airship_y != $game_map.airship.y
- return false
- end
- end
- ###########################################################################
- # 下面的东西不需要掌握~ #
- ###########################################################################
- class Scene_Map
- alias xy_66rpg_main main
- def main
- @xy_window = Window_xy.new
- #原来这里是设置坐标的啊,不过下面两个是内容
- #@xy_window.x = 800 - 190
- #@xy_window.y = 600 - 96
- @xy_window.opacity = 0
- xy_66rpg_main
- @xy_window.dispose
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面
- #--------------------------------------------------------------------------
- alias xy_66rpg_update update
- def update
- xy_66rpg_update
- unless $game_switches[XY_SWITCH]
- @xy_window.visible = true
- if @边框右下 != nil and @边框右下.visible
- @边框右下.dispose
-
- end
- if @边框左上 != nil and @边框左上.visible
- @边框左上.dispose
- end
- @边框右下 = Sprite.new
- @边框右下.x = 0 #- 256
- @边框右下.y = 0
- #@边框右下.bitmap = RPG::Cache.system('游戏边框.png')
- @xy_window.refresh if @xy_window.judge
- else
- @xy_window.visible = false
- end
- end
- end
- #==========================================================================
- # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
- #==========================================================================
复制代码 可以识别VA特有的地图游戏中显示名称了,如果地图设置了VA专用的名称就显示,如果那里空白就显示通用的地图名称,效果凑合吧,自己把飞船的坐标和地图名称也加进来了,这样也方便玩家能快速找到自己的交通工具。小船和大船自己因为时间和精力有限暂时搁置。
但是,仔细想想,VA自己自带的切换地图短暂显示地图名称那个功能还是有限,怎么办呢? |
结束时间: 2012-4-20 23:55 裁判: Fux2
正方观点 (1)
取代那个功能吧!毕竟出了这个脚本,RM默认的显示地图名称实在是有点鸡肋,而且正好这个脚本正好挺适合“启用/禁止显示地图名称”这个判定,省了自己单独设定开关。
|
|
|
|
反方观点 (2)
鸠占鹊巢,这可不行!毕竟VX那种默认的小分辨率,算上主角和3个交通工具根本没必要全用上,否则给人眼花缭乱的感觉,只要不同场合开启部分功能就可以了,毕竟RM开关多着呢,不能省事就一概而论。
|
辩手:0 ( 加入 )
|
|
辩手:0 ( 加入 )
|
|