Project1

标题: 如何設置子菜單中"不達條件不能按的"選項 [打印本页]

作者: dancy60634    时间: 2011-11-9 09:41
标题: 如何設置子菜單中"不達條件不能按的"選項
本帖最后由 dancy60634 于 2011-11-14 12:38 编辑

新增檔案,裡面還有原作者的主菜單改法

PS.這是子菜單(點擊隊伍:出現三個選項)

精靈腳本
因為當精靈數=0時
點守護資訊會報錯(原腳本問題,無法改)
所以要把它關掉
可是不知道是不是子菜單無法這麼寫
子菜單目前的問題是
守護資訊雖然可以呈現無法按的黑色,但還是能點=口=
if $game_party.spirits.size == 0
@command_window.draw_item(2, false)   
end
究竟是哪邊錯了~~
  1. class Scene_Spirit
  2.   #--------------------------------------------------------------------------
  3.   # ● 主处理
  4.   #--------------------------------------------------------------------------
  5.   def main
  6.     # 生成命令窗口
  7.     s1 = "隊伍編制"
  8.     s2 = "守護之力"
  9.     s3 = "守護資訊"
  10.     s4 = "取消"
  11.     @command_window = Window_Command.new(192, [s1, s2, s3,s4])
  12.     @command_window.x = 320 - @command_window.width / 2
  13.     @command_window.y = 240 - @command_window.height / 2
  14.     if $game_party.spirits.size == 0
  15.       @command_window.draw_item(2, false)   
  16.     end

  17.     # 执行过渡
  18.     Graphics.transition
  19.     # 主循环
  20.     loop do
  21.       # 刷新游戏画面
  22.       Graphics.update
  23.       # 刷新输入情报
  24.       Input.update
  25.       # 刷新画面
  26.       update
  27.       # 如果画面切换的话就中断循环
  28.       if $scene != self
  29.         break
  30.       end
  31.     end
  32.     # 准备过渡
  33.     Graphics.freeze
  34.     # 释放窗口
  35.     @command_window.dispose
  36.     # 如果在标题画面切换中的情况下
  37.     if $scene.is_a?(Scene_Title)
  38.       # 淡入淡出画面
  39.       Graphics.transition
  40.       Graphics.freeze
  41.     end
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 刷新画面
  45.   #--------------------------------------------------------------------------
  46.   def update
  47.     # 刷新命令窗口
  48.     @command_window.update
  49.     # 按下 B 键的情况下
  50.     if Input.trigger?(Input::B)
  51.       $scene = Scene_Menu.new
  52.       return
  53.     end
  54.     # 按下 C 键的场合下
  55.     if Input.trigger?(Input::C)
  56.       # 命令窗口光标位置分支
  57.       if $game_party.spirits.size == 0 and @command_window.index == 2
  58.         Sound.play_buzzer
  59.       end
  60.       Sound.play_decision
  61.       case @command_window.index
  62.       when 0  
  63.         $scene = Scene_PartyForm.new
  64.       when 1
  65.         $scene = Scene_SpiritChange.new
  66.       when 2  
  67.         $scene = Scene_SpiritStatus.new
  68.       when 3  # 取消
  69.         command_cancel
  70.       end
  71.       return
  72.     end
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 选择命令 [取消] 时的处理
  76.   #--------------------------------------------------------------------------
  77.   def command_cancel
  78.     $scene = Scene_Menu.new
  79.   end
  80. end
复制代码
dsu_plus_rewardpost_czw
作者: MSQ    时间: 2011-11-9 10:12
为何是
  1. s1 = "隊伍編制"

  2.     s2 = "守護之力"

  3.     s3 = "守護資訊"

  4.     s4 = "取消"
复制代码
貌似ruby也是从0开始的吗~~

在下纯小白,不负责任的路过~~
作者: 昔日辉煌灬    时间: 2011-11-9 11:27
本帖最后由 昔日辉煌灬 于 2011-11-9 12:22 编辑
  1. if $game_party.spirits.size == 0
复制代码
if $game_party.spirits.size???  Game_Party有这东西???


。。论坛抽了。。。下过来的。。只有作者改法。。。看看先。。


。。无效化的话。。。@command_window.draw_item(2, false)
                                                                                      ↑..这个应该是1对应第二个选项...0对应第一个
  1. when 1
  2.         $scene = Scene_SpiritChange.new
  3.       when 2  
  4.         $scene = Scene_SpiritStatus.new
复制代码
看了那个txt。。。。是这样的。。。
  1. when 5      # 精霊
  2.         $scene = Scene_SpiritStatus.new(0, @command_window.index)
  3.       when 6      # パートナー
  4.         $scene = Scene_SpiritChange.new(@command_window.index)
复制代码
没有出现错误的话。。。可能没事。。。
  1. class Scene_Spirit
复制代码
不继承Base吗?


作者: dancy60634    时间: 2011-11-9 11:56
本帖最后由 dancy60634 于 2011-11-9 11:57 编辑
昔日辉煌灬 发表于 2011-11-9 11:27
if $game_party.spirits.size???  Game_Party有这东西???


新增了~還有原作者的主菜單改法

0_0點評按成回復了~糟糕
作者: hcm    时间: 2011-11-10 23:29
       何须脚本呢?只要在“显示选项”前加标签XX,在想要有条件的选项下放“条件分歧”
当符合条件时就继续你的剧情,不符就加“跳转到标签XX”事件,加B一声就更好了。
作者: zhangbanxian    时间: 2011-11-14 11:23
58行这里
  1. if $game_party.spirits.size == 0 and @command_window.index == 2

  2.         Sound.play_buzzer

  3.       end

复制代码
改成
  1. if $game_party.spirits.size == 0 and @command_window.index == 2

  2.         Sound.play_buzzer
  3.         return
  4.       end

复制代码





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