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

Project1

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

[已经解决] 关于随机标题BGM的一个问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
100 小时
注册时间
2010-7-30
帖子
232
跳转到指定楼层
1
发表于 2012-8-24 14:23:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
改了一下Scene_Title脚本的195行:“$data_system.title_bgm.play”这里
然后改成
@rand_music = rand(3) + 1
    case @rand_music
    when 1
    Audio.bgm_play("Audio/BGM/1.mp3")
    when 2
    Audio.bgm_play("Audio/BGM/2.mp3")
    when 3
    Audio.bgm_play("Audio/BGM/3.mp3")
    end

原本没什么问题,可是进入读取存档界面后,再返回,发现BGM又随机更换了一首
怎样才能在进入存档界面再返回标题的时候,不随机切换标题BGM,并且除此之外的情况都照常随机切换标题BGM呢?

Lv1.梦旅人

梦石
0
星屑
54
在线时间
409 小时
注册时间
2012-5-14
帖子
615
2
发表于 2012-8-24 15:32:04 | 只看该作者
本帖最后由 折戬沉沙 于 2012-8-24 15:40 编辑

让我想想……

其实全部随机也挺好,LZ多弄几个……(十个八个吧~)

或者直接重写读档脚本,让它与标题画面合二为一(就是说不切换画面……)

{:2_272:} 脑袋好乱……就是说将【档位】变成【继续】的子选项……
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
帖子
607

开拓者

3
发表于 2012-8-24 15:51:41 | 只看该作者
……隐约看到以前自己的帖子了,这个195行应该是对应VX的才对。。
抬头发现这里是XP区来着。。。啥情况。。。

@rand_music = rand(3) + 1
这里改成
@rand_music = rand(3) + 1 if @rand_music == nil
试试
往事简直不堪回首,稍微做点想做的事吧
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
732
在线时间
1270 小时
注册时间
2011-2-14
帖子
5589
4
发表于 2012-8-24 16:35:57 | 只看该作者
@rand_music = rand(3) + 1
    case @rand_music
    when 1
    Audio.bgm_play("Audio/BGM/1.mp3")
    when 2
    Audio.bgm_play("Audio/BGM/2.mp3")
    when 3
    Audio.bgm_play("Audio/BGM/3.mp3")
    end
这段这么用
@rand_music = rand(3) + 1 改为 $rand_music = rand(3) + 1并插入到main脚本页的里面的第一行
然后原位置的
    case @rand_music
    when 1
    Audio.bgm_play("Audio/BGM/1.mp3")
    when 2
    Audio.bgm_play("Audio/BGM/2.mp3")
    when 3
    Audio.bgm_play("Audio/BGM/3.mp3")
    end
改成
    case $rand_music
    when 1
    Audio.bgm_play("Audio/BGM/1.mp3")
    when 2
    Audio.bgm_play("Audio/BGM/2.mp3")
    when 3
    Audio.bgm_play("Audio/BGM/3.mp3")
    end

@qq295268654
回复

使用道具 举报

Lv3.寻梦者

双子人

梦石
0
星屑
3165
在线时间
3616 小时
注册时间
2009-4-4
帖子
4154

开拓者

5
发表于 2012-8-24 17:32:52 | 只看该作者
R-零 发表于 2012-8-24 16:35
@rand_music = rand(3) + 1
    case @rand_music
    when 1


占用全局变量了。而且因为Game_Over或返回标题画面(不退出游戏或按F12的情况下)之后,
不管怎么样都是那首音乐。

所以,要在Main前面添加脚本。(原来Scene_Title里的那段脚本不要了)
  1. class Scene_Title
  2.   def initialize(bgm = false)
  3.      if bgm == false
  4.       rand_music = rand(3) + 1
  5.     case rand_music
  6.     when 1
  7.       Audio.bgm_play("Audio/BGM/1.mp3")
  8.     when 2
  9.       Audio.bgm_play("Audio/BGM/2.mp3")
  10.     when 3
  11.       Audio.bgm_play("Audio/BGM/3.mp3")
  12.     end
  13. end
  14.   end
  15. end
复制代码
然后Scene_Load的第61行:$scene = Scene_Title.new
改为$scene = Scene_Title.new(true)

点评

=v=||、高端了、LZ能看懂的话就好了。。  发表于 2012-8-24 17:42
回复

使用道具 举报

Lv1.梦旅人

炎发灼眼的讨伐者

梦石
0
星屑
50
在线时间
1707 小时
注册时间
2007-8-4
帖子
904
6
发表于 2012-8-24 18:02:27 | 只看该作者
在 class Scene_Title下面添加

RUBY 代码复制
  1. @@rand_music = nil
  2.   def initialize
  3.     @@rand_music = nil unless $scene.is_a?(Scene_Load)
  4.   end


改了一下Scene_Title脚本的195行:“$data_system.title_bgm.play”这里
然后改成
RUBY 代码复制
  1. @@rand_music ||= rand(3) + 1
  2.     case @@rand_music
  3.     when 1
  4.     Audio.bgm_play("Audio/BGM/1.mp3")
  5.     when 2
  6.     Audio.bgm_play("Audio/BGM/2.mp3")
  7.     when 3
  8.     Audio.bgm_play("Audio/BGM/3.mp3")
  9.     end

点评

谢谢(ˇˍˇ)  发表于 2012-8-24 18:32
RMXP&RMVX通用Web化完成- -|||
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
100 小时
注册时间
2010-7-30
帖子
232
7
 楼主| 发表于 2012-8-24 18:32:02 | 只看该作者
@R-零@hys111111
各位的答案都不错,只是对比夏娜的答案都麻烦了,最佳就给夏娜了,谢谢{:2_273:}
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-3 15:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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