Project1

标题: 如果建立一个可以用开关控制的 地图坐标 ?? [打印本页]

作者: yanglibin0409    时间: 2011-12-4 12:23
标题: 如果建立一个可以用开关控制的 地图坐标 ??
本帖最后由 yanglibin0409 于 2011-12-4 12:25 编辑

想做一个 地图坐标,但是 需要黑屏的时候,坐标仍然存在, 希望能通过 开关 控制。(如果能放到菜单窗口里也行)
以下是网上 找到的一个脚本。

另外,我希望 该 地图坐标的背景是系统的背景,而不是自己设置的单调色,如何设定呢?
  1. class Scene_Map < Scene_Base
  2.   alias reisen_old_initialize initialize
  3.   def initialize
  4.     reisen_old_initialize
  5.     @reisen_map = Sprite.new
  6.     @reisen_map.x = 5
  7.     @reisen_map.y = 5
  8.     @reisen_map.z = 999
  9.     @reisen_map.opacity = 255
  10.     @reisen_map.visible = true
  11.     @reisen_map.bitmap = Bitmap.new(100, 140)
  12.   end
  13.   alias reisen_old_update update
  14.   def update
  15.     if @old_x != $game_player.x or @old_y != $game_player.y
  16.       @old_x, @old_y = $game_player.x, $game_player.y
  17.       @reisen_map.bitmap.clear
  18.       @reisen_map.bitmap.draw_text(0, 0, 100, 32, "X(#{@old_x}) Y(#{@old_y})")
  19.     end
  20.     reisen_old_update
  21.   end
  22.   alias reisen_old_terminate terminate
  23.   def terminate
  24.     reisen_old_terminate
  25.     @reisen_map.dispose
  26.   end
  27. end
复制代码
dsu_plus_rewardpost_czw
作者: feizhaodan    时间: 2011-12-4 12:39
在第19行和20行之间插入:
  1. @resien_map.visible = $game_switches[X]
复制代码
X输入你要控制显示的开关ID。打开时显示
作者: yanglibin0409    时间: 2011-12-4 13:09
feizhaodan 发表于 2011-12-4 12:39
在第19行和20行之间插入:X输入你要控制显示的开关ID。打开时显示

谢谢

不过,加入后出现了
20行 发生了NoMethoError .
undefined method 'visible=' for nil : NilClass
作者: feizhaodan    时间: 2011-12-4 13:39
yanglibin0409 发表于 2011-12-4 13:09
谢谢

不过,加入后出现了

在那行后面加
  1. if @resien_map != nil
复制代码

作者: yanglibin0409    时间: 2011-12-4 14:17
feizhaodan 发表于 2011-12-4 13:39
在那行后面加

根据你的指导, 脚本是如下这样吗?
但是出现了 29 行发生 syntaxError
如果加上end 仍是刚才那个错误
20行 发生了NoMethoError .
undefined method 'visible=' for nil : NilClass
  1. class Scene_Map < Scene_Base
  2.   alias reisen_old_initialize initialize
  3.   def initialize
  4.     reisen_old_initialize
  5.     @reisen_map = Sprite.new
  6.     @reisen_map.x = 5
  7.     @reisen_map.y = 5
  8.     @reisen_map.z = 999
  9.     @reisen_map.opacity = 255
  10.     @reisen_map.visible = true
  11.     @reisen_map.bitmap = Bitmap.new(100, 140)
  12.   end
  13.   alias reisen_old_update update
  14.   def update
  15.     if @old_x != $game_player.x or @old_y != $game_player.y
  16.       @old_x, @old_y = $game_player.x, $game_player.y
  17.       @reisen_map.bitmap.clear
  18.       @reisen_map.bitmap.draw_text(0, 0, 100, 32, "X(#{@old_x}) Y(#{@old_y})")
  19.     end
  20.     @resien_map.visible = $game_switches[1]
  21.     if @resien_map != nil
  22.     reisen_old_update
  23.   end
  24.   alias reisen_old_terminate terminate
  25.   def terminate
  26.     reisen_old_terminate
  27.     @reisen_map.dispose
  28.   end
  29. end
复制代码

作者: 懒虫起床    时间: 2011-12-4 14:24
不需要显示时
$坐标显示 = false
显示时
$坐标显示 = nil
  1. class Scene_Map < Scene_Base
  2.   alias reisen_old_initialize initialize
  3.   def initialize
  4.     reisen_old_initialize
  5.     @reisen_map = Sprite.new
  6.     @reisen_map.x = 5
  7.     @reisen_map.y = 5
  8.     @reisen_map.z = 999
  9.     @reisen_map.opacity = 255
  10.     @reisen_map.visible = true
  11.     @reisen_map.bitmap = Bitmap.new(100, 140)
  12.   end
  13.   alias reisen_old_update update
  14.   def update
  15.     if @old_x != $game_player.x or @old_y != $game_player.y
  16.       @old_x, @old_y = $game_player.x, $game_player.y
  17.       @reisen_map.bitmap.clear
  18.       if $坐标显示 == nil
  19.               @reisen_map.bitmap.draw_text(0, 0, 100, 32, "X(#{@old_x}) Y(#{@old_y})")
  20.       end
  21.     end
  22.     reisen_old_update
  23.   end
  24.   alias reisen_old_terminate terminate
  25.   def terminate
  26.     reisen_old_terminate
  27.     @reisen_map.dispose
  28.   end
  29. end
复制代码

作者: feizhaodan    时间: 2011-12-4 14:27
这样:
  1. class Scene_Map < Scene_Base
  2.   alias reisen_old_initialize initialize
  3.   def initialize
  4.     reisen_old_initialize
  5.     @reisen_map = Sprite.new
  6.     @reisen_map.x = 5
  7.     @reisen_map.y = 5
  8.     @reisen_map.z = 999
  9.     @reisen_map.opacity = 255
  10.     @reisen_map.visible = true
  11.     @reisen_map.bitmap = Bitmap.new(100, 140)
  12.   end
  13.   alias reisen_old_update update
  14.   def update
  15.     if @old_x != $game_player.x or @old_y != $game_player.y
  16.       @old_x, @old_y = $game_player.x, $game_player.y
  17.       @reisen_map.bitmap.clear
  18.       @reisen_map.bitmap.draw_text(0, 0, 100, 32, "X(#{@old_x}) Y(#{@old_y})")
  19.     end
  20.     @resien_map.visible = $game_switches[1] if @resien_map != nil
  21.     reisen_old_update
  22.   end
  23.   alias reisen_old_terminate terminate
  24.   def terminate
  25.     reisen_old_terminate
  26.     @reisen_map.dispose
  27.   end
  28. end
复制代码

作者: yanglibin0409    时间: 2011-12-4 16:40
feizhaodan 发表于 2011-12-4 14:27
这样:

使用 这个 脚本后, 无论 开关 1  是 打开还是 关闭, 仍然会显示 坐标……
作者: feizhaodan    时间: 2011-12-4 16:49
  1. class Scene_Map < Scene_Base
  2.   alias reisen_old_initialize initialize
  3.   def initialize
  4.     reisen_old_initialize
  5.     @reisen_map = Sprite.new
  6.     @reisen_map.x = 5
  7.     @reisen_map.y = 5
  8.     @reisen_map.z = 999
  9.     @reisen_map.opacity = 255
  10.     @reisen_map.visible = true
  11.     @reisen_map.bitmap = Bitmap.new(100, 140)
  12.   end
  13.   alias reisen_old_update update
  14.   def update
  15.     if @old_x != $game_player.x or @old_y != $game_player.y
  16.       @old_x, @old_y = $game_player.x, $game_player.y
  17.       @reisen_map.bitmap.clear
  18.       @reisen_map.bitmap.draw_text(0, 0, 100, 32, "X(#{@old_x}) Y(#{@old_y})")
  19.     end
  20.     @reisen_map.visible = $game_switches[1] if @reisen_map != nil
  21.     @reisen_map.update if @reisen_map != nil
  22.     reisen_old_update
  23.   end
  24.   alias reisen_old_terminate terminate
  25.   def terminate
  26.     reisen_old_terminate
  27.     @reisen_map.dispose
  28.   end
  29. end
复制代码
用这个。拼错了竟然

作者: yanglibin0409    时间: 2011-12-5 09:18
feizhaodan 发表于 2011-12-4 16:49
用这个。拼错了竟然

可以了,十分 感谢。

不过那个 背景 颜色是如何 设置的呢?怎么 设置 会 自动为 windows.png 的背景色??




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1