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

Project1

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

[已经解决] 怎么在游戏中更换标题bgm?

[复制链接]

Lv2.观梦者

梦石
0
星屑
293
在线时间
398 小时
注册时间
2011-5-20
帖子
128
跳转到指定楼层
1
发表于 2013-10-25 20:42:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 893299399 于 2013-10-28 14:47 编辑

怎么做一个在游戏中更换标题bgm的效果

Lv3.寻梦者

火烧大神

梦石
0
星屑
1823
在线时间
942 小时
注册时间
2012-1-1
帖子
1777
2
发表于 2013-10-26 00:07:48 | 只看该作者
用跳过标题脚本+事件标题就行了

点评

完全不必要.....  发表于 2013-10-26 01:39

火兔游戏官网上线啦!!
戳 >>> www.huotuyouxi.com <<<戳
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
362
在线时间
1292 小时
注册时间
2013-1-12
帖子
3590

贵宾

3
发表于 2013-10-26 01:51:10 | 只看该作者
本帖最后由 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之類的?  

点评

不过其实报错也没有问题,有时反而能起到提醒的作用  发表于 2013-10-26 17:02
[pre lang="ruby" line="14"]unless $game_variables[Music_Var] < 1 || $game_variables[Music_Var] > Music.size[/pre]  发表于 2013-10-26 17:01
第十行报错....  发表于 2013-10-26 11:29
LBQ
温馨提示:请不要用RPG::BGM.new ._.  发表于 2013-10-26 06:54

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21626
在线时间
9413 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

4
发表于 2013-10-26 21:30:38 | 只看该作者
只有我一个人觉得改变标题画面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
复制代码

点评

51行发生TypeError.superclass mismatch for class scene_Title......  发表于 2013-10-26 21:55
不过就算实用性++我还是觉得楼主的要求本来就很蛋疼……不若随机更换BGM  发表于 2013-10-26 21:54
全局变量好像是达到这个目的……"使用最后保存的那个存档的变量值作为判定依据"实用性++,@76213585 的只是在游戏中返回标题时播放……  发表于 2013-10-26 21:53

评分

参与人数 1梦石 +1 收起 理由
Sion + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21626
在线时间
9413 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

5
发表于 2013-10-26 22:55:29 | 只看该作者
你应该还添加了其他的标题画面脚本了吧?
请把你添加的脚本放上来,不然我没办法修改啊……

点评

标题脚本:http://pan.baidu.com/s/168zDW  发表于 2013-10-27 13:00
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21626
在线时间
9413 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

6
发表于 2013-10-27 14:09:30 | 只看该作者
脚本可以正常使用,看起来应该是和你其他的标题脚本发生冲突了
请把你所使用的全部脚本发上来
另外能别只用点评么,我三连啊喂!

点评

不过mog的脚本里class Scene_Title < Scene_Base都用的好好的为什么我这边会报错……把脚本和mog脚本挨在一起试试?  发表于 2013-10-27 14:13
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
293
在线时间
398 小时
注册时间
2011-5-20
帖子
128
7
 楼主| 发表于 2013-10-28 12:56:56 | 只看该作者
喵呜喵5 发表于 2013-10-27 14:09
脚本可以正常使用,看起来应该是和你其他的标题脚本发生冲突了
请把你所使用的全部脚本发上来
另外能别只用 ...

我这边就这一个标题脚本= =
挨一起是什么意思,把你的脚本扔进那个脚本?
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21626
在线时间
9413 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

8
发表于 2013-10-28 13:14:40 | 只看该作者
893299399 发表于 2013-10-28 12:56
我这边就这一个标题脚本= =
挨一起是什么意思,把你的脚本扔进那个脚本? ...

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

点评

复制到标题脚本后面就能用了,非常感谢  发表于 2013-10-28 13:29
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 20:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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