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

Project1

 找回密码
 注册会员
搜索

用脚本使地图上的图片消失

查看数: 2084 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2011-8-13 19:44

正文摘要:

本帖最后由 涂鸦boy 于 2011-8-13 20:01 编辑 这是一个显示地图坐标的脚本,自行试探为其加入背景(24~28行),问题出现了:当开关关闭后背景图还在,求解 附上调试用背景图(Graphics/xybg.png): #============ ...

回复

涂鸦boy 发表于 2011-8-13 20:38:24
fux2 发表于 2011-8-13 20:32
关闭的时候要释放那张图.

万分感谢~
fux2 发表于 2011-8-13 20:32:11
关闭的时候要释放那张图.
  1. #==========================================================================
  2. # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
  3. #==========================================================================

  4. XY_SWITCH = 25 # 当25号开关打开,本脚本才开始工作。

  5. #==============================================================================
  6. # ■ Window_XY
  7. #------------------------------------------------------------------------------
  8. #  显示坐标的窗口。
  9. #==============================================================================
  10. class Window_xy < Window_Base#注意前面那个window_xy是文件名
  11. #--------------------------------------------------------------------------
  12. # ● 初始化窗口
  13. #--------------------------------------------------------------------------
  14. attr_accessor:sp
  15. def initialize
  16.    super(0, 0, 130, 280)#最后面那个数字是宽要显示多个需要改大,前面一个是长~
  17.    self.contents = Bitmap.new(width - 32, height - 32)
  18.    self.back_opacity = 255  # 这个是背景透明
  19.    self.opacity = 255       # 这个是边框和背景都透明
  20.    self.contents_opacity = 255      # 这个是内容透明
  21.    self.visible = false
  22.    refresh
  23.    @sp = Sprite.new
  24.    @sp.bitmap = Bitmap.new("Graphics/xybg.png") #坐标背景
  25.    @sp.z = 1    #优先级
  26.    @sp.y = 0    #横坐标
  27.    @sp.x = 0    #纵坐标
  28.    @x = $game_player.x
  29.    @y = $game_player.y
  30.    @id = $game_map.map_id
  31. end

  32. #--------------------------------------------------------------------------
  33. # ● 刷新
  34. #--------------------------------------------------------------------------
  35. def refresh
  36.    if $game_switches[XY_SWITCH] #确定开关是否打开,可以自己改变开关
  37.      @x = $game_player.x #获取角色X坐标
  38.      @y = $game_player.y #获取角色Y坐标
  39.      @id = $game_map.map_id  #获取地图编号
  40.     self.contents.clear #清除以前的东西
  41.     $mapnames = load_data("Data/MapInfos.rxdata") #读取地图名文件
  42.     map_name = $mapnames[@id].name #获得地图名
  43.     self.contents.font.size = 13
  44.     self.contents.font.color = Color.new(225, 225, 225, 255)#颜色,这里是白色~
  45.     self.contents.draw_text(4, -1, 70, 18, map_name,1)
  46.     self.contents.font.color = system_color#颜色,暗蓝色
  47.     self.contents.draw_text(7, 45, 80, 18, "X:")#显示X这个字的位置,引号里面的内容随便改,比如"X坐标地址"
  48.     self.contents.font.color = Color.new(225, 225, 225, 255)#颜色,这里是白色~
  49.     self.contents.draw_text(-6, 45, 40, 18, @x.to_s,2)
  50.     self.contents.font.color = system_color#上面那个是X坐标的变量,可以自己更改变量名~
  51.     self.contents.draw_text(44, 45, 24, 18, "Y:")#显示Y这个字~
  52.     self.contents.font.color = Color.new(225, 225, 225, 255)
  53.     self.contents.draw_text(-18, 45, 90, 18, @y.to_s,2)
  54.    end
  55. end
  56. #--------------------------------------------------------------------------
  57. # ● 判断文字刷新。节约内存用
  58. #--------------------------------------------------------------------------
  59. def judge
  60.    return true if @x != $game_player.x
  61.    return true if @y != $game_player.y
  62.    return true if @id != $game_map.map_id
  63.    return false
  64. end
  65. end
  66. ###########################################################################
  67. #                           下面的东西不需要掌握~                         #
  68. ###########################################################################

  69. class Scene_Map
  70. alias xy_66rpg_main main
  71. def main
  72.    @xy_window = Window_xy.new
  73.    @xy_window.x = 2
  74.    @xy_window.y = -2
  75.    @xy_window.opacity = 0
  76.    xy_66rpg_main
  77.    @xy_window.dispose
  78. end
  79. #--------------------------------------------------------------------------
  80. # ● 刷新画面
  81. #--------------------------------------------------------------------------
  82. alias xy_66rpg_update update
  83. def update
  84.    xy_66rpg_update
  85.    if $game_switches[XY_SWITCH]
  86.      @xy_window.visible = true     
  87.      @xy_window.refresh if @xy_window.judge
  88.    else
  89.      @xy_window.sp.visible = false
  90.      @xy_window.visible = false
  91.    end
  92. end
  93. end
  94. #==========================================================================
  95. # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
  96. #==========================================================================
复制代码
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-30 17:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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