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

Project1

 找回密码
 注册会员
搜索
楼主: TERENCE
打印 上一主题 下一主题

[原创发布] BGM含前奏后无限循环系统(补丁教程已发布)

 关闭 [复制链接]

Lv4.逐梦者

梦石
0
星屑
6865
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

11
发表于 2009-6-2 06:52:31 | 只看该作者
嗯~~!

推箱子这个我有看见{/hx}











你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

剑圣

梦石
0
星屑
50
在线时间
122 小时
注册时间
2008-8-31
帖子
778
12
发表于 2009-6-2 08:04:10 | 只看该作者
以下引用TERENCE于2009-4-22 0:51:13的发言:
前言:
虽然没比紫苏发的  扩展音频模块  来的强悍....


个人认为仅仅对于前奏+主循环播放的功能来说,
这个要比紫苏的好用一些。毕竟后者是用并行事件控制,
关键是还要数毫秒数= =bb
有这功夫直接砍成两段ogg的方便多了{/hx}

狂砍空之轨迹的OGG中……

PC/IOS/Android共享的RM RPG:未名大学
回复 支持 反对

使用道具 举报

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
13
 楼主| 发表于 2009-6-2 18:02:51 | 只看该作者
以下引用Tabris_Air于2009-6-2 0:04:10的发言:
个人认为仅仅对于前奏+主循环播放的功能来说,
这个要比紫苏的好用一些。毕竟后者是用并行事件控制,
关键是还要数毫秒数= =bb
有这功夫直接砍成两段ogg的方便多了

狂砍空之轨迹的OGG中……

謝謝 Tabris_Air大大 的支持


但是OGG,RPGXP 中不对应流再生,非
一边读取数据一边再生流,OGG 文件要全部读取后才开始播放,

所以第一次首度拨放OGG时,
如果主循环太长,播放前,RM读入会耗时(播放前会有空白期)。
(不适合播放时间较长的主循律的曲子)

请务必注意这一点.........

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
601 小时
注册时间
2007-8-14
帖子
635

短篇七彩虹组冠军

14
发表于 2009-8-2 11:40:45 | 只看该作者
难道是我设置问题?发现战斗胜利ME消失了,直接跳到地图BGM=v=b
空轨OGG可以完美循环了=v=+
填坑填坑填坑填坑填坑填坑填坑填坑填坑
回复 支持 反对

使用道具 举报

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
15
 楼主| 发表于 2009-8-2 11:52:37 | 只看该作者
难道是我设置问题?发现战斗胜利ME消失了,直接跳到地图BGM=v=b
空轨OGG可以完美循环了=v=+
君迁子 发表于 2009-8-2 11:40

ME消失??
你的意思是ME没播放完毕就跳脱了??

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
601 小时
注册时间
2007-8-14
帖子
635

短篇七彩虹组冠军

16
发表于 2009-8-2 20:04:26 | 只看该作者
是战斗胜利ME根本没有播放直接就地图BGM了=v=b
我拿空轨的OGG格式BGM做的测试=v=b
填坑填坑填坑填坑填坑填坑填坑填坑填坑
回复 支持 反对

使用道具 举报

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
17
 楼主| 发表于 2009-8-2 20:42:16 | 只看该作者
是战斗胜利ME根本没有播放直接就地图BGM了=v=b
我拿空轨的OGG格式BGM做的测试=v=b
君迁子 发表于 2009-8-2 20:04

有工程可以传上来给我看看吗?

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
601 小时
注册时间
2007-8-14
帖子
635

短篇七彩虹组冠军

18
发表于 2009-8-2 21:07:16 | 只看该作者
工程在此=v=b

PRELUDE_BGM.rar

3.23 MB, 下载次数: 39

回复 支持 反对

使用道具 举报

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
19
 楼主| 发表于 2009-8-2 21:31:00 | 只看该作者
工程在此=v=b
君迁子 发表于 2009-8-2 21:07

我已经大概知道,我的脚本(逻辑思考)问题出在哪了......谢谢告知


我会尽快想出修正脚本的办法,请耐心等等看吧!

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复 支持 反对

使用道具 举报

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
20
 楼主| 发表于 2009-8-3 14:26:55 | 只看该作者

BGM含前奏后无限循环系统补丁教程与思路

原帖:
http://rpg.blue/viewthread.php?tid=123326

◎前言
首先我必须感谢君迁子大大,
他是第一个发现有这个问题的人,
发了这麼久到现在才有人发现我的漏洞= =
无论怎样我也谢谢他对我脚本如此的支持...


◎此系统思路的本意 (这个部份你可以跳过)
在解释BUG发生的原因前,先了解ME的特性跟我的思路。
ME的特性:
当一首BGM播放时,突然播放ME,BGM会暂停,
而ME播放完毕时,BGM会从暂停的地方淡入继续播放(有所谓记忆)

我的思路:
利用这样的特性,(从无音乐)一开始....
如果我们在几短时间内播放BGM和ME会发生什麼事呢??
而且又是先放ME再播放BGM(这之间不放等待),在脚本语句中相当於....
Audio.me_play(...
Audio.bgm_play(...

这时RM就发生了很有趣的现象,如下图

这时就產生了只有当ME播放完毕时,BGM才会自动被播放,
这就是BGM含前奏后无限循环的製作思路


◎BUG发生的原因
BUG现象就是战斗胜利ME根本没有播放直接就播放地图BGM,
而且这种现象只会出现在含有前奏的地图BGM。
这是為什麼呢?让我们看看下面的图

一般来说,RM中所有战斗系统的胜利几乎都有个弊病...
就是在战斗胜利时,播完胜利ME时,会出现地图的BGM(感觉很怪)

又因為利用ME播放做出前奏后无限循环系统,
所以导致当含有前奏的地图BGM,会遮蔽胜利的ME播放,而直接播放地图BGM


◎补丁修改
為了解决这个问题,我们必须把新的BGM播放系统挪到后面,
也就是在切换地图画面时,再播放BGM,如下图

我们又知道
$game_system.bgm_play($game_temp.map_bgm)
长拿来还原為战斗开始前的(地图)BGM,所以....

以下是以默认的战斗系统所做的补丁修改教程,如果使用其他的战斗脚本,请找到相对应的位置,如果在新的战斗脚本裡找不到对应的位置,那大概是某个部份还是採用了默认战斗系统的方法函式,这时候往前一个有关战斗脚本里找就对了

(1)先找到 处理战斗画面的类别 class Scene_Battle

(2)再找开始结束战斗回合的地方,也就是获得经验金钱宝物的地方


(3)然后你就会看到附近有一句$game_system.bgm_play($game_temp.map_bgm)

把该句删掉....

(4)同样是class Scene_Battle下,找到战斗结束的地方
def battle_end(result)一般新的战斗系统还是採用默认的函式,
不会重新撰写,使用其他战斗系统的同学,可以直接找默认的地方直接修改=w=

然后根据上图,在切换到地图画面$scene = Scene_Map.new上面做添加

(5)如此一来就挪到后面了><


§ 如果还有什麼问题,请回帖告知=w= §

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-22 14:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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