Project1

标题: 如何修改不同界面的弹出音效? [打印本页]

作者: RyanYe    时间: 2021-4-22 13:46
标题: 如何修改不同界面的弹出音效?
比如装备界面的音效是A,物品的是B,队形的是C,等等

改如何修改?
作者: alexncf125    时间: 2021-4-22 15:04
本帖最后由 alexncf125 于 2021-4-22 15:05 编辑

原本就没有所谓的弹出音效
那是要怎样修改
作者: RyanYe    时间: 2021-4-23 15:57
alexncf125 发表于 2021-4-22 15:04
原本就没有所谓的弹出音效
那是要怎样修改

原本有呀有呀!
你点右键,弹出菜单来,有音效播出来呀!
作者: alexncf125    时间: 2021-4-23 16:09
本帖最后由 alexncf125 于 2021-4-23 16:16 编辑

在物品菜单选样物品也是那个音效吧...
标题画面选"开始游戏"也是那个音效吧...

以下几句红字就是源代码用来播放"你说的弹出"音效

rpg_scenes.js的

Scene_Map.prototype.callMenu = function() {
    SoundManager.playOk();
    SceneManager.push(Scene_Menu);
    Window_MenuCommand.initCommandPosition();
    $gameTemp.clearDestination();
    this._mapNameWindow.hide();
    this._waitCount = 2;
};

rpg_windows.js的

Window_Selectable.prototype.processOk = function() {
    if (this.isCurrentItemEnabled()) {
        this.playOkSound();
        this.updateInputData();
        this.deactivate();
        this.callOkHandler();
    } else {
        this.playBuzzerSound();
    }
};

Window_Selectable.prototype.playOkSound = function() {
    SoundManager.playOk();
};

所以可以删掉this.playOkSound();
分歧一下CurrentItem, 从而播不同的SE
作者: RyanYe    时间: 2021-4-23 22:56
alexncf125 发表于 2021-4-23 16:09
在物品菜单选样物品也是那个音效吧...
标题画面选"开始游戏"也是那个音效吧...

SoundManager.playOk();
这个要换成什么才能播放其他音效呢?比如那个音效的文件名是ABC

“分歧一下CurrentItem”,这个看了许久也没有明白其含义,看来我实在是。。。笨。。
作者: alexncf125    时间: 2021-4-23 23:31
本帖最后由 alexncf125 于 2021-4-24 15:40 编辑
RyanYe 发表于 2021-4-23 22:56
SoundManager.playOk();
这个要换成什么才能播放其他音效呢?比如那个音效的文件名是ABC


大概像这样子吧...

Window_Selectable.prototype.processOk = function() {
    if (this.isCurrentItemEnabled()) {
        if (this.currentData()) {
            if (this.currentData().symbol === 'item') {
                AudioManager.playSe({"name":"ABC","volume":100,"pitch":100,"pan":0})
            } else if (this.currentData().symbol === 'skill') {
                AudioManager.playSe({"name":"DEF","volume":100,"pitch":100,"pan":0})
            }
        }
        this.updateInputData();
        this.deactivate();
        this.callOkHandler();
    } else {
        this.playBuzzerSound();
    }
};
作者: RyanYe    时间: 2021-4-24 15:02
alexncf125 发表于 2021-4-23 23:31
大概像这样子吧...

Window_Selectable.prototype.processOk = function() {

你的代码确实可行,可是貌似和别的插件有冲突
因为别的插件在主菜单插入了自己的命令,点击后会报错说
currentData() is not a function
冲突的插件有SRD_StatDistribution,FELSKI_TECHTREE
游戏直接就崩溃了




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