Project1
标题:
从XP移植到VA的显示地图坐标,能否取代RM默认显示地图名?
[打印本页]
作者:
eve592370698
时间:
2012-3-28 00:01
标题:
从XP移植到VA的显示地图坐标,能否取代RM默认显示地图名?
本帖最后由 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自己自带的切换地图短暂显示地图名称那个功能还是有限,怎么办呢?
作者:
无双sxa
时间:
2012-3-28 00:11
保持中立,取不取代,它都存在,存在就有意义,具体用途按照自己需要的效果进行选择,有时显示地图名不一定重要,有时又很有必要,按需分配吧。
作者:
orzfly
时间:
2012-3-28 08:16
那个事件开启就一直显示(用这个
关闭就用原来的…
如果都不要就连续两次执行事件关闭…
作者:
仲秋启明
时间:
2012-3-28 12:25
都差不多嘛
作者:
feizhaodan
时间:
2012-3-28 13:24
这就跟横板可不可以代替默认战斗似的,感觉没有讨论的意义= =
作者:
精灵使者
时间:
2012-4-9 09:50
显示地图名和XY脚本里面有效率很低的地方,需要进行改进。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1