• 中文
    • English
  • 注册
  • 技术教程 技术教程 关注:16 内容:392

    白日门添加游戏音乐的方法

  • 查看作者
  • 打赏作者
  • 当前位置: 巅峰论坛 > 技术教程 > 正文
  • 技术教程
  • 飞升境
    特约
    靓号:888

    这里分为几种场景,一是点击NPC的时候,播放一段音乐,比如,你去点击药店,播放一段“大朗,你改吃药了”,关闭的时候提示,谢谢惠顾。

    第二种场景是进入地图,自动播放音乐。

    第三种场景是点击功能面板,播放音乐,比如点击商城,播放一段京剧,关闭的时候,播放谢谢惠顾。

    下面就直接来方法吧:

    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 是具体要播放的音乐文件,这个自定义即可,具体看图

    白日门添加游戏音乐的方法

    注意,代码需要在return 之前。

    白日门添加游戏音乐的方法

    这里需要注意: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.Widget
    Widget.addClickOld = Widget.addClickEventListener
    Widget.addClickEventListener = nil
    function 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 this
    end

    注意,如果没有以上代码,在src\app\GameEvent.lua 余额60行处添加即可,如果有,就按照需求修改即可。这里可以看到一个是点击的音乐,一个是关闭的音乐,

    if this:getName()==”panel_close” then
    PlayAudio.play(“sound/btnclose.mp3”)
    else
    PlayAudio.play(“sound/click.mp3”,1)

    ……

    白日门添加游戏音乐的方法

    在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

    这是一开始的代码,请对照修改

    白日门添加游戏音乐的方法

    请登录之后再进行评论

    登录
  • 发布
  • 做任务
  • 更换主题
  • 帖子间隔 侧栏位置: