ArtNum.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. const { ccclass, property } = cc._decorator;
  2. export enum ARTNUM {
  3. Null = 0,
  4. /**关卡数目 */
  5. LevelNum = 1,
  6. /**目标分数 */
  7. TargetScore = 2,
  8. /**获取的分数 */
  9. GetScore = 3,
  10. /**消除得分 */
  11. EliminateScore = 4,
  12. /** */
  13. Test = "sdasdsadasds",
  14. you = "asdadsadsadasdsadsada"
  15. }
  16. @ccclass
  17. export default class ArtNum extends cc.Component {
  18. @property({
  19. type: cc.Enum(ARTNUM),
  20. displayName: "艺术字类型",
  21. tooltip: "需要选择的艺术字类型",
  22. serializable: true,
  23. })
  24. public artNum: ARTNUM = null;
  25. public url: string = "artNum/"
  26. // LIFE-CYCLE CALLBACKS:
  27. // onLoad () {}
  28. start() {
  29. //LogUtil.log("this.url",this.url);
  30. }
  31. // update (dt) {}
  32. /**初始化 */
  33. init(num: number) {
  34. this.url = `game/texture/artNum/${ARTNUM[this.artNum]}/`
  35. let numStr = num.toString();
  36. let numStrArr = numStr.split("");
  37. let numNodeArr = this.node.children;
  38. if (numStrArr.length > this.node.childrenCount) {
  39. for (var i = 0; i < numStrArr.length; i++) {
  40. let numChar = numStrArr[i];
  41. let numNode = numNodeArr[i];
  42. if (numNode) {
  43. if (numNode.active == false) {
  44. numNode.active = true;
  45. }
  46. let spr_num: cc.Sprite = numNode.getComponent(cc.Sprite);
  47. this.loadSprite(`${this.url}${numChar}`,spr_num);
  48. }
  49. else {
  50. numNode = new cc.Node();
  51. let spr_num: cc.Sprite = numNode.addComponent(cc.Sprite);
  52. this.loadSprite(`${this.url}${numChar}`,spr_num);
  53. this.node.addChild(numNode);
  54. }
  55. }
  56. }
  57. else {
  58. for (var i = 0; i < numNodeArr.length; i++) {
  59. let numNode = numNodeArr[i];
  60. if (i < numStrArr.length) {
  61. let numChar = numStrArr[i];
  62. if (numNode) {
  63. if (numNode.active == false) {
  64. numNode.active = true;
  65. }
  66. let spr_num = numNode.getComponent(cc.Sprite);
  67. this.loadSprite(`${this.url}${numChar}`,spr_num);
  68. }
  69. else {
  70. numNode = new cc.Node();
  71. let spr_num = numNode.addComponent(cc.Sprite);
  72. this.loadSprite(`${this.url}${numChar}`,spr_num);
  73. this.node.addChild(numNode);
  74. }
  75. }
  76. else {
  77. if (numNode) {
  78. numNode.active = false;
  79. }
  80. }
  81. }
  82. }
  83. }
  84. /**
  85. * 加载sprite
  86. * @param url 路径
  87. * @param spr 图片资源
  88. */
  89. loadSprite( url: string,spr: cc.Sprite) {
  90. mk.loader.load(url, cc.SpriteFrame).then((spriteFrame) => {
  91. spr.spriteFrame = spriteFrame;
  92. })
  93. }
  94. }