音效的播放

GamePlayMusicPlayer.instance_ = nil;
function GamePlayMusicPlayer:ctor()
self.m_IsMusicOpen = 1;
self.m_IsEffectOpen = 1;


self.m_last_groundMusic = "";
end


function GamePlayMusicPlayer:getInstance()
if GamePlayMusicPlayer.instance_ == nil then
GamePlayMusicPlayer.instance_ = GamePlayMusicPlayer.new();
GamePlayMusicPlayer.instance_:initMusicSystem();
end
return GamePlayMusicPlayer.instance_;
end
function GamePlayMusicPlayer:initMusicSystem()
-------预加载音乐

-------预处理开关
----读取以前的设置
self.m_IsMusicOpen = GameInfo_Lua:getIntegerForKey_default("Music", 1) ----没有读取到,默认为打开
self.m_IsEffectOpen = GameInfo_Lua:getIntegerForKey_default("Effect", 1) ----没有读取到,默认为打开
end
----预加载背景音乐
function GamePlayMusicPlayer:preloadBackgroundMusic(filename)
local fullPath = getMusicFilePath(filename)
if fullPath == "" then fullPath = filename end;
SimpleAudioEngine:sharedEngine():preloadBackgroundMusic(fullPath);
end
----播放音效
----level声音等级,当同时需要播放几个声音时,优先播放等级高的----暂定
function GamePlayMusicPlayer:playEffect(filename, level)
if GamePlayMusicPlayer:getInstance().m_IsEffectOpen > 0 then
--print("GamePlayMusicPlayer:playEffect",filename);
local fullPath = getMusicFilePath(filename)
if fullPath == "" then fullPath = filename end;
SimpleAudioEngine:sharedEngine():playEffect(fullPath);
end
end
----播放背景音乐
----一般情况下,请忽略notRecard参数,或者写false
function GamePlayMusicPlayer:playBackgroundMusic(filename, notRecard)
if not notRecard then
----记录最后改播放的music
GamePlayMusicPlayer:getInstance().m_last_groundMusic = filename;
end
----判断是否要播放
local isMusicOpen = GamePlayMusicPlayer:getInstance().m_IsMusicOpen;
if isMusicOpen > 0 then
if filename ~= "" then
local fullPath = getMusicFilePath(filename)
if fullPath == "" then fullPath = filename end;
SimpleAudioEngine:sharedEngine():playBackgroundMusic(fullPath, true);
end
end
end
function GamePlayMusicPlayer:stopBackgroundMusic()
SimpleAudioEngine:sharedEngine():stopBackgroundMusic();
end
------设置背景音开启关闭状态
function GamePlayMusicPlayer:setIsBackgroundMusicOpen(isOpen)
----内存修改
if type(isOpen) == "boolean" then
if isOpen == true then self.m_IsMusicOpen = 1;
else self.m_IsMusicOpen = -1; end 
else
self.m_IsMusicOpen = isOpen;
end
----记录修改
local rt = 1;
if isOpen then rt = 1 else rt = -1 end
CCUserDefault:sharedUserDefault():setIntegerForKey("Music", rt);
CCUserDefault:sharedUserDefault():flush();
----播放效果修改
if isOpen then
self:playBackgroundMusic(self.m_last_groundMusic, true);----播放最后应该播放的那个音乐,且不记录
else
self:stopBackgroundMusic();----关闭当前音乐
end
end
function GamePlayMusicPlayer:getIsBackgroundMusicOpen()
if self.m_IsMusicOpen > 0 then return true
else return false end
end
------设置音效开启关闭状态
function GamePlayMusicPlayer:setIsEffectMusicOpen(isOpen)
----内存修改
if type(isOpen) == "boolean" then
if isOpen == true then self.m_IsEffectOpen = 1;
else self.m_IsEffectOpen = -1; end 
else
self.m_IsEffectOpen = isOpen;
end
----记录修改
local rt = 1;
if isOpen then rt = 1 else rt = -1 end
CCUserDefault:sharedUserDefault():setIntegerForKey("Effect", rt);
CCUserDefault:sharedUserDefault():flush();
----接下来有音效就对了,这里啥也不用做
end
function GamePlayMusicPlayer:getIsEffectMusicOpen()
if self.m_IsEffectOpen > 0 then return true
else return false end
end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值