BtnMoreGame.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * @description 更多游戏按钮
  3. * @author kaka
  4. */
  5. const { ccclass, property } = cc._decorator;
  6. @ccclass
  7. export default class BtnMoreGame extends cc.Component {
  8. @property(cc.Sprite)
  9. sp_moregame: cc.Sprite = null;
  10. @property(cc.Label)
  11. lab_moregame: cc.Label = null;
  12. update() {
  13. if (gData.moreGame.init_moreGameList) {
  14. this.setMoreGameSp(gData.moreGame.moreGameList.normal);
  15. }
  16. }
  17. lateUpdate() {
  18. gData.moreGame.init_moreGameList = false;
  19. }
  20. /** 设置更多游戏图片 */
  21. setMoreGameSp(arr) {
  22. let len = arr.length
  23. let index = mk.math.random(0, len - 1)
  24. let data = arr[index]
  25. this.showMoreGameSp(data)
  26. this.schedule(() => {
  27. index++
  28. index = (index % len)
  29. // LogUtil.logV('setMoreGameSp ', 'index ' + index)
  30. data = arr[index]
  31. this.showMoreGameSp(data)
  32. }, 10)
  33. }
  34. /** 切换图片 */
  35. showMoreGameSp(data) {
  36. //pc不加载,加载会报错
  37. if (cc.sys.os != cc.sys.OS_WINDOWS) {
  38. cc.loader.load(data.icon, (err, res) => {
  39. if (err) {
  40. console.log('err:', err);
  41. return;
  42. }
  43. if (this.sp_moregame) {
  44. let tex: cc.Texture2D = res as cc.Texture2D;
  45. this.sp_moregame.spriteFrame = new cc.SpriteFrame(tex);
  46. }
  47. })
  48. }
  49. this.lab_moregame.string = data.title
  50. gData.moreGame.placement_id = data.placement_id;
  51. gData.moreGame.nebulaAppId = data.nebulaAppId;
  52. gData.moreGame.userBehaveLog(3, gData.moreGame.placement_id, gData.moreGame.nebulaAppId);
  53. }
  54. }