You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

171 rivejä
5.6 KiB

  1. local huamajiangSound = MJFramework.MJFrameworkClassImprot("mj.luaScript.MJSound")
  2. local MJDefine = MJFramework.MJImport("mj.luaScript.MJDefine")
  3. local path = "mj/res/sound"
  4. local huamajiangPath = "mj/res/sound"
  5. huamajiangSound.man = "c_man"
  6. huamajiangSound.women = "c_women"
  7. huamajiangSound.pre = "c_"
  8. huamajiangSound.soundType = 1
  9. -- 吃操作
  10. --[[huamajiangSound.OperateSoundConfig[MJDefine.MJOperateType.OPREATE_CHI] = "chi"
  11. huamajiangSound.OperateSoundConfig[MJDefine.MJOperateType.OPREATE_MANGANG] = "gang"--]]
  12. local function dealSex(s)
  13. local sex=tonumber(s)
  14. if sex~=1 and sex~=2 then
  15. sex=1
  16. end
  17. return sex
  18. end
  19. -- sound_t 1 普通话 2 方言
  20. function huamajiangSound.setSoundType( sound_t )
  21. if sound_t == 1 then
  22. huamajiangSound.man = "c_man"
  23. huamajiangSound.women = "c_women"
  24. huamajiangSound.pre = "c_"
  25. huamajiangSound.soundType = 1
  26. huamajiangPath = "mj_huamajiang/res/sound"
  27. else
  28. huamajiangSound.man = "f_man"
  29. huamajiangSound.women = "f_women"
  30. huamajiangSound.pre = "f_"
  31. huamajiangPath = "mj_huamajiang/res/sound"
  32. huamajiangSound.soundType = 2
  33. end
  34. end
  35. local OperateSoundCount = {
  36. [1] = {
  37. [MJDefine.MJOperateType.OPREATE_PENG] = 4, --碰操作
  38. [MJDefine.MJOperateType.OPREATE_ZHIGANG] = 1, --直杠操作
  39. [MJDefine.MJOperateType.OPREATE_BAGANG] = 1, --巴杠
  40. [MJDefine.MJOperateType.OPREATE_ANGANG] = 1, --暗杠
  41. [MJDefine.MJOperateType.OPREATE_DIANPAOHU] = 6, --点炮胡牌
  42. [MJDefine.MJOperateType.OPREATE_ZIMOHU] = 1, --自胡牌
  43. },
  44. [2] = {
  45. [MJDefine.MJOperateType.OPREATE_PENG] = 4, --碰操作
  46. [MJDefine.MJOperateType.OPREATE_ZHIGANG] = 1, --直杠操作
  47. [MJDefine.MJOperateType.OPREATE_BAGANG] = 1, --巴杠
  48. [MJDefine.MJOperateType.OPREATE_ANGANG] = 1, --暗杠
  49. [MJDefine.MJOperateType.OPREATE_DIANPAOHU] = 3, --点炮胡牌
  50. [MJDefine.MJOperateType.OPREATE_ZIMOHU] = 1, --自胡牌
  51. }
  52. }
  53. function huamajiangSound.PlayOperateSound(sex,opType)
  54. local opName = huamajiangSound.OperateSoundConfig[opType];
  55. if opName then
  56. sex = dealSex(sex)
  57. local gender = (sex == 1) and huamajiangSound.man or huamajiangSound.women;
  58. local name = ""
  59. if huamajiangSound.soundType == 1 then
  60. name = string.format("%s/%s/%shuamajiang_mj_%s_%s.ogg", huamajiangPath, gender, huamajiangSound.pre, sex, opName)
  61. else
  62. local opCount = OperateSoundCount[sex][opType];
  63. local index = math.random(1, opCount);
  64. name = string.format("%s/%s/%shuamajiang_mj_%s_%s_%d.ogg", huamajiangPath, gender, huamajiangSound.pre, sex, opName, index);
  65. end
  66. playVoice(name)
  67. end
  68. if opType == MJDefine.MJOperateType.OPREATE_DIANPAOHU then
  69. local name = "mj_huamajiang/res/sound/huamajiang_dianpao.ogg";
  70. playVoice(name)
  71. end
  72. end
  73. function huamajiangSound.PlayOutCard()
  74. playVoice("mj_huamajiang/res/sound/huamajiang_card_dis.ogg")
  75. end
  76. function huamajiangSound.PlayClickCard()
  77. playVoice("mj_huamajiang/res/sound/huamajiang_card_click.ogg")
  78. end
  79. local MahjongCardSoundCount = {
  80. [1] = {
  81. [11] = 4, [12] = 4, [13] = 4, [14] = 3, [15] = 4, [16] = 3, [17] = 4, [18] = 3, [19] = 2,
  82. [21] = 4, [22] = 3, [23] = 3, [24] = 4, [25] = 3, [26] = 3, [27] = 4, [28] = 3, [29] = 3,
  83. },
  84. [2] = {
  85. [11] = 4, [12] = 4, [13] = 4, [14] = 3, [15] = 4, [16] = 3, [17] = 4, [18] = 3, [19] = 2,
  86. [21] = 4, [22] = 3, [23] = 3, [24] = 4, [25] = 3, [26] = 3, [27] = 4, [28] = 3, [29] = 3,
  87. }
  88. }
  89. function huamajiangSound.PlayMJSound(sex,value)
  90. sex = dealSex(sex)
  91. local name
  92. if huamajiangSound.soundType == 1 then
  93. name = string.format("%s/%s/%shuamajiang_mj_%s_%x.ogg", huamajiangPath,sex ==1 and huamajiangSound.man or huamajiangSound.women, huamajiangSound.pre, sex, value)
  94. else
  95. local v = tonumber(string.format("%x", value));
  96. local mjCount = MahjongCardSoundCount[sex][v];
  97. local index = math.random(1, mjCount);
  98. name = string.format("%s/%s/%shuamajiang_mj_%s_%x_%d.ogg", huamajiangPath,sex ==1 and huamajiangSound.man or huamajiangSound.women, huamajiangSound.pre, sex, value, index)
  99. end
  100. --加打印日志
  101. logE("---huangmajiangSound PlayMJSound---",name)
  102. playVoice(name)
  103. end
  104. function huamajiangSound.PlayBaoSound(sex)
  105. sex = dealSex(sex)
  106. local name
  107. if huamajiangSound.soundType == 1 then
  108. name = string.format("%s/%s/%shuamajiang_mj_%s_bao.ogg", huamajiangPath,sex ==1 and huamajiangSound.man or huamajiangSound.women, huamajiangSound.pre, sex)
  109. else
  110. name = string.format("%s/%s/%shuamajiang_mj_%s_bao.ogg", huamajiangPath,sex ==1 and huamajiangSound.man or huamajiangSound.women, huamajiangSound.pre, sex)
  111. end
  112. playVoice(name)
  113. end
  114. --飘音效
  115. function huamajiangSound.PlayPiaoSound(sex)
  116. sex = dealSex(sex)
  117. local name = ""
  118. if sex == 1 then
  119. name = string.format("%s/%s/%sbase_mj_%s_piao.ogg", "mj/res/sound","c_man", "c_", sex)
  120. else
  121. name = string.format("%s/%s/%sbase_mj_%s_piao.ogg", "mj/res/sound","c_women", "c_", sex)
  122. end
  123. playVoice(name)
  124. end
  125. function huamajiangSound.PlayGameBGM(bgmType)
  126. stopBGMusic()
  127. bgmType = bgmType or 1;
  128. if bgmType == 1 then
  129. playBGMusic("MJ_GameBGM", string.format("mj_huamajiang/res/sound/bgm/huamajiang_bgm_%d.ogg", bgmType));
  130. else
  131. playBGMusic("MJ_GameBGM", "mj_huamajiang/res/sound/bgm/huamajiang_bgm_2.ogg");
  132. end
  133. end
  134. function huamajiangSound.PlayLuoBoSound ()
  135. local name = "mj_huamajiang/res/sound/huamajiang_fanluobo.ogg";
  136. playVoice(name)
  137. end
  138. function huamajiangSound.PlayGameStartSound (sex)
  139. sex = dealSex(sex)
  140. local name = string.format("mj_huamajiang/res/sound/huamajiang_zhengqi_%s.ogg", sex);
  141. playVoice(name)
  142. end
  143. --刮风音效
  144. function huamajiangSound.PlayWindSound()
  145. playVoice("mj_huamajiang/res/sound/huamajiang_wind.ogg")
  146. end
  147. --下雨音效
  148. function huamajiangSound.PlayRainSound()
  149. playVoice("mj_huamajiang/res/sound/huamajiang_rain.ogg")
  150. end
  151. return huamajiangSound