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

Project1

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

[有事请教] 如何修改不同界面的弹出音效?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7089
在线时间
722 小时
注册时间
2021-3-5
帖子
821
跳转到指定楼层
1
发表于 2021-4-22 13:46:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
比如装备界面的音效是A,物品的是B,队形的是C,等等

改如何修改?

Lv5.捕梦者

梦石
0
星屑
26279
在线时间
5356 小时
注册时间
2016-3-8
帖子
1655
2
发表于 2021-4-22 15:04:25 | 只看该作者
本帖最后由 alexncf125 于 2021-4-22 15:05 编辑

原本就没有所谓的弹出音效
那是要怎样修改
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7089
在线时间
722 小时
注册时间
2021-3-5
帖子
821
3
 楼主| 发表于 2021-4-23 15:57:07 | 只看该作者
alexncf125 发表于 2021-4-22 15:04
原本就没有所谓的弹出音效
那是要怎样修改

原本有呀有呀!
你点右键,弹出菜单来,有音效播出来呀!
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
26279
在线时间
5356 小时
注册时间
2016-3-8
帖子
1655
4
发表于 2021-4-23 16:09:44 | 只看该作者
本帖最后由 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
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7089
在线时间
722 小时
注册时间
2021-3-5
帖子
821
5
 楼主| 发表于 2021-4-23 22:56:45 | 只看该作者
alexncf125 发表于 2021-4-23 16:09
在物品菜单选样物品也是那个音效吧...
标题画面选"开始游戏"也是那个音效吧...

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

“分歧一下CurrentItem”,这个看了许久也没有明白其含义,看来我实在是。。。笨。。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
26279
在线时间
5356 小时
注册时间
2016-3-8
帖子
1655
6
发表于 2021-4-23 23:31:57 | 只看该作者
本帖最后由 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();
    }
};

评分

参与人数 1+1 收起 理由
RyanYe + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7089
在线时间
722 小时
注册时间
2021-3-5
帖子
821
7
 楼主| 发表于 2021-4-24 15:02:16 | 只看该作者
alexncf125 发表于 2021-4-23 23:31
大概像这样子吧...

Window_Selectable.prototype.processOk = function() {

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

点评

6L更新了, 如果还是不行, 那我也不懂得解決了  发表于 2021-4-24 15:41
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-19 18:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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