最爱南宫煌 发表于 2010-4-17 14:49:06

显示地图名和坐标

#==========================================================================
# 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
#==========================================================================
XY_SWITCH = 20 # 当20号开关打开,本脚本才开始工作。

#==============================================================================
# ■ Window_XY
#------------------------------------------------------------------------------
#  显示坐标的窗口。
#==============================================================================
class Window_xy < Window_Base#注意前面那个window_xy是文件名
#--------------------------------------------------------------------------
# ● 初始化窗口
#--------------------------------------------------------------------------
def initialize
super(0, 0, 280, 96)#最后面那个数字是宽要显示多个需要改大,前面一个是长~
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 255 # 这个是背景透明
self.opacity = 255 # 这个是边框和背景都透明
self.contents.font.bold = true
self.contents_opacity = 255 # 这个是内容透明
self.visible = false
refresh
@x = $game_player.x
@y = $game_player.y
@id = $game_map.map_id
end

#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
if $game_switches #确定开关是否打开,可以自己改变开关
@x = $game_player.x #获取角色X坐标
@y = $game_player.y #获取角色Y坐标
@id = $game_map.map_id #获取地图编号
self.contents.clear #清除以前的东西
$mapnames = load_data("Data/MapInfos.rxdata") #读取地图名文件
map_name = $mapnames[@id].name #获得地图名
self.contents.font.color = normal_color#颜色,这里是白色~

name = map_name



cx = name.length * 7

ye = 130 - cx

if ye < 0
ye = 0
end


if ye > self.width - 5
ye = self.width - 5
end



self.contents.draw_text(ye, 0,cx, 32, map_name,0)


self.contents.font.color = system_color#颜色,暗蓝色
self.contents.draw_text(0, 32, 175, 32, "经:")#显示X这个字的位置,引号里面的内容随便改,比如"X坐标地址"
self.contents.font.color = normal_color#颜色,这里是白色~
self.contents.draw_text(0, 32, 80, 32, @x.to_s,2)
self.contents.font.color = system_color#上面那个是X坐标的变量,可以自己更改变量名~
self.contents.draw_text(95, 32, 175, 32, "纬:")#显示Y这个字~
self.contents.font.color = normal_color
self.contents.draw_text(0, 32, 175, 32, @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 false
end
end
###########################################################################
# 下面的东西不需要掌握~ #
###########################################################################

class Scene_Map
alias xy_66rpg_main main
def main
@xy_window = Window_xy.new
@xy_window.x = 640 - 220
@xy_window.y = 480 - 101
@xy_window.z = 2000
@xy_window.opacity = 0
xy_66rpg_main
@xy_window.dispose
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
alias xy_66rpg_update update
def update
xy_66rpg_update
if $game_switches
@xy_window.visible = true
@xy_window.refresh if @xy_window.judge
else
@xy_window.visible = false
end
end
end
#==========================================================================
# 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
#=========================================================================
这个也是本人比较喜欢的脚本,在打开20号开关时,屏幕左下角会显示角色所在地图明及坐标,可以在角色航海时使用。
页: [1]
查看完整版本: 显示地图名和坐标