设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3070|回复: 10
打印 上一主题 下一主题

在菜单中新增项目要改些什么地方?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2008-1-15
帖子
280
跳转到指定楼层
1
发表于 2009-1-20 01:48:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
在菜单中新增项目,并让此项目执行某个脚本或公共事件要改些什么地方?

  1. #==============================================================================
  2. # ■ Scene_Menu
  3. #------------------------------------------------------------------------------
  4. #  处理菜单画面的类。
  5. #==============================================================================

  6. class Scene_Menu < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     menu_index : 命令窗口光标初始位置
  10.   #--------------------------------------------------------------------------
  11.   def initialize(menu_index = 0)
  12.     @menu_index = menu_index
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 开始处理
  16.   #--------------------------------------------------------------------------
  17.   def start
  18.     super
  19.     create_menu_background
  20.     create_command_window
  21.     @gold_window = Window_Gold.new(0, 360)
  22.     @status_window = Window_MenuStatus.new(160, 0)
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 结束处理
  26.   #--------------------------------------------------------------------------
  27.   def terminate
  28.     super
  29.     dispose_menu_background
  30.     @command_window.dispose
  31.     @gold_window.dispose
  32.     @status_window.dispose
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 更新画面
  36.   #--------------------------------------------------------------------------
  37.   def update
  38.     super
  39.     update_menu_background
  40.     @command_window.update
  41.     @gold_window.update
  42.     @status_window.update
  43.     if @command_window.active
  44.       update_command_selection
  45.     elsif @status_window.active
  46.       update_actor_selection
  47.     end
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 生成命令窗口
  51.   #--------------------------------------------------------------------------
  52.   def create_command_window
  53.     s1 = Vocab::item
  54.     s2 = Vocab::skill
  55.     s3 = Vocab::equip
  56.     s4 = Vocab::status
  57.     s5 = Vocab::save
  58.     s6 = Vocab::game_end
  59.     @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
  60.     @command_window.index = @menu_index
  61.     if $game_party.members.size == 0          # 如果队伍为空
  62.       @command_window.draw_item(0, false)     # 无效化物品选项
  63.       @command_window.draw_item(1, false)     # 无效化技能选项
  64.       @command_window.draw_item(2, false)     # 无效化装备选项
  65.       @command_window.draw_item(3, false)     # 无效化状态选项
  66.     end
  67.     if $game_system.save_disabled             # 如果禁止存档
  68.       @command_window.draw_item(4, false)     # 无效化存档选项
  69.     end
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ● 更新命令窗口
  73.   #--------------------------------------------------------------------------
  74.   def update_command_selection
  75.     if Input.trigger?(Input::B)
  76.       Sound.play_cancel
  77.       $scene = Scene_Map.new
  78.     elsif Input.trigger?(Input::C)
  79.       if $game_party.members.size == 0 and @command_window.index < 4
  80.         Sound.play_buzzer
  81.         return
  82.       elsif $game_system.save_disabled and @command_window.index == 4
  83.         Sound.play_buzzer
  84.         return
  85.       end
  86.       Sound.play_decision
  87.       case @command_window.index
  88.       when 0      # 物品
  89.         $scene = Scene_Item.new
  90.       when 1,2,3  # 技能、装备、状态
  91.         start_actor_selection
  92.       when 4      # 存档
  93.         $scene = Scene_File.new(true, false, false)
  94.       when 5      # 结束游戏
  95.         $scene = Scene_End.new
  96.       end
  97.     end
  98.   end
  99.   #--------------------------------------------------------------------------
  100.   # ● 角色选择开始
  101.   #--------------------------------------------------------------------------
  102.   def start_actor_selection
  103.     @command_window.active = false
  104.     @status_window.active = true
  105.     if $game_party.last_actor_index < @status_window.item_max
  106.       @status_window.index = $game_party.last_actor_index
  107.     else
  108.       @status_window.index = 0
  109.     end
  110.   end
  111.   #--------------------------------------------------------------------------
  112.   # ● 角色选择结束
  113.   #--------------------------------------------------------------------------
  114.   def end_actor_selection
  115.     @command_window.active = true
  116.     @status_window.active = false
  117.     @status_window.index = -1
  118.   end
  119.   #--------------------------------------------------------------------------
  120.   # ● 角色选择更新
  121.   #--------------------------------------------------------------------------
  122.   def update_actor_selection
  123.     if Input.trigger?(Input::B)
  124.       Sound.play_cancel
  125.       end_actor_selection
  126.     elsif Input.trigger?(Input::C)
  127.       $game_party.last_actor_index = @status_window.index
  128.       Sound.play_decision
  129.       case @command_window.index
  130.       when 1  # 技能
  131.         $scene = Scene_Skill.new(@status_window.index)
  132.       when 2  # 装备
  133.         $scene = Scene_Equip.new(@status_window.index)
  134.       when 3  # 状态
  135.         $scene = Scene_Status.new(@status_window.index)
  136.       end
  137.     end
  138.   end
  139. end
复制代码

menu的脚本
版务信息:本贴由楼主自主结贴~

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3309
在线时间
3620 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

2
发表于 2009-1-20 02:10:00 | 只看该作者
#==============================================================================
# ■ Scene_Menu
#------------------------------------------------------------------------------
#  处理菜单画面的类。
#==============================================================================

class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     menu_index : 命令窗口光标初始位置
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # ● 开始处理
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_Gold.new(0, 360)
    @status_window = Window_MenuStatus.new(160, 0)
  end
  #--------------------------------------------------------------------------
  # ● 结束处理
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
  #--------------------------------------------------------------------------
  # ● 生成命令窗口
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    s7 = 一句脚本
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # 如果队伍为空
      @command_window.draw_item(0, false)     # 无效化物品选项
      @command_window.draw_item(1, false)     # 无效化技能选项
      @command_window.draw_item(2, false)     # 无效化装备选项
      @command_window.draw_item(3, false)     # 无效化状态选项
    end
    if $game_system.save_disabled             # 如果禁止存档
      @command_window.draw_item(4, false)     # 无效化存档选项
    end
  end
  #--------------------------------------------------------------------------
  # ● 更新命令窗口
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # 物品
        $scene = Scene_Item.new
      when 1,2,3  # 技能、装备、状态
        start_actor_selection
      when 4      # 存档
        $scene = Scene_File.new(true, false, false)
      when 5      # 结束游戏
        $scene = Scene_End.new
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 角色选择开始
  #--------------------------------------------------------------------------
  def start_actor_selection
    @command_window.active = false
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end
  #--------------------------------------------------------------------------
  # ● 角色选择结束
  #--------------------------------------------------------------------------
  def end_actor_selection
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
  end
  #--------------------------------------------------------------------------
  # ● 角色选择更新
  #--------------------------------------------------------------------------
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1  # 技能
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # 装备
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # 状态
        $scene = Scene_Status.new(@status_window.index)
      end
    end
  end
end
[LINE]1,#dddddd[/LINE]
可能是这样改的吧…… = =
[LINE]1,#dddddd[/LINE]
似乎下面的 更新命令窗口 这里也要加一个…… [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2008-1-15
帖子
280
3
 楼主| 发表于 2009-1-20 02:17:06 | 只看该作者
{/fd}我也是不知道 更新命令窗口 那里怎么改{/hx}

{/cy}还剩50分+1张XX卡
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-1-20
帖子
143
4
发表于 2009-1-20 02:35:29 | 只看该作者
更新窗口那里也是要加的,否则任何地方也指不到
神?何じゃそりゃ?食べていい?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2008-1-15
帖子
280
5
 楼主| 发表于 2009-1-20 02:39:08 | 只看该作者
以下引用妮贝雅于2009-1-19 18:35:29的发言:

更新窗口那里也是要加的,否则任何地方也指不到

{/jy}怎么加
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3309
在线时间
3620 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

6
发表于 2009-1-20 02:49:12 | 只看该作者
大概是在
when 5      # 结束游戏
       $scene = Scene_End.new

后面再加一个:
when 6      
       $scene = Scene_End.new(调试的脚本)
大概这样吧。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2008-1-15
帖子
280
7
 楼主| 发表于 2009-1-20 02:54:46 | 只看该作者
{/fd}进入菜单就直接运行脚本了{/fd}
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3309
在线时间
3620 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

8
发表于 2009-1-20 02:59:59 | 只看该作者
主要是不明白Vocab::game_end这类东西的命名是否有要求。
没要求的话把那个最前面的脚本改成Vocab::game_other 看看。
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2008-1-15
帖子
280
9
 楼主| 发表于 2009-1-20 03:40:59 | 只看该作者
.......{/fd}那些脚本狂人呢.......?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2008-1-15
帖子
280
10
 楼主| 发表于 2009-1-20 18:02:31 | 只看该作者
{/fd}我改好了....直接把名字加""就行了...
  1. #==============================================================================
  2. # ■ Scene_Menu
  3. #------------------------------------------------------------------------------
  4. #  处理菜单画面的类。
  5. #==============================================================================

  6. class Scene_Menu < Scene_Base
  7. #--------------------------------------------------------------------------
  8. # ● 初始化对像
  9. #     menu_index : 命令窗口光标初始位置
  10. #--------------------------------------------------------------------------
  11. def initialize(menu_index = 0)
  12.    @menu_index = menu_index
  13. end
  14. #--------------------------------------------------------------------------
  15. # ● 开始处理
  16. #--------------------------------------------------------------------------
  17. def start
  18.    super
  19.    create_menu_background
  20.    create_command_window
  21.    @gold_window = Window_Gold.new(0, 360)
  22.    @status_window = Window_MenuStatus.new(160, 0)
  23. end
  24. #--------------------------------------------------------------------------
  25. # ● 结束处理
  26. #--------------------------------------------------------------------------
  27. def terminate
  28.    super
  29.    dispose_menu_background
  30.    @command_window.dispose
  31.    @gold_window.dispose
  32.    @status_window.dispose
  33. end
  34. #--------------------------------------------------------------------------
  35. # ● 更新画面
  36. #--------------------------------------------------------------------------
  37. def update
  38.    super
  39.    update_menu_background
  40.    @command_window.update
  41.    @gold_window.update
  42.    @status_window.update
  43.    if @command_window.active
  44.      update_command_selection
  45.    elsif @status_window.active
  46.      update_actor_selection
  47.    end
  48. end
  49. #--------------------------------------------------------------------------
  50. # ● 生成命令窗口
  51. #--------------------------------------------------------------------------
  52. def create_command_window
  53.    s1 = Vocab::item
  54.    s2 = Vocab::skill
  55.    s3 = Vocab::equip
  56.    s4 = Vocab::status
  57.    s5 = Vocab::save
  58.    s6 = Vocab::game_end
  59.    s7 = "任务"
  60.    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
  61.    @command_window.index = @menu_index
  62.    if $game_party.members.size == 0          # 如果队伍为空
  63.      @command_window.draw_item(0, false)     # 无效化物品选项
  64.      @command_window.draw_item(1, false)     # 无效化技能选项
  65.      @command_window.draw_item(2, false)     # 无效化装备选项
  66.      @command_window.draw_item(3, false)     # 无效化状态选项
  67.    end
  68.    if $game_system.save_disabled             # 如果禁止存档
  69.      @command_window.draw_item(4, false)     # 无效化存档选项
  70.    end
  71. end
  72. #--------------------------------------------------------------------------
  73. # ● 更新命令窗口
  74. #--------------------------------------------------------------------------
  75. def update_command_selection
  76.    if Input.trigger?(Input::B)
  77.      Sound.play_cancel
  78.      $scene = Scene_Map.new
  79.    elsif Input.trigger?(Input::C)
  80.      if $game_party.members.size == 0 and @command_window.index < 4
  81.        Sound.play_buzzer
  82.        return
  83.      elsif $game_system.save_disabled and @command_window.index == 4
  84.        Sound.play_buzzer
  85.        return
  86.      end
  87.      Sound.play_decision
  88.      case @command_window.index
  89.      when 0      # 物品
  90.        $scene = Scene_Item.new
  91.      when 1,2,3  # 技能、装备、状态
  92.        start_actor_selection
  93.      when 4      # 存档
  94.        $scene = Scene_File.new(true, false, false)
  95.      when 5      # 结束游戏
  96.        $scene = Scene_End.new
  97.      when 6      
  98.        $scene = Scene_Task.new

  99.      end
  100.    end
  101. end
  102. #--------------------------------------------------------------------------
  103. # ● 角色选择开始
  104. #--------------------------------------------------------------------------
  105. def start_actor_selection
  106.    @command_window.active = false
  107.    @status_window.active = true
  108.    if $game_party.last_actor_index < @status_window.item_max
  109.      @status_window.index = $game_party.last_actor_index
  110.    else
  111.      @status_window.index = 0
  112.    end
  113. end
  114. #--------------------------------------------------------------------------
  115. # ● 角色选择结束
  116. #--------------------------------------------------------------------------
  117. def end_actor_selection
  118.    @command_window.active = true
  119.    @status_window.active = false
  120.    @status_window.index = -1
  121. end
  122. #--------------------------------------------------------------------------
  123. # ● 角色选择更新
  124. #--------------------------------------------------------------------------
  125. def update_actor_selection
  126.    if Input.trigger?(Input::B)
  127.      Sound.play_cancel
  128.      end_actor_selection
  129.    elsif Input.trigger?(Input::C)
  130.      $game_party.last_actor_index = @status_window.index
  131.      Sound.play_decision
  132.      case @command_window.index
  133.      when 1  # 技能
  134.        $scene = Scene_Skill.new(@status_window.index)
  135.      when 2  # 装备
  136.        $scene = Scene_Equip.new(@status_window.index)
  137.      when 3  # 状态
  138.        $scene = Scene_Status.new(@status_window.index)
  139.      end
  140.    end
  141. end
  142. end
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-10 02:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表