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

Project1

 找回密码
 注册会员
搜索
查看: 1828|回复: 9
打印 上一主题 下一主题

[已经解决] 如果建立一个可以用开关控制的 地图坐标 ??

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
跳转到指定楼层
1
发表于 2011-12-4 12:23:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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
复制代码

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

2
发表于 2011-12-4 12:39:15 | 只看该作者
在第19行和20行之间插入:
  1. @resien_map.visible = $game_switches[X]
复制代码
X输入你要控制显示的开关ID。打开时显示

点评

MSQ
FZD君好~~=W=  发表于 2011-12-4 12:59
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
3
 楼主| 发表于 2011-12-4 13:09:22 | 只看该作者
feizhaodan 发表于 2011-12-4 12:39
在第19行和20行之间插入:X输入你要控制显示的开关ID。打开时显示

谢谢

不过,加入后出现了
20行 发生了NoMethoError .
undefined method 'visible=' for nil : NilClass
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

4
发表于 2011-12-4 13:39:50 | 只看该作者
yanglibin0409 发表于 2011-12-4 13:09
谢谢

不过,加入后出现了

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
5
 楼主| 发表于 2011-12-4 14:17:12 | 只看该作者
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
复制代码
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
45
在线时间
247 小时
注册时间
2010-6-16
帖子
190
6
发表于 2011-12-4 14:24:44 | 只看该作者
不需要显示时
$坐标显示 = 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
复制代码
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

7
发表于 2011-12-4 14:27:03 | 只看该作者
这样:
  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
复制代码
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
8
 楼主| 发表于 2011-12-4 16:40:53 | 只看该作者
feizhaodan 发表于 2011-12-4 14:27
这样:

使用 这个 脚本后, 无论 开关 1  是 打开还是 关闭, 仍然会显示 坐标……
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

9
发表于 2011-12-4 16:49:30 | 只看该作者
  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
复制代码
用这个。拼错了竟然
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
10
 楼主| 发表于 2011-12-5 09:18:27 | 只看该作者
feizhaodan 发表于 2011-12-4 16:49
用这个。拼错了竟然

可以了,十分 感谢。

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

点评

我用的时候没有背景颜色啊= =  发表于 2011-12-5 11:28
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-12-30 04:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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