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

Project1

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

如何做到进入菜单自动更换bgm?

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-4-7
帖子
8
跳转到指定楼层
1
发表于 2008-6-15 17:54:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv3.寻梦者

孤独守望

梦石
0
星屑
3133
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

2
发表于 2008-6-15 17:58:15 | 只看该作者
Scene_Menu,main方法,最前面加上BGM播放语句(忘了……)并且把原来的记下来,在dispose里再放回去(好像在说废话……)
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
3
发表于 2008-6-15 18:24:09 | 只看该作者
以下代替Scene_Menu

  1. #==============================================================================
  2. # ■ Scene_Menu
  3. #------------------------------------------------------------------------------
  4. #  處理選單畫面的類別。
  5. #==============================================================================

  6. class Scene_Menu
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化物件
  9.   #     menu_index : 命令游標的初期位置
  10.   #--------------------------------------------------------------------------
  11.   def initialize(menu_index = 0)
  12.     @menu_index = menu_index
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 主處理
  16.   #--------------------------------------------------------------------------
  17.   def main
  18.     # 產生命令視窗
  19.     $game_system.bgm_memorize
  20.     Audio.bgm_play("Audio/BGM/014-Theme03")
  21.     s1 = $data_system.words.item
  22.     s2 = $data_system.words.skill
  23.     s3 = $data_system.words.equip
  24.     s4 = "狀態"
  25.     s5 = "存檔"
  26.     s6 = "結束"
  27.     @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
  28.     @command_window.index = @menu_index
  29.     # 同伴人數為 0 的情況下
  30.     if $game_party.actors.size == 0
  31.       # 物品、技能、裝備、狀態無效化
  32.       @command_window.disable_item(0)
  33.       @command_window.disable_item(1)
  34.       @command_window.disable_item(2)
  35.       @command_window.disable_item(3)
  36.     end
  37.     # 禁止存檔的情況下
  38.     if $game_system.save_disabled
  39.       # 存檔無效
  40.       @command_window.disable_item(4)
  41.     end
  42.     # 產生遊戲時間視窗
  43.     @playtime_window = Window_PlayTime.new
  44.     @playtime_window.x = 0
  45.     @playtime_window.y = 224
  46.     # 產生步數視窗
  47.     @steps_window = Window_Steps.new
  48.     @steps_window.x = 0
  49.     @steps_window.y = 320
  50.     # 產生金錢視窗
  51.     @gold_window = Window_Gold.new
  52.     @gold_window.x = 0
  53.     @gold_window.y = 416
  54.     # 產生狀態視窗
  55.     @status_window = Window_MenuStatus.new
  56.     @status_window.x = 160
  57.     @status_window.y = 0
  58.     # 執行過渡
  59.     Graphics.transition
  60.     # 主循環
  61.     loop do
  62.       # 更新遊戲畫面
  63.       Graphics.update
  64.       # 更新輸入訊息
  65.       Input.update
  66.       # 更新畫面
  67.       update
  68.       # 如果切換畫面就中斷循環
  69.       if $scene != self
  70.         break
  71.       end
  72.     end
  73.     # 準備過渡
  74.     Graphics.freeze
  75.     # 釋放視窗
  76.     @command_window.dispose
  77.     @playtime_window.dispose
  78.     @steps_window.dispose
  79.     @gold_window.dispose
  80.     @status_window.dispose
  81.     $game_system.bgm_restore
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● 更新畫面
  85.   #--------------------------------------------------------------------------
  86.   def update
  87.     # 更新視窗
  88.     @command_window.update
  89.     @playtime_window.update
  90.     @steps_window.update
  91.     @gold_window.update
  92.     @status_window.update
  93.     # 命令視窗被活化的情況下: 呼叫 update_command
  94.     if @command_window.active
  95.       update_command
  96.       return
  97.     end
  98.     # 狀態視窗被活化的情況下: 呼叫 update_status
  99.     if @status_window.active
  100.       update_status
  101.       return
  102.     end
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ● 更新畫面 (命令視窗被活化的情況下)
  106.   #--------------------------------------------------------------------------
  107.   def update_command
  108.     # 按下 B 鍵的情況下
  109.     if Input.trigger?(Input::B)
  110.       # 演奏取消 SE
  111.       $game_system.se_play($data_system.cancel_se)
  112.       # 切換的地圖畫面
  113.       $scene = Scene_Map.new
  114.       return
  115.     end
  116.     # 按下 C 鍵的情況下
  117.     if Input.trigger?(Input::C)
  118.       # 同伴人數為 0、存檔、遊戲結束以外的場合
  119.       if $game_party.actors.size == 0 and @command_window.index < 4
  120.         # 演奏凍結 SE
  121.         $game_system.se_play($data_system.buzzer_se)
  122.         return
  123.       end
  124.       # 命令視窗的游標位置分歧
  125.       case @command_window.index
  126.       when 0  # 物品
  127.         # 演奏確定 SE
  128.         $game_system.se_play($data_system.decision_se)
  129.         # 切換到物品畫面
  130.         $scene = Scene_Item.new
  131.       when 1  # 技能
  132.         # 演奏確定 SE
  133.         $game_system.se_play($data_system.decision_se)
  134.         # 活化狀態視窗
  135.         @command_window.active = false
  136.         @status_window.active = true
  137.         @status_window.index = 0
  138.       when 2  # 裝備
  139.         # 演奏確定 SE
  140.         $game_system.se_play($data_system.decision_se)
  141.         # 活化狀態視窗
  142.         @command_window.active = false
  143.         @status_window.active = true
  144.         @status_window.index = 0
  145.       when 3  # 狀態
  146.         # 演奏確定 SE
  147.         $game_system.se_play($data_system.decision_se)
  148.         # 活化狀態視窗
  149.         @command_window.active = false
  150.         @status_window.active = true
  151.         @status_window.index = 0
  152.       when 4  # 存檔
  153.         # 禁止存檔的情況下
  154.         if $game_system.save_disabled
  155.           # 演奏凍結 SE
  156.           $game_system.se_play($data_system.buzzer_se)
  157.           return
  158.         end
  159.         # 演奏確定 SE
  160.         $game_system.se_play($data_system.decision_se)
  161.         # 切換到存檔畫面
  162.         $scene = Scene_Save.new
  163.       when 5  # 遊戲結束
  164.         # 演奏確定 SE
  165.         $game_system.se_play($data_system.decision_se)
  166.         # 切換到遊戲結束畫面
  167.         $scene = Scene_End.new
  168.       end
  169.       return
  170.     end
  171.   end
  172.   #--------------------------------------------------------------------------
  173.   # ● 更新畫面 (狀態視窗被活化的情況下)
  174.   #--------------------------------------------------------------------------
  175.   def update_status
  176.     # 按下 B 鍵的情況下
  177.     if Input.trigger?(Input::B)
  178.       # 演奏取消 SE
  179.       $game_system.se_play($data_system.cancel_se)
  180.       # 活化命令視窗
  181.       @command_window.active = true
  182.       @status_window.active = false
  183.       @status_window.index = -1
  184.       return
  185.     end
  186.     # 按下 C 鍵的情況下
  187.     if Input.trigger?(Input::C)
  188.       # 命令視窗的游標位置分歧
  189.       case @command_window.index
  190.       when 1  # 技能
  191.         # 這個角色的行動限制在 2 以上的情況下
  192.         if $game_party.actors[@status_window.index].restriction >= 2
  193.           # 演奏凍結 SE
  194.           $game_system.se_play($data_system.buzzer_se)
  195.           return
  196.         end
  197.         # 演奏確定 SE
  198.         $game_system.se_play($data_system.decision_se)
  199.         # 切換到技能畫面
  200.         $scene = Scene_Skill.new(@status_window.index)
  201.       when 2  # 裝備
  202.         # 演奏確定 SE
  203.         $game_system.se_play($data_system.decision_se)
  204.         # 切換到裝備畫面
  205.         $scene = Scene_Equip.new(@status_window.index)
  206.       when 3  # 狀態
  207.         # 演奏確定 SE
  208.         $game_system.se_play($data_system.decision_se)
  209.         # 切換到狀態畫面
  210.         $scene = Scene_Status.new(@status_window.index)
  211.       end
  212.       return
  213.     end
  214.   end
  215. end
复制代码

其中
Audio.bgm_play("Audio/BGM/*****")
*****选择你要的音乐档名
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复

使用道具 举报

Lv1.梦旅人

冰王子

梦石
0
星屑
50
在线时间
34 小时
注册时间
2008-1-27
帖子
1875
4
发表于 2008-6-15 18:25:13 | 只看该作者
被楼上抢去了。。。。
插入式脚本
  1. class Scene_Map
  2.   alias call_menu_new call_menu
  3.   def call_menu
  4.     call_menu_new
  5.     file = "Audio/BGM/051-Positive09"    #修改BGM
  6.     volume = 80                          #修改音量
  7.     pitch = 100                          #修改速度
  8.     Audio.bgm_play(file,volume, pitch)
  9.   end
  10. end
  11. class Scene_Menu
  12.   alias update_command_new update_command
  13.   def update_command
  14.     update_command_new
  15.     if Input.trigger?(Input::B)
  16.       $game_system.bgm_play($game_temp.map_bgm)
  17.     end
  18.   end
  19. end
复制代码
不常在线,有事PM
回复

使用道具 举报

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
5
发表于 2008-6-15 18:46:30 | 只看该作者
以下引用凌冰于2008-6-15 10:25:13的发言:

被楼上抢去了。。。。
插入式脚本
class Scene_Map
  alias call_menu_new call_menu
  def call_menu
    call_menu_new
    file = "Audio/BGM/051-Positive09"    #修改BGM
    volume = 80                          #修改音量
    pitch = 100                          #修改速度
    Audio.bgm_play(file,volume, pitch)
  end
end
class Scene_Menu
  alias update_command_new update_command
  def update_command
    update_command_new
    if Input.trigger?(Input::B)
      $game_system.bgm_play($game_temp.map_bgm)
    end
  end
end

LS 比較有才

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3133
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

6
发表于 2008-6-15 18:49:01 | 只看该作者
以下引用凌冰于2008-6-15 10:25:13的发言:

被楼上抢去了。。。。
插入式脚本
class Scene_Map
  alias call_menu_new call_menu
  def call_menu
    call_menu_new
    file = "Audio/BGM/051-Positive09"    #修改BGM
    volume = 80                          #修改音量
    pitch = 100                          #修改速度
    Audio.bgm_play(file,volume, pitch)
  end
end
class Scene_Menu
  alias update_command_new update_command
  def update_command
    update_command_new
    if Input.trigger?(Input::B)
      $game_system.bgm_play($game_temp.map_bgm)
    end
  end
end

用脚本直接切出菜单画面的时候会有很美妙的效果……
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

Lv1.梦旅人

冰王子

梦石
0
星屑
50
在线时间
34 小时
注册时间
2008-1-27
帖子
1875
7
发表于 2008-6-15 18:53:32 | 只看该作者
以下引用IamI于2008-6-15 10:49:01的发言:



用脚本直接切出菜单画面的时候会有很美妙的效果……

好吧!我承认我偷懒了。。。
不常在线,有事PM
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2007-12-16
帖子
3454
8
发表于 2008-6-15 18:58:43 | 只看该作者
以下引用凌冰于2008-6-15 10:53:32的发言:


以下引用IamI于2008-6-15 10:49:01的发言:



用脚本直接切出菜单画面的时候会有很美妙的效果……


好吧!我承认我偷懒了。。。

会怎么样{/se}
回复

使用道具 举报

Lv1.梦旅人

冰王子

梦石
0
星屑
50
在线时间
34 小时
注册时间
2008-1-27
帖子
1875
9
发表于 2008-6-15 19:03:22 | 只看该作者
以下引用做游戏的新手于2008-6-15 10:58:43的发言:




会怎么样

依旧会播放那个BGM
不常在线,有事PM
回复

使用道具 举报

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
10
发表于 2008-6-15 19:17:09 | 只看该作者
我刚刚发现~~~~~我的改法MS也有小问题~~~~~
进入物品,技能等视窗后~~~~~会有问题

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-8-5 22:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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