您不能選擇超過 %s 個話題 話題必須以字母或數字為開頭,可包含連接號 ('-') 且最長為 35 個字

397 行
10 KiB

  1. local DdzSoundHelper = class("DdzSoundHelper")
  2. --普通话路径
  3. local PRE_SEX_PATH = {
  4. [0] = "pk_zgwrddz/res/snd/man/",
  5. [1] = "pk_zgwrddz/res/snd/man/",
  6. [2] = "pk_zgwrddz/res/snd/woman/w_",
  7. }
  8. --方言路径
  9. local PRE_SEX_FY_PATH = {
  10. [0] = "pk_zgwrddz/res/snd/man_fy/",
  11. [1] = "pk_zgwrddz/res/snd/man_fy/",
  12. [2] = "pk_zgwrddz/res/snd/woman_fy/w_",
  13. }
  14. local PDK_SND_FILE = {
  15. PASS = "lzpdk_buyao.ogg",
  16. LIANDUI = "lzpdk_liandui.ogg",
  17. THREE_AND_DUI = "lzpdk_sandaiyidui.ogg",
  18. THREE_AND_ONE = "lzpdk_sandaiyi.ogg",
  19. THREE = "lzpdk_sange.ogg",
  20. BOMB = "lzpdk_zhadan.ogg",
  21. SHUNZI = "lzpdk_shunzi.ogg",
  22. PLANE = "lzpdk_feiji.ogg",
  23. BAOJING = "lzpdk_baojing1.ogg",
  24. JIABEI = "wrddz_jiabei.ogg",
  25. BUJIABEI = "wrddz_bujiabei.ogg",
  26. WANGZHA = "wrddz_wangzha.ogg",
  27. JIAODIZHU = "wrddz_jiaodizhu.ogg",
  28. BUJIAO = "wrddz_bujiao.ogg",
  29. TUPLE = {[0]="Man_", [1]="Man_", [2]="Woman_"}
  30. }
  31. local PDK_FY_SND_FILE = {
  32. PASS = "wrddz_op_guo_%d.ogg",
  33. LIANDUI = "wrddz_ptype_liandui.ogg",
  34. THREE_AND_DUI = "wrddz_ptype_sandaidui.ogg",
  35. THREE_AND_ONE = "wrddz_ptype_sandaiyi.ogg",
  36. THREE = "wrddz_three_fy_0_%d.ogg",
  37. SAN_SHUN = "wrddz_ptype_sanshun_%d.ogg",
  38. BOMB = "wrddz_ptype_zhadan.ogg",
  39. SHUNZI = "wrddz_ptype_shunzi.ogg",
  40. PLANE = "wrddz_ptype_plan.ogg",
  41. BAOJING = "wwddz_baojing.ogg",
  42. JIABEI = "wrddz_op_jiabei.ogg",
  43. BUJIABEI = "wrddz_op_bujiabei.ogg",
  44. JIAODIZHU = "wrddz_op_jiaodizhu.ogg",
  45. BUJIAO = "wrddz_op_bujiao_%d.ogg",
  46. SHENSHUIZHA = "wrddz_ptype_shenshuizha.ogg",
  47. WANGZHA = "wrddz_ptype_wangzha.ogg",
  48. WARN = "wrddz_ptype_warn_%d.ogg",
  49. }
  50. local PDK_SND_VAL = {--A=1, 2=2, 3=3 ...
  51. --3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1, 2,14
  52. 6, 7, 8, 9, 10, 11, 12, 13, 1, 2,14,15
  53. }
  54. local PDK_SEX = {
  55. [0] = "Man",
  56. [1] = "Man",
  57. [2] = "Woman"
  58. }
  59. function DdzSoundHelper:ctor()
  60. end
  61. function DdzSoundHelper:alarm()
  62. playVoice("pk_zgwrddz/res/snd/common/lzpdk_timeup_alarm.ogg")
  63. end
  64. function DdzSoundHelper:alarm1(sex)
  65. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.BAOJING)
  66. end
  67. function DdzSoundHelper:win()
  68. playVoice("pk_zgwrddz/res/snd/common/lzpdk_audio_win.ogg")
  69. end
  70. function DdzSoundHelper:lose()
  71. --playVoice("pk_zgwrddz/res/snd/common/lzpdk_audio_win.ogg")
  72. playVoice("pk_zgwrddz/res/snd/common/lzpdk_audio_lose.ogg")
  73. end
  74. function DdzSoundHelper:liuju()
  75. playVoice("pk_zgwrddz/res/snd/common/lzpdk_audio_liuju.ogg")
  76. end
  77. -- 大你、压死
  78. function DdzSoundHelper:daNi( sex )
  79. sex = sex or 0
  80. if self:getLanguageType() == 1 then
  81. local idx = math.random(3)
  82. playVoice(PRE_SEX_PATH[sex]..string.format("lzpdk_dani%d.ogg", idx))
  83. end
  84. end
  85. -- 就剩一张牌了
  86. function DdzSoundHelper:single( sex )
  87. sex = sex or 0
  88. --延时0.5秒播放,解决报单和前一手牌的牌型音效同时播问题
  89. app.mainScene:runAction(cc.Sequence:create(cc.DelayTime:create(0.5), cc.CallFunc:create(function ()
  90. if self:getLanguageType() == 1 then
  91. playVoice(PRE_SEX_PATH[sex].."lzpdk_baojing1.ogg")
  92. playVoice("pk_zgwrddz/res/snd/common/lzpdk_Special_alert.ogg")
  93. else
  94. playVoice(PRE_SEX_FY_PATH[sex]..string.format(PDK_FY_SND_FILE.WARN,1))
  95. self:alarm1(sex)
  96. end
  97. end)))
  98. end
  99. -- 就剩两张张牌了
  100. function DdzSoundHelper:single2( sex )
  101. sex = sex or 0
  102. --延时0.5秒播放,解决报单和前一手牌的牌型音效同时播问题
  103. app.mainScene:runAction(cc.Sequence:create(cc.DelayTime:create(0.5), cc.CallFunc:create(function ()
  104. if self:getLanguageType() == 1 then
  105. playVoice(PRE_SEX_PATH[sex].."wrddz_baojing2.ogg")
  106. playVoice("pk_zgwrddz/res/snd/common/lzpdk_Special_alert.ogg")
  107. else
  108. playVoice(PRE_SEX_FY_PATH[sex]..string.format(PDK_FY_SND_FILE.WARN,2))
  109. self:alarm1(sex)
  110. end
  111. end)))
  112. end
  113. -- 发牌音效
  114. function DdzSoundHelper:playSend()
  115. playVoice("pk_zgwrddz/res/snd/common/lzpdk_audio_card_out.ogg")
  116. end
  117. -- 打牌音效
  118. function DdzSoundHelper:playOut()
  119. playVoice("pk_zgwrddz/res/snd/common/lzpdk_Special_give.ogg")
  120. end
  121. -- 春天音效
  122. function DdzSoundHelper:spring()
  123. playVoice("pk_zgwrddz/res/snd/common/lzpdk_Special_Chuntian.ogg")
  124. end
  125. -- 选择牌音效
  126. function DdzSoundHelper:selectSnd()
  127. playVoice("pk_zgwrddz/res/snd/common/lzpdk_SpecSelectCard.ogg")
  128. end
  129. -- 播放游戏背景音乐
  130. function DdzSoundHelper:playBgMusic(tp)
  131. if not tp then
  132. playBGMusic("LZPDK_GAME", "pk_zgwrddz/res/snd/lzpdk_bgm.ogg")--
  133. return
  134. end
  135. stopBGMusic()
  136. if tp == 1 then
  137. playBGMusic("LZPDK_GAME","pk_zgwrddz/res/snd/lzpdk_bgm.ogg")
  138. elseif tp == 2 then
  139. playBGMusic("LZPDK_GAME","pk_zgwrddz/res/snd/lzpdk_bgmjd.ogg")
  140. end
  141. end
  142. -- 报警音效
  143. function DdzSoundHelper:effectWarm( sex )
  144. sex = sex or 0
  145. if self:getLanguageType() == 1 then
  146. playVoice(PRE_SEX_PATH[sex]..PDK_SND_FILE.BAOJING)
  147. else
  148. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.BAOJING)
  149. end
  150. end
  151. -- 要不起音效
  152. function DdzSoundHelper:effectPass( sex, idx )
  153. sex = sex or 0
  154. idx = idx or 4
  155. if self:getLanguageType() == 1 then
  156. playVoice(PRE_SEX_PATH[sex]..string.format("lzpdk_buyao%d.ogg", idx))
  157. else
  158. local a = math.random(2)
  159. local file = string.format(PDK_FY_SND_FILE.PASS,a)
  160. playVoice(PRE_SEX_FY_PATH[sex]..file)
  161. end
  162. end
  163. -- 单张音效
  164. function DdzSoundHelper:effectSingle( sex ,val )
  165. sex = sex or 0
  166. if val >= 11 and val <= 12 then--小王大王
  167. if self:getLanguageType() == 1 then
  168. local file = string.format("lzpdk_pk_%d.ogg", PDK_SND_VAL[val]+6)
  169. playVoice(PRE_SEX_PATH[sex]..file)
  170. else
  171. local a = math.random(2)
  172. local file = string.format("wrddz_pk_fy_%d_%d.ogg", PDK_SND_VAL[val],a)
  173. playVoice(PRE_SEX_FY_PATH[sex]..file)
  174. end
  175. else
  176. if self:getLanguageType() == 1 then
  177. local file = string.format("lzpdk_pk_%d.ogg", PDK_SND_VAL[val])
  178. playVoice(PRE_SEX_PATH[sex]..file)
  179. else
  180. local file = string.format("wrddz_pk_fy_%d.ogg", PDK_SND_VAL[val])
  181. playVoice(PRE_SEX_FY_PATH[sex]..file)
  182. end
  183. end
  184. end
  185. -- 播放对子音效
  186. function DdzSoundHelper:effectDouble( sex, val )
  187. sex = sex or 0
  188. if self:getLanguageType() == 1 then
  189. local file = string.format("lzpdk_dui%d.ogg", PDK_SND_VAL[val])
  190. playVoice(PRE_SEX_PATH[sex]..file)
  191. else
  192. local file = string.format("wrddz_dui_fy_%d.ogg", PDK_SND_VAL[val])
  193. playVoice(PRE_SEX_FY_PATH[sex]..file)
  194. end
  195. end
  196. -- 播放三个
  197. function DdzSoundHelper:effectThree( sex, val )
  198. sex = sex or 0
  199. if self:getLanguageType() == 1 then
  200. local file = string.format("lzpdk_%s_tuple%d.ogg", PDK_SEX[sex], PDK_SND_VAL[val])
  201. playVoice(PRE_SEX_PATH[sex]..file)
  202. else
  203. local a = math.random(5)
  204. if a > 2 then
  205. local file = string.format("wrddz_three_fy_%d.ogg",PDK_SND_VAL[val])
  206. playVoice(PRE_SEX_FY_PATH[sex]..file)
  207. else
  208. local file = string.format(PDK_FY_SND_FILE.THREE, a)
  209. playVoice(PRE_SEX_FY_PATH[sex]..file)
  210. end
  211. end
  212. end
  213. -- 三带二
  214. function DdzSoundHelper:effect3And2( sex , tp)--tp 4三带二张 5三带一对
  215. sex = sex or 0
  216. if self:getLanguageType() == 1 then
  217. playVoice(PRE_SEX_PATH[sex]..PDK_SND_FILE.THREE_AND_DUI)
  218. else
  219. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.THREE_AND_DUI)
  220. end
  221. end
  222. -- 三带一
  223. function DdzSoundHelper:effect3And1( sex )
  224. sex = sex or 0
  225. if self:getLanguageType() == 1 then
  226. playVoice(PRE_SEX_PATH[sex]..PDK_SND_FILE.THREE_AND_ONE)
  227. else
  228. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.THREE_AND_ONE)
  229. end
  230. end
  231. -- 炸弹
  232. function DdzSoundHelper:effectBomb( sex )
  233. sex = sex or 0
  234. if self:getLanguageType() == 1 then
  235. playVoice(PRE_SEX_PATH[sex]..PDK_SND_FILE.BOMB)
  236. else
  237. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.BOMB)
  238. end
  239. playVoice("pk_zgwrddz/res/snd/common/lzpdk_Special_Long_Bomb.ogg")
  240. end
  241. -- 王炸
  242. function DdzSoundHelper:effectKingBomb( sex )
  243. sex = sex or 0
  244. if self:getLanguageType() == 1 then
  245. playVoice(PRE_SEX_PATH[sex]..PDK_SND_FILE.WANGZHA)
  246. else
  247. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.WANGZHA)
  248. end
  249. end
  250. -- 深水炸弹
  251. function DdzSoundHelper:effectShenShuiZha( sex )
  252. sex = sex or 0
  253. if self:getLanguageType() == 1 then
  254. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.SHENSHUIZHA)
  255. else
  256. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.SHENSHUIZHA)
  257. end
  258. end
  259. -- 连对
  260. function DdzSoundHelper:effectLiandui( sex )
  261. sex = sex or 0
  262. if self:getLanguageType() == 1 then
  263. playVoice(PRE_SEX_PATH[sex]..PDK_SND_FILE.LIANDUI)
  264. else
  265. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.LIANDUI)
  266. end
  267. end
  268. -- 顺子
  269. function DdzSoundHelper:effectShunzi( sex )
  270. sex = sex or 0
  271. if self:getLanguageType() == 1 then
  272. playVoice(PRE_SEX_PATH[sex]..PDK_SND_FILE.SHUNZI)
  273. else
  274. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.SHUNZI)
  275. end
  276. playVoice("pk_zgwrddz/res/snd/common/lzpdk_series.ogg")
  277. end
  278. -- 飞机
  279. function DdzSoundHelper:effectPlane( sex )
  280. sex = sex or 0
  281. if self:getLanguageType() == 1 then
  282. playVoice(PRE_SEX_PATH[sex]..PDK_SND_FILE.PLANE)
  283. else
  284. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.PLANE)
  285. end
  286. playVoice("pk_zgwrddz/res/snd/common/lzpdk_Special_plane.ogg")
  287. end
  288. -- 三顺
  289. function DdzSoundHelper:effectSanShun( sex )
  290. sex = sex or 0
  291. local a = math.random(2)
  292. local file = string.format(PDK_FY_SND_FILE.SAN_SHUN,a)
  293. playVoice(PRE_SEX_FY_PATH[sex]..file)
  294. playVoice("pk_zgwrddz/res/snd/common/lzpdk_Special_plane.ogg")
  295. end
  296. function DdzSoundHelper:getLanguageType()
  297. local cacheLan = "LanguageType"..GAME_IDS.zgWuRenDouDiZhu
  298. local lanType = tonumber(loadUserInfo(cacheLan)) or 1--1普通话2方言
  299. return lanType
  300. end
  301. -- 叫地主
  302. function DdzSoundHelper:effectJiaoDiZhu( sex, isJiao )
  303. sex = sex or 0
  304. idx = idx or 4
  305. if self:getLanguageType() == 1 then
  306. if isJiao then
  307. playVoice(PRE_SEX_PATH[sex]..PDK_SND_FILE.JIAODIZHU)
  308. else
  309. playVoice(PRE_SEX_PATH[sex]..PDK_SND_FILE.BUJIAO)
  310. end
  311. else
  312. if isJiao then
  313. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.JIAODIZHU)
  314. else
  315. local a = math.random(2)
  316. local file = string.format(PDK_FY_SND_FILE.BUJIAO,1)
  317. print("PRE_SEX_FY_PATH[sex]:",PRE_SEX_FY_PATH[sex])
  318. print("file:",file)
  319. print("sex:",sex)
  320. playVoice(PRE_SEX_FY_PATH[sex]..file)
  321. end
  322. end
  323. end
  324. -- 加倍 不加倍
  325. function DdzSoundHelper:effectJiaBei( sex, isJiaBei )
  326. sex = sex or 0
  327. idx = idx or 4
  328. if self:getLanguageType() == 1 then
  329. if isJiaBei then
  330. playVoice(PRE_SEX_PATH[sex]..PDK_SND_FILE.JIABEI)
  331. else
  332. playVoice(PRE_SEX_PATH[sex]..PDK_SND_FILE.BUJIABEI)
  333. end
  334. else
  335. if isJiaBei then
  336. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.JIABEI)
  337. else
  338. playVoice(PRE_SEX_FY_PATH[sex]..PDK_FY_SND_FILE.BUJIABEI)
  339. end
  340. end
  341. end
  342. --地主选暗地主牌
  343. function DdzSoundHelper:effectSelectAnLordCard( sex )
  344. sex = sex or 0
  345. idx = idx or 4
  346. playVoice("pk_zgwrddz/res/snd/wwddz_fanandizhupai.ogg")
  347. end
  348. --涨水
  349. function DdzSoundHelper:effectZhangShui()
  350. playVoice("pk_zgwrddz/res/snd/wwddz_zhangshui.ogg")
  351. end
  352. return DdzSoundHelper