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

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

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

[复制链接]
  • 打卡等级:暂无等级
  • 打卡总天数:316
  • 打卡月天数:26
  • 打卡总奖励:255
  • 最近打卡:2026-04-26 00:39:47
灌水成绩
17505
88
17992
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 9
贡献 : 9
下载币 : 372
在线时间 : 1506 小时
注册时间 : 2013-9-5
最后登录 : 2026-4-26

发表于 昨天 17:02 | 显示全部楼层 |阅读模式
免责
这里分为几种场景,一是点击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 是具体要播放的音乐文件,这个自定义即可,具体看图

  h5 z  v8 t3 r# Y1 E/ U- `
注意,代码需要在return 之前。
- e$ s4 ?3 ?* k* M  V
这里需要注意: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行处添加即可,如果有,就按照需求修改即可。这里可以看到一个是点击的音乐,一个是关闭的音乐,
# D* I1 {' `% E9 j% p( ]
if this:getName()=="panel_close" then
, A3 s, u) I3 @2 |9 Z* l/ jPlayAudio.play("sound/btnclose.mp3")% v- O/ L4 b( @5 W
else
5 v: U6 |; d: {/ ~, c, PPlayAudio.play("sound/click.mp3",1)
……
0 n* B7 P8 p' n% D- q
在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
这是一开始的代码,请对照修改

, o$ `9 q2 T  X5 R
0 g, F  I& O) n6 \. h/ x# Q
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-26 21:45