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

 找回密码
 立即注册
搜索
查看: 20039|回复: 0

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

[复制链接]
灌水成绩
19646
120
20240
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 8 点
贡献 : 9 次
下载币 : 449 枚
在线时间 : 2003 小时
注册时间 : 2013-9-5
最后登录 : 2026-10-23

发表于 2026-4-25 17:02:54 | 显示全部楼层 |阅读模式 IP:广东
免责
这里分为几种场景,一是点击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 是具体要播放的音乐文件,这个自定义即可,具体看图
7 e3 U/ L! J+ N  F9 A) {: g
注意,代码需要在return 之前。

# o+ h$ i: h  d, s* D
这里需要注意: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行处添加即可,如果有,就按照需求修改即可。这里可以看到一个是点击的音乐,一个是关闭的音乐,
( z, `4 {, X  s3 W! ?7 V& v$ q; s# Q
if this:getName()=="panel_close" then0 d; ?% ^( z* H! y
PlayAudio.play("sound/btnclose.mp3")
1 S6 v- f# ]- S2 f/ m9 @else2 g- @0 }3 w* s
PlayAudio.play("sound/click.mp3",1)
……
" U2 G1 L3 B: J4 N* a
在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
这是一开始的代码,请对照修改
" [* n3 b4 U$ w1 b
/ u5 Q$ w* f3 z" z5 P
免责
帖子地址 打造全网最多免费游戏网站,部分资源失效,私聊站长补
今日访客 列表模式
10月上白班,问题处理时间等晚上
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|蔡州手游 |网站地图

GMT+8, 2026-10-24 12:10

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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