Project1

标题: 场景中的两个窗口,怎么做到光标自由切换 [打印本页]

作者: kvkv97    时间: 2016-3-12 15:14
标题: 场景中的两个窗口,怎么做到光标自由切换
我在一个场景中建立两个窗口,一个A窗口的命令是["1","2","3","4"],另外一个窗口S的命令是["我","你","他"],都继承了同个父类(Window_Selectable)。问题出来了:两个窗口的光标都跟着方向键在动。我想避免这情况,作到如下功能:1,A窗口光标在动则B窗口光标不动;当光标处于A窗口"1"命令上的时候,按C键(回车),A窗口光标熄灭B窗口光标激活;当光标处于B窗口命令上的时候,按B键(Esc),B窗口光标熄灭A窗口光标激活。
理论上可行吗?如果可行,该怎么编写程序?(A和B窗口我已经编写好了,就差在场景Scene_Title中编码)
class Scene_Title
  def update
    #设置标题窗口动
    @window_title.update
    #按C我窗口动标题窗口不动,按B解除
    if @window_title.active
      if Input.trigger?(Input::C)
        @window_title.active = false
        @window_me.active = true
      end
      if Input.trigger?(Input::B)
      end
      end
    #我窗口动
    if @window_me.active
      #内容
    end
  end
end
我知道编码是在Scene_Title中的update方法中编写的,但怎么做才能实现上面功能,小弟我不知道怎么做,特来请教,希望高手们能帮助下。
有范例可以给我。
作者: RyanBern    时间: 2016-3-12 16:12
本帖最后由 RyanBern 于 2016-3-12 16:14 编辑

生成@window_me那里要注意初始要把它的active设置为false,具体在main中设置。
RUBY 代码复制
  1. class Scene_Title
  2.   def update
  3.     if @window_title.active
  4.       @window_title.update
  5.       if Input.trigger?(Input::C)
  6.         # 光标位置分歧
  7.         case @window_title.index
  8.         when 0 # 选项 '1'
  9.           @window_title.active = false
  10.           @window_me.active = true
  11.           @window_me.index = 0
  12.         # 其余的 when 场合
  13.         end
  14.         return
  15.       end
  16.     end
  17.     if @window_me.active
  18.       @window_me.update
  19.       if Input.trigger?(Input::B)
  20.         @window_me.active = false
  21.         @window_me.index = -1
  22.         @window_title.active = true
  23.         return
  24.       end
  25.     end
  26.   end
  27. end





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