local yibinmajiangSound = MJFramework.MJFrameworkClassImprot("mj.luaScript.MJSound") local MJDefine = MJFramework.MJImport("mj.luaScript.MJDefine") local path = "mj/res/sound" local yibinmajiangPath = "mj/res/sound" yibinmajiangSound.man = "c_man" yibinmajiangSound.women = "c_women" yibinmajiangSound.pre = "c_" yibinmajiangSound.soundType = 1 -- 吃操作 --[[yibinmajiangSound.OperateSoundConfig[MJDefine.MJOperateType.OPREATE_CHI] = "chi" yibinmajiangSound.OperateSoundConfig[MJDefine.MJOperateType.OPREATE_MANGANG] = "gang"--]] local function dealSex(s) local sex=tonumber(s) if sex~=1 and sex~=2 then sex=1 end return sex end -- sound_t 1 普通话 2 方言 function yibinmajiangSound.setSoundType( sound_t ) -- 强制使用方言 local sound_t = 2 if sound_t == 1 then yibinmajiangSound.man = "c_man" yibinmajiangSound.women = "c_women" yibinmajiangSound.pre = "c_" yibinmajiangSound.soundType = 1 yibinmajiangPath = "mj_yibinmajiang/res/sound" else yibinmajiangSound.man = "f_man" yibinmajiangSound.women = "f_women" yibinmajiangSound.pre = "f_" yibinmajiangPath = "mj_yibinmajiang/res/sound" yibinmajiangSound.soundType = 2 end end yibinmajiangSound.OperateSoundConfig={ -- [MJDefine.MJOperateType.OPREATE_CHI] = "", --吃操作 [MJDefine.MJOperateType.OPREATE_PENG] = "peng", --碰操作 [MJDefine.MJOperateType.OPREATE_ZHIGANG] = "gang", --直杠操作 [MJDefine.MJOperateType.OPREATE_BAGANG] = "gang", --巴杠 [MJDefine.MJOperateType.OPREATE_ANGANG] = "gang", --暗杠 [MJDefine.MJOperateType.OPREATE_DIANPAOHU] = "hu", --点炮胡牌 [MJDefine.MJOperateType.OPREATE_ZIMOHU] = "zimo", --自胡牌 [MJDefine.MJOperateType.OPREATE_QIANG_GANG_HU] = "qiangganghu", --抢杠胡 [MJDefine.MJOperateType.OPREATE_FEI] = "fei", --飞 [MJDefine.MJOperateType.OPREATE_TI] = "ti", --提 } -- 1是男,2是女 local OperateSoundCount = { [1] = { [MJDefine.MJOperateType.OPREATE_PENG] = 2, --碰操作 [MJDefine.MJOperateType.OPREATE_ZHIGANG] = 2, --直杠操作 [MJDefine.MJOperateType.OPREATE_BAGANG] = 2, --巴杠 [MJDefine.MJOperateType.OPREATE_ANGANG] = 2, --暗杠 [MJDefine.MJOperateType.OPREATE_DIANPAOHU] = 2, --点炮胡牌 [MJDefine.MJOperateType.OPREATE_ZIMOHU] = 2, --自胡牌 [MJDefine.MJOperateType.OPREATE_QIANG_GANG_HU] = 1, --抢杠胡 [MJDefine.MJOperateType.OPREATE_FEI] = 2, --飞 [MJDefine.MJOperateType.OPREATE_TI] = 2, --提 }, [2] = { [MJDefine.MJOperateType.OPREATE_PENG] = 2, --碰操作 [MJDefine.MJOperateType.OPREATE_ZHIGANG] = 2, --直杠操作 [MJDefine.MJOperateType.OPREATE_BAGANG] = 2, --巴杠 [MJDefine.MJOperateType.OPREATE_ANGANG] = 2, --暗杠 [MJDefine.MJOperateType.OPREATE_DIANPAOHU] = 2, --点炮胡牌 [MJDefine.MJOperateType.OPREATE_ZIMOHU] = 2, --自胡牌 [MJDefine.MJOperateType.OPREATE_QIANG_GANG_HU] = 1, --抢杠胡 [MJDefine.MJOperateType.OPREATE_FEI] = 2, --飞 [MJDefine.MJOperateType.OPREATE_TI] = 2, --提 } } function yibinmajiangSound.PlayOperateSound(sex,opType) local opName = yibinmajiangSound.OperateSoundConfig[opType]; if opName then sex = dealSex(sex) local gender = (sex == 1) and yibinmajiangSound.man or yibinmajiangSound.women; local name = "" if yibinmajiangSound.soundType == 1 then name = string.format("%s/%s/%syibinmajiang_mj_%s_%s.ogg", yibinmajiangPath, gender, yibinmajiangSound.pre, sex, opName) else local opCount = OperateSoundCount[sex][opType]; local index = math.random(1, opCount); name = string.format("%s/%s/%syibinmajiang_mj_%s_%s_%d.ogg", yibinmajiangPath, gender, yibinmajiangSound.pre, sex, opName, index); end playVoice(name) end if opType == MJDefine.MJOperateType.OPREATE_DIANPAOHU then local name = "mj_yibinmajiang/res/sound/yibinmajiang_dianpao.ogg"; playVoice(name) end end function yibinmajiangSound.PlayOutCard() playVoice("mj_yibinmajiang/res/sound/yibinmajiang_card_dis.ogg") end function yibinmajiangSound.PlayClickCard() playVoice("mj_yibinmajiang/res/sound/yibinmajiang_card_click.ogg") end local MahjongCardSoundCount = { [1] = { [11] = 4, [12] = 4, [13] = 4, [14] = 3, [15] = 4, [16] = 3, [17] = 4, [18] = 3, [19] = 2, [21] = 4, [22] = 3, [23] = 3, [24] = 4, [25] = 3, [26] = 3, [27] = 4, [28] = 3, [29] = 3, }, [2] = { [11] = 4, [12] = 4, [13] = 4, [14] = 3, [15] = 4, [16] = 3, [17] = 4, [18] = 3, [19] = 2, [21] = 4, [22] = 3, [23] = 3, [24] = 4, [25] = 3, [26] = 3, [27] = 4, [28] = 3, [29] = 3, } } function yibinmajiangSound.PlayMJSound(sex,value) sex = dealSex(sex) local name if yibinmajiangSound.soundType == 1 then -- name = string.format("%s/%s/%syibinmajiang_mj_%s_%x.ogg", yibinmajiangPath,sex ==1 and yibinmajiangSound.man or yibinmajiangSound.women, yibinmajiangSound.pre, sex, value) -- 使用基类 name = string.format("%s/%s/%sbase_mj_%s_%x.ogg", "mj/res/sound", (sex == 1) and "c_man" or "c_women", "c_", sex, value) else -- 没有多种声音,只有1中,所有不需要使用随机 -- local v = tonumber(string.format("%x", value)); -- local mjCount = MahjongCardSoundCount[sex][v]; -- local index = math.random(1, mjCount); -- name = string.format("%s/%s/%syibinmajiang_mj_%s_%x_%d.ogg", yibinmajiangPath,sex ==1 and yibinmajiangSound.man or yibinmajiangSound.women, yibinmajiangSound.pre, sex, value, index) name = string.format("%s/%s/%syibinmajiang_mj_%s_%x.ogg", yibinmajiangPath,sex ==1 and yibinmajiangSound.man or yibinmajiangSound.women, yibinmajiangSound.pre, sex, value) end playVoice(name) end --飘音效 function yibinmajiangSound.PlayPiaoSound(sex, value) -- sex = dealSex(sex) -- local name = "" -- if sex == 1 then -- name = string.format("%s/%s/%sbase_mj_%s_piao.ogg", "mj/res/sound","c_man", "c_", sex) -- else -- name = string.format("%s/%s/%sbase_mj_%s_piao.ogg", "mj/res/sound","c_women", "c_", sex) -- end -- playVoice(name) sex = dealSex(sex) local value = value or 0 local name if yibinmajiangSound.soundType == 1 then if value == 1 then name = string.format("%s/%s/%sbase_mj_%s_piao.ogg", "mj/res/sound", (sex == 1) and "c_man" or "c_women", "c_", sex) end else name = string.format("%s/%s/%syibinmajiang_mj_%s_piao_%d.ogg", yibinmajiangPath, (sex == 1) and yibinmajiangSound.man or yibinmajiangSound.women, yibinmajiangSound.pre, sex, value) end if name then playVoice(name) end end function yibinmajiangSound.PlayGameBGM(bgmType) stopBGMusic() bgmType = bgmType or 1; -- if bgmType == 1 then -- playBGMusic("MJ_GameBGM", string.format("mj_yibinmajiang/res/sound/bgm/yibinmajiang_bgm_%d.ogg", bgmType)); -- else -- playBGMusic("MJ_GameBGM", "mj_yibinmajiang/res/sound/bgm/yibinmajiang_bgm_2.ogg"); -- end -- 只有1种BGM playBGMusic("MJ_GameBGM", "mj_yibinmajiang/res/sound/bgm/yibinmajiang_bgm_1.ogg"); end function yibinmajiangSound.PlayBenJinSound () local name = "mj_yibinmajiang/res/sound/yibinmajiang_fanluobo.ogg"; playVoice(name) end function yibinmajiangSound.PlayGameStartSound (sex) sex = dealSex(sex) local name = string.format("mj_yibinmajiang/res/sound/yibinmajiang_zhengqi_%s.ogg", sex); playVoice(name) end --刮风音效 function yibinmajiangSound.PlayWindSound() playVoice("mj_yibinmajiang/res/sound/yibinmajiang_wind.ogg") end --下雨音效 function yibinmajiangSound.PlayRainSound() playVoice("mj_yibinmajiang/res/sound/yibinmajiang_rain.ogg") end return yibinmajiangSound