我在一个场景中建立两个窗口,一个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方法中编写的,但怎么做才能实现上面功能,小弟我不知道怎么做,特来请教,希望高手们能帮助下。
有范例可以给我。
生成@window_me那里要注意初始要把它的active设置为false,具体在main中设置。
[pre lang="Ruby"]class Scene_Title
def update
if @window_title.active
@window_title.update
if Input.trigger?(Input::C)
# 光标位置分歧
case @window_title.index
when 0 # 选项 '1'
@window_title.active = false
@window_me.active = true
@window_me.index = 0
# 其余的 when 场合
end
return
end
end
if @window_me.active
@window_me.update
if Input.trigger?(Input::B)
@window_me.active = false
@window_me.index = -1
@window_title.active = true
return
end
end
end
end[/pre]