查看: 1913|回复: 1

[已经解决] 场景中的两个窗口,怎么做到光标自由切换

[复制链接]
梦石
0
星屑
4761
在线时间
285 小时
注册时间
2013-10-13
回帖
580
发表于 2016-3-12 15:14:26 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
我在一个场景中建立两个窗口,一个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方法中编写的,但怎么做才能实现上面功能,小弟我不知道怎么做,特来请教,希望高手们能帮助下。
有范例可以给我。
梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2016-3-12 16:12:56 | 显示全部楼层
本帖最后由 RyanBern 于 2016-3-12 16:14 编辑

生成@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]

点评

谢谢了 !  发表于 2016-3-12 22:34
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部