Project1

标题: 请教BGM播放脚本里的一些小问题(慎入,内含N多问题) [打印本页]

作者: 风若·飘絮    时间: 2014-1-24 16:43
标题: 请教BGM播放脚本里的一些小问题(慎入,内含N多问题)
本帖最后由 风若·飘絮 于 2014-1-25 10:06 编辑
  1.   def bgm_play(bgm)
  2.     @playing_bgm = bgm
  3.     if bgm != nil and bgm.name != ""
  4.       
  5.       Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume, bgm.pitch)
  6.     else
  7.       Audio.bgm_stop
  8.     end
  9.     Graphics.frame_reset
  10.   end
复制代码
这是RM默认脚本,
1.既然播放方法里的参数直接调用bgm,为何还要设定@playing_bgm呢?
2.P bgm时,发现bgm存储的是一个文件数组,(凡是文件都有.name .volume .pitch这几个变量吗?)请问调用这个函数时,bgm是被赋值文件路径吗?
3.BGM淡出这个方法有什么作用?求大神举例说明
4.BGS ME和BGM有什么不同?不都是播放音乐功能吗?
  1. def windowskin_name=(windowskin_name)
  2. @windowskin_name = windowskin_name
  3. end
复制代码
5.以上代码什么意思?为什么让方法直接等于它的参数?和windowskin_name(windowskin_name)有什么不同

啊哈哈哈,一口气问了好多好多,其实主要是暑假里遇到的问题,学习一直较忙,积累到寒假问了,Bother大神们解答一下,谢谢!

作者: 风若·飘絮    时间: 2014-1-25 09:20
顶上去 我这不叫挖坟吧
作者: 芯☆淡茹水    时间: 2014-1-25 09:49
1,@playing_bgm 只是用于记忆用,看下面的记忆 BGM
  1. #--------------------------------------------------------------------------
  2.   # ● 记忆 BGM
  3.   #--------------------------------------------------------------------------
  4.   def bgm_memorize
  5.     @memorized_bgm = @playing_bgm
  6.   end
复制代码
2,bgm 这个参数是一个类,这里面所有音乐参数都是一个类。看下面
  1. module RPG
  2.   class AudioFile
  3.     def initialize(name = "", volume = 100, pitch = 100)
  4.       @name = name
  5.       @volume = volume
  6.       @pitch = pitch
  7.     end
  8.     attr_accessor :name
  9.     attr_accessor :volume
  10.     attr_accessor :pitch
  11.   end
  12. end
复制代码
这些音乐类在数据库设置时就已经赋值了,比如地图 BGM ,各种技能的 SE 等。默认的 音量和音调是 100,100。
3,BGM 的淡出一般要带一个参数:XX秒。是指在指定的 XX秒内,音乐音量逐渐减小,最后消失停止。BGM 的淡出相当于一个平滑的过度,不像直接停止那样,
   戛然而止。
4,BGM 当前只能播放一个;BGS 在播放 BGM 时可同时播放,ME 和 SE 好像也是这关系,可自己取体验。
5,这个定义写入的方法。比如在该类的外部时:$game_system.windowskin_name = “XXX” (改变窗口皮肤文件名)  ,就是使用的这个方法。




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