查看: 2164|回复: 3

[已经过期] 如何做一个类似Audio的模块

[复制链接]

双子人

梦石
0
星屑
3205
在线时间
3619 小时
注册时间
2009-4-4
回帖
3901

开拓者

发表于 2015-1-3 14:58:06 | 显示全部楼层 |阅读模式

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

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

×
我接触过的游戏中,很多都是两个BGM伴随着播放。
两个BGM通常是主BGM+soundspace,在一些情况,比如说剧情的时候,主BGM会缩小,soundspace仍然播放。
实际上,BGS可以代替这个soundspace,但是有些情况。

首先,BGS没办法播放mid的文件。
另外,假如接近瀑布、河流这类东西。要放瀑布的BGS,就导致代替soundspace的BGS停止。

我的想法是:
  1. Audio2 = Audio
  2. Audio2.bgs_play("Audio/BGS/soundspace",100,100)
复制代码
实际上第二行一点反应都没有。

Audio的类实际上是个module,但是用它来制作Audio2时也有些困难。
  1. p Audio
  2. p Audio2
复制代码
输出的均为Audio和Audio2,没有其它信息。
而p它的那些方法时,输出的是nil
  1. p Audio.bgm_play("Audio/BGM/乩童之塔·舞风",100,100)#==>nil
复制代码
所以没法参照Audio做一个类似Audio的Audio2出来。

现有RGSSAudioInitialize、RGSSAudioFinalize两个函数。
我要想办法来调用。
  1. module Audio2
  2.   Initialize = ::Win32API.new('RGSS103J', 'RGSSAudioInitialize', 'I', 'I')
  3.   Finalize   = ::Win32API.new('RGSS103J', 'RGSSAudioFinalize',   nil, 'I')
  4. end

  5. Audio2.bgm_play("Audio/BGM/乩童之塔·舞风",100,100)#出错
复制代码
得到了一个模块,但是在第6喊bgm_play就出错了。因为方法没有定义。
现在,如何做一个类似Audio的模块?
梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2015-1-3 17:37:10 | 显示全部楼层
SE可以同时放多个···还是说你的工程不能这样弄?
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-1-3 17:38:08 | 显示全部楼层
https://rpg.blue/thread-256937-1-1.html

没用过,不知道好不好用
回复

使用道具 举报

双子人

梦石
0
星屑
3205
在线时间
3619 小时
注册时间
2009-4-4
回帖
3901

开拓者

 楼主| 发表于 2015-1-4 14:02:02 | 显示全部楼层
taroxd 发表于 2015-1-3 17:38
https://rpg.blue/thread-256937-1-1.html

没用过,不知道好不好用


不行,先不说放不放得声音。
主要是初始化的时候就出错了,后来解决了初始化出错问题之后,试着去调用Source
  1. source = Source.new
复制代码
无论怎么调用都错。在类里面和类外面调用都错,改成全局、局部变量也不行。

代码没讲得详细需要如何调用它。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部