Project1

标题: 如何在脚本插入一个开关 [打印本页]

作者: 飛影    时间: 2009-12-31 19:21
标题: 如何在脚本插入一个开关
如何在脚本插入一个开关,比如显示地图XY坐标后,在脚本中增加一个开关,当地图坐标被打开时增加的开关就被打开!
作者: 「旅」    时间: 2009-12-31 20:06
可以提供一下那个脚本的地址或代码吗?
作者: 飛影    时间: 2009-12-31 20:35
  1. XY_SWITCH = 5 # 当2号开关打开,本脚本才开始工作。
  2. #==============================================================================
  3. # ■ Window_XY
  4. #------------------------------------------------------------------------------
  5. #  显示坐标的窗口。
  6. #==============================================================================
  7. class Window_xy < Window_Base#注意前面那个window_xy是文件名
  8. #--------------------------------------------------------------------------
  9. # ● 初始化窗口
  10. #--------------------------------------------------------------------------
  11. def initialize
  12.    super(0, 0, 160, 96)#最后面那个数字是宽要显示多个需要改大,前面一个是长~
  13.    self.contents = Bitmap.new(width - 32, height - 32)
  14.    self.back_opacity = 255  # 这个是背景透明
  15.    self.opacity = 255       # 这个是边框和背景都透明
  16.    self.contents_opacity = 255       # 这个是内容透明
  17.    self.visible = false
  18.    refresh
  19.    @x = $game_player.x
  20.    @y = $game_player.y
  21.    @id = $game_map.map_id
  22. end

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

  59. class Scene_Map
  60. alias xy_66rpg_main main
  61. def main
  62.    @xy_window = Window_xy.new
  63.    @xy_window.x = 640 - 160
  64.    @xy_window.y = 480 - 96
  65.    @xy_window.opacity = 0
  66.    xy_66rpg_main
  67.    @xy_window.dispose
  68. end
  69. #--------------------------------------------------------------------------
  70. # ● 刷新画面
  71. #--------------------------------------------------------------------------
  72. alias xy_66rpg_update update
  73. def update
  74.    xy_66rpg_update
  75.    if $game_switches[XY_SWITCH]
  76.      @xy_window.visible = true      
  77.      @xy_window.refresh if @xy_window.judge
  78.    else
  79.      @xy_window.visible = false
  80.    end
  81. end
  82. end
  83. #==========================================================================
  84. #==========================================================================
复制代码

作者: IamI    时间: 2009-12-31 20:39
= =XY_SWITCH那个开关(5号开关)不够用吗?
作者: 飛影    时间: 2009-12-31 20:51
我是要增加一个事件,只要这个脚本运行就 在 脚本运行另一个开关,是要脚本插入的,不需要事件




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