Project1

标题: 怎么在游戏中更换标题bgm? [打印本页]

作者: 893299399    时间: 2013-10-25 20:42
标题: 怎么在游戏中更换标题bgm?
本帖最后由 893299399 于 2013-10-28 14:47 编辑

怎么做一个在游戏中更换标题bgm的效果
作者: 火烧兔子    时间: 2013-10-26 00:07
用跳过标题脚本+事件标题就行了
作者: 熊喵酱    时间: 2013-10-26 01:51
本帖最后由 76213585 于 2013-10-25 20:31 编辑

RUBY 代码复制
  1. #========================
  2. # 不同標題音樂  By: Panda King
  3. #========================
  4. #             插入main以上
  5. #========================
  6. module Panda_Title_Music
  7.   Music = ["Scene1","Scene2","Scene3"] #音樂的檔案名稱  如不需要就留空  
  8.   Music_Var = 1 #控制音樂的變量  標題BGM會改為music中的第N曲.
  9. end
  10. class Scene_Title < Scene_Base
  11.   include Panda_Title_Music
  12.   def play_title_music
  13.     if !Music.nil?
  14.       if $game_variables[Music_Var] >= 1
  15.         RPG::BGM.new(Music[$game_variables[Music_Var]-1], 100, 100).play
  16.       else
  17.         $data_system.title_bgm.play
  18.       end
  19.     else
  20.       $data_system.title_bgm.play
  21.     end
  22.     RPG::BGS.stop
  23.     RPG::ME.stop
  24.   end
  25. end

恩.... 用法都在裡面了...
可是如果變量值超過數組的內容就會報錯.......
我再回去研究下
==========================================
@893299399  
第十行?  可能是你的Scene_Title 的父類不是 Scene_Base?
報錯訊息是不是 Super Class mismatch之類的?  
作者: 喵呜喵5    时间: 2013-10-26 21:30
只有我一个人觉得改变标题画面BGM这件事需要动用到全局变量么…………
  1. =begin
  2. ===============================================================================
  3.   更改标题音乐 By喵呜喵5
  4. ===============================================================================

  5.   【说明】
  6.   
  7.   在游戏中使用一个变量控制标题画面的背景音乐
  8.   如果游戏中有多个存档,且每个存档对应的变量值不同的话,
  9.   将使用最后保存的那个存档的变量值作为判定依据


  10. =end
  11. module M5TitleBgm
  12. #==============================================================================
  13. #  设定部分
  14. #==============================================================================
  15.   

  16.   LIST = [nil,
  17.   "Theme1",
  18.   "Theme2",
  19.   "Theme3"
  20.   ]  
  21.   #这里设置BGM列表,注意格式以及逗号
  22.   #如果你不懂脚本,请不要删除第一行以及最后一行的后括号
  23.   
  24.   VAR = 1
  25.   #这里设置控制播放BGM的变量的ID
  26.   
  27.   
  28. #==============================================================================
  29. #  设定结束
  30. #==============================================================================
  31. #==============================================================================
  32. #  脚本部分
  33. #==============================================================================
  34. end
  35. class << DataManager
  36.   def load_title_date(index)
  37.     File.open(make_filename(index), "rb") do |file|
  38.       Marshal.load(file)
  39.       extract_save_contents(Marshal.load(file))      
  40.     end
  41.     return true
  42.   end
  43.   def extract_title_save_contents(contents)
  44.     $game_variables     = contents[:variables]
  45.   end
  46. end
  47. class Scene_Title < Scene_Base
  48.   alias m5_20131026_play_title_music play_title_music
  49.   def play_title_music
  50.     if !Dir.glob(DataManager.make_filename(DataManager.latest_savefile_index)).empty?
  51.       DataManager.load_title_date(DataManager.latest_savefile_index)
  52.       change_title_music      
  53.     end
  54.     m5_20131026_play_title_music   
  55.   end
  56.   def change_title_music
  57.     index = $game_variables[M5TitleBgm::VAR]   
  58.     $data_system.title_bgm.name = M5TitleBgm::LIST[index] if M5TitleBgm::LIST[index]
  59.   end
  60. end
复制代码

作者: 喵呜喵5    时间: 2013-10-26 22:55
你应该还添加了其他的标题画面脚本了吧?
请把你添加的脚本放上来,不然我没办法修改啊……
作者: 喵呜喵5    时间: 2013-10-27 14:09
脚本可以正常使用,看起来应该是和你其他的标题脚本发生冲突了
请把你所使用的全部脚本发上来
另外能别只用点评么,我三连啊喂!
作者: 893299399    时间: 2013-10-28 12:56
喵呜喵5 发表于 2013-10-27 14:09
脚本可以正常使用,看起来应该是和你其他的标题脚本发生冲突了
请把你所使用的全部脚本发上来
另外能别只用 ...

我这边就这一个标题脚本= =
挨一起是什么意思,把你的脚本扔进那个脚本?
作者: 喵呜喵5    时间: 2013-10-28 13:14
893299399 发表于 2013-10-28 12:56
我这边就这一个标题脚本= =
挨一起是什么意思,把你的脚本扔进那个脚本? ...

把这个脚本直接复制粘贴到那个脚本的后面
你只有一个标题脚本的话可能是其他脚本也改了标题画面的缘故,要不然就是你什么地方搞错了,总不可能同样的语句在别人的脚本中能用在我的脚本中就不能用了吧……




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