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

Project1

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

[已经过期] 如何给这个脚本加上一个开关?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
73 小时
注册时间
2008-5-30
帖子
84
跳转到指定楼层
1
发表于 2011-4-17 23:38:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
比如给90号开关打开时,此脚本不起作用。以下脚本代码
  1. #地图名及坐标显示
  2. #==============================================================================
  3. # ■ Window_Pos
  4. #==============================================================================

  5. class Window_Pos < Window_Base
  6. #--------------------------------------------------------------------------
  7. # ● 初始化
  8. #--------------------------------------------------------------------------
  9. def initialize
  10.    super(0, 0, 122, 52)
  11.    self.z = 151
  12.    self.contents.font.size = 20
  13.    refresh
  14. end
  15. #--------------------------------------------------------------------------
  16. # ● 刷新
  17. #--------------------------------------------------------------------------
  18. def refresh
  19.    self.contents.clear
  20.    self.contents.font.color = system_color
  21.    @x,@y = $game_player.x,$game_player.y
  22.    self.contents.draw_text(0, 0, 90, 20, "(#{@x},#{@y})", 1)
  23. end
  24. #--------------------------------------------------------------------------
  25. # ● 更新
  26. #--------------------------------------------------------------------------
  27. def update
  28.    return if $game_player.x == @x and $game_player.y == @y
  29.    refresh
  30. end
  31. end

  32. #==============================================================================
  33. # ■ Window_MapName
  34. #==============================================================================

  35. class Window_MapName < Window_Base
  36. #--------------------------------------------------------------------------
  37. # ● 初始化
  38. #--------------------------------------------------------------------------
  39. def initialize
  40.    @map_id = $game_map.map_id
  41.    super(0, 0, 182, 52)
  42.    self.contents.font.size = 20
  43.    self.z = 151
  44.    refresh
  45. end
  46. #--------------------------------------------------------------------------
  47. # ● 刷新
  48. #--------------------------------------------------------------------------
  49. def refresh
  50.    self.opacity = 255
  51.    self.contents_opacity = 255
  52.    name = $data_mapinfos[@map_id].name
  53.    width = self.contents.text_size(name).width
  54.    height = self.contents.text_size(name).height
  55.    self.width = width + 32
  56.    self.height = height + 32
  57.    self.contents = Bitmap.new(width, height)
  58.    self.contents.font.size = 20
  59.    self.x = (Graphics.width - self.width) / 2
  60.    self.y = (Graphics.height - self.height) / 2
  61.    self.contents.font.color = system_color
  62.    self.contents.draw_text(0, 0, width, 20, name, 1)
  63. end
  64. #--------------------------------------------------------------------------
  65. # ● 更新
  66. #--------------------------------------------------------------------------
  67. def update
  68.    if $game_map.map_id != @map_id
  69.      @map_id = $game_map.map_id
  70.      refresh
  71.      self.opacity = 255
  72.      self.contents_opacity = 255
  73.    end
  74.    return if self.opacity == 0
  75.    self.opacity -= 5
  76.    self.contents_opacity -= 5
  77. end

  78. end

  79. class Scene_Title < Scene_Base
  80. #--------------------------------------------------------------------------
  81. # ● 数据库载入
  82. #--------------------------------------------------------------------------
  83. alias old_ld load_database
  84. def load_database
  85.    old_ld
  86.    $data_mapinfos       = load_data("Data/MapInfos.rvdata")
  87. end
  88. end

  89. class Scene_Map < Scene_Base
  90. #--------------------------------------------------------------------------
  91. # ● 开始
  92. #--------------------------------------------------------------------------
  93. alias old_start start
  94. def start
  95.    old_start
  96.    @pos_window = Window_Pos.new
  97.    @mapname_window = Window_MapName.new
  98. end
  99. #--------------------------------------------------------------------------
  100. # ● 结束
  101. #--------------------------------------------------------------------------
  102. alias old_ter terminate
  103. def terminate
  104.    old_ter
  105.    @pos_window.dispose
  106.    @mapname_window.dispose
  107. end
  108. #--------------------------------------------------------------------------
  109. # ● 更新
  110. #--------------------------------------------------------------------------
  111. alias old_update update
  112. def update
  113.    old_update
  114.    @pos_window.update
  115.    @mapname_window.update
  116. end
  117. end
复制代码

点评

我已经用别的脚本代替了- -||  发表于 2011-4-23 13:54

Lv1.梦旅人

梦石
0
星屑
50
在线时间
105 小时
注册时间
2009-7-25
帖子
201
2
发表于 2011-4-18 13:28:55 | 只看该作者
本帖最后由 killkill2298 于 2011-4-18 13:30 编辑

好像置顶帖里面有可以用开关控制的地图名称显示脚本

这个要改的话,在所有def refresh后面一行添加一句:
if $game_switches[开关ID] = true then end
应该可以吧

未测试,自己试下
我是好人

VX ARPG迷城的国度试玩版已经放出
后续版本紧张制作中

正在策划迷城的伊苏:以超难迷宫为主的中型游戏
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
73 小时
注册时间
2008-5-30
帖子
84
3
 楼主| 发表于 2011-4-18 21:46:02 | 只看该作者

经测试不行。。。。算了,我直接去掉了这个脚本,公共事件显示地图名了,坐标那个东西要不要无所谓- -||


xzqcm111于2011-4-18 21:49补充以下内容:
ruby的标签跳转指令是什么啊? 其实可以在最后加个标签然后再加个返回的跳转就好了吧。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
70
在线时间
386 小时
注册时间
2007-7-27
帖子
4106

开拓者

4
发表于 2011-4-23 07:46:11 | 只看该作者
  1. def update
  2. if $game_switches[开关ID] == true
  3.    if $game_map.map_id != @map_id
  4.      @map_id = $game_map.map_id
  5.      refresh
  6.      self.opacity = 255
  7.      self.contents_opacity = 255
  8.    end
  9.    return if self.opacity == 0
  10.    self.opacity -= 5
  11.    self.contents_opacity -= 5
  12. else
  13. self.opacity =0 if self.opacity != 0
  14. end
  15. end
复制代码
好像就这么简单,没有测试,不行再说
ruby好像没有goto……
吸吸
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-11 20:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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