Project1

标题: 请问整队窗口是否打开的判断 [打印本页]

作者: yunxin0111    时间: 2015-3-16 22:16
标题: 请问整队窗口是否打开的判断
请问整队那个窗口是否打开是那个名字 SceneManager.scene_is?(?) 不知道应该是那个窗口名 没有找到
作者: yunxin0111    时间: 2015-3-16 22:46
好像 技能 道具 都在用一个窗口。。。那看来不好用这个判断 是否可以判断 是否在整队哪里按下空格呢?
作者: 喵呜喵5    时间: 2015-3-16 22:55
在整队状态下按下空格会调用 Scene_Menu 的 on_formation_ok 方法,比较简单的做法就是在这个方法的最开始加入一个打开开关的指令,之后判断这个开关即可
作者: taroxd    时间: 2015-3-17 12:39
本帖最后由 taroxd 于 2015-3-17 12:41 编辑

判断整队的那个窗口是否处于显示状态
场景中 @xxx_window.visible
作者: yunxin0111    时间: 2015-3-17 20:04
喵呜喵5 发表于 2015-3-16 22:55
在整队状态下按下空格会调用 Scene_Menu 的 on_formation_ok 方法,比较简单的做法就是在这个方法的最开始 ...

恩 如何做呢 我现在的问题是 仿照退出游戏的窗口 做了一个确认 取消 对话框 在整理选到指定角色的时候 按空格 会询问你是否让其离队 并确认 取消 问题在于 如果我无法判断 是否在整队窗口 那么可能在技能等窗口 选择角色的时候 也会出现确认的对话框 当然 或许有更高明的做对话框的方法 不过我是初学者 还不会太高深的东西 只能先从修改仿照开始学
作者: 喵呜喵5    时间: 2015-3-17 20:16
yunxin0111 发表于 2015-3-17 20:04
恩 如何做呢 我现在的问题是 仿照退出游戏的窗口 做了一个确认 取消 对话框 在整理选到指定角色的时候 按 ...

请附上你显示这个窗口的具体代码,不然没法回答…………
作者: yunxin0111    时间: 2015-3-17 20:18
taroxd 发表于 2015-3-17 12:39
判断整队的那个窗口是否处于显示状态
场景中 @xxx_window.visible

实际上。。。我觉得好像主菜单那个 技能的 道具的 状态的 整队的 用的都是一个窗口 所以我无从判断是否是整队进去的 因为我在整队哪里加了一个 确认 取消 对话框 如果不能判断 在 道具 技能 这几个窗口 也会出现同样的对话框
作者: yunxin0111    时间: 2015-3-17 20:47
本帖最后由 yunxin0111 于 2015-3-17 20:48 编辑
喵呜喵5 发表于 2015-3-17 20:16
请附上你显示这个窗口的具体代码,不然没法回答…………
  1. class Window_Quit < Window_Command
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6.     super(0, 0)
  7.     update_placement
  8.     self.openness = 0
  9.     open
  10.   end
  11.   #--------------------------------------------------------------------------
  12.   # ● 取得窗口的宽度
  13.   #--------------------------------------------------------------------------
  14.   def window_width
  15.     return 160
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 更新窗口的位置
  19.   #--------------------------------------------------------------------------
  20.   def update_placement
  21.     self.x = (Graphics.width - width) / 2
  22.     self.y = (Graphics.height - height) / 2
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 生成指令列表
  26.   #--------------------------------------------------------------------------
  27.   def make_command_list
  28.   
  29.     add_command("确认", :arg)
  30.     add_command(Vocab::cancel,   :cancel)
  31.   end
  32. end


  33. #==============================================================================
  34. # ■ Scene_End
  35. #------------------------------------------------------------------------------
  36. #  游戏结束画面
  37. #==============================================================================

  38. class  Scene_Quit < Scene_MenuBase
  39.   #--------------------------------------------------------------------------
  40.   # ● 开始处理
  41.   #--------------------------------------------------------------------------
  42.   def start
  43.     super
  44.     create_command_window
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 结束前处理
  48.   #--------------------------------------------------------------------------
  49.   def pre_terminate
  50.     super
  51.     close_command_window
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 生成背景
  55.   #--------------------------------------------------------------------------
  56.   def create_background
  57.     super
  58.     @background_sprite.tone.set(0, 0, 0, 128)
  59.   end
  60.   #--------------------------------------------------------------------------
  61.   # ● 生成指令窗口
  62.   #--------------------------------------------------------------------------
  63.   def create_command_window
  64.     @command_window = Window_Quit.new
  65.     @command_window.set_handler(:arg, method(:command_to_arg))
  66.     @command_window.set_handler(:cancel,   method(:return_scene))
  67.   end
  68.   #--------------------------------------------------------------------------
  69.   # ● 关闭指令窗口
  70.   #--------------------------------------------------------------------------
  71.   def close_command_window
  72.     @command_window.close
  73.     update until @command_window.close?
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 指令[确认窗口]
  77.   #--------------------------------------------------------------------------
  78.   def command_to_arg
  79.   
  80.     $game_party.remove_actor($play)
  81.     return_scene
  82.   end
  83. end
复制代码
恩恩 窗口是这样的。。仿照退出做的。。。。。 然后再game_paty 的  def menu_actor=(actor) 方法哪里调用窗口
作者: 喵呜喵5    时间: 2015-3-17 21:54
yunxin0111 发表于 2015-3-17 20:47
恩恩 窗口是这样的。。仿照退出做的。。。。。 然后再game_paty 的  def menu_actor=(actor) 方法哪里调用 ...
  1. class Scene_Menu
  2.   def on_formation_ok
  3.     $play = $game_party.members[@status_window.index].id
  4.     SceneManager.call(Scene_Quit)   
  5.   end
  6. end
复制代码

作者: yunxin0111    时间: 2015-3-17 21:59
喵呜喵5 发表于 2015-3-17 21:54

哦哦哦。。。原来是在这个交换的窗口做判定,感谢你的耐心回答{:2_249:}




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