设为首页收藏本站 国外访客:

 找回密码
 立即注册
搜索
查看: 6838

[教程/工具] 白日门添加游戏音乐的方法

[复制链接]
灌水成绩
17714
95
18218
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 9
贡献 : 9
下载币 : 382
在线时间 : 1644 小时
注册时间 : 2013-9-5
最后登录 : 2026-6-8

发表于 2026-4-25 17:02:54 | 显示全部楼层 |阅读模式
免责
这里分为几种场景,一是点击NPC的时候,播放一段音乐,比如,你去点击药店,播放一段“大朗,你改吃药了”,关闭的时候提示,谢谢惠顾。
第二种场景是进入地图,自动播放音乐。
第三种场景是点击功能面板,播放音乐,比如点击商城,播放一段京剧,关闭的时候,播放谢谢惠顾。
下面就直接来方法吧:
[backcolor=var(--local-bg-color)]
1、点击NPC时,播放mp3教程
一般点击NPC会弹出一个对话框,这个对话框里面大致是这样的:开头定义了一个local PanelAchieve = {},在下面会有function PanelAchieve.initView()---这么一个功能块,点击NPC播放音乐就在这里面添加了,在最后return 前添加这么一句代码即可:
PlayAudio.play("sound/soundnpc_21.mp3")
代码注释:playaudio。play是播放mp3的功能函数,双引号中间是mp3文件位置,其中sound位于res目录下, soundnpc_21.mp3 是具体要播放的音乐文件,这个自定义即可,具体看图

9 e" h' d+ b; B5 t( W* d
注意,代码需要在return 之前。
; [- v3 ]: ~" J' W2 b
这里需要注意:NPC面板不一样,这个panelachieve就不一样,但是,位置都是一样的,都在这个initView()功能块里添加。
第2个功能,进入地图,播放指定音乐mp3
这个跟简单,在\src\app目录下PlayAudio.lua文件,修改即可
在 PlayAudio.lua脚本文件中找到 约50行,将之前的代码备份,替换下面这个块
function PlayAudio.mapMusic(mapid)        if PLATFORM_BANSHU then return end        -- if G_SwitchMusic > 0 or not music or not PlayAudio.musstate then                 -- return        -- end        local music="sound/6003.mp3"                if mapid=="kingcity" or mapid=="kinghome" then                music="sound/sbk2.mp3"        elseif mapid=="tucheng" then                music="sound/6000.mp3"        elseif mapid=="brm" then                music="sound/6001.mp3"        elseif mapid=="biqi" then                music="sound/6002.mp3"                end        PlayAudio.music(music)end
这里注意几点,sound/6003.mp3是mp3文件位置,可自定义修改,下面是地图判断,如果地图id是什么,就播放什么音乐,这里可以添加更多的地图,地图ID去服务器里查看,mapinfo里面。
第3个功能,其实和第一个功能是一样的。
第4个小功能,点击时触发一个声音,关闭功能时触发一个声音,这个在src\app\GameEvent.lua 里修改
local Widget = ccui.WidgetWidget.addClickOld = Widget.addClickEventListenerWidget.addClickEventListener = nilfunction Widget:addClickEventListener(callback)        local this = self    this:addClickOld(function(event)        if this:getDescription()=="Button" then                if this:getName()=="panel_close" then                                PlayAudio.play("sound/btnclose.mp3")                        else                    PlayAudio.play("sound/click.mp3",1)            end        end        if callback then            callback(event)        end    end)    return thisend
注意,如果没有以上代码,在src\app\GameEvent.lua 余额60行处添加即可,如果有,就按照需求修改即可。这里可以看到一个是点击的音乐,一个是关闭的音乐,
9 E8 g9 x4 i. m. h3 n" y, W' c
if this:getName()=="panel_close" then( D5 T) \' D/ o' ?* s* @
PlayAudio.play("sound/btnclose.mp3")
% V. r  {. D. F; w7 S0 gelse
/ }. `4 A. ^% O# }9 ]& z3 vPlayAudio.play("sound/click.mp3",1)
……
; A' i  E2 G; ?
在src\app\ui\UIRedPoint.lua文件中,也需要做修改
local UIRedPoint={}UIRedPoint.UIBtnTab = {}UIRedPoint.ShowRed = {}function UIRedPoint.addUIPoint(parent, callback ,moreEvent)        local function btnCall(pSender,touch_type)                if touch_type == ccui.TouchEventType.ended then                        if pSender:getName()=="panel_close" then                                PlayAudio.play("sound/btnclose.mp3")                        else                                PlayAudio.play("sound/btnclick.mp3")                        end            callback(pSender,touch_type)                end                if moreEvent and touch_type ~= ccui.TouchEventType.ended then                        callback(pSender,touch_type)                end        end        parent:addTouchEventListener(btnCall)end
这是一开始的代码,请对照修改
& n  F$ z7 V+ A: d# S
' e' B2 N) ^& L' a' J
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|蔡州手游 |网站地图 wapmz.com

GMT+8, 2026-6-8 03:24