// Learn TypeScript: // - https://docs.cocos.com/creator/manual/en/scripting/typescript.html // Learn Attribute: // - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html // Learn life-cycle callbacks: // - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html const {ccclass, property, } = cc._decorator; enum moduleState { "INIT", }; @ccclass("gameMY") export class gameMY extends cc.Component { @property columnCount = 5; @property itemSize = 240; @property(cc.Label) betString: cc.Label = null; @property(cc.Label) bigFrameString: cc.Label = null; @property(cc.Label) balanceString: cc.Label = null; @property({type: cc.Prefab}) columnPrefab: cc.Prefab | null = null; @property(cc.Node) slotBoard: cc.Node = null; private betNumber: number; private balanceNumber: number; private bigFrameNumber: number; // item 圖片資源存放區 itemNameMapping = { 'item_01':1, 'item_02':2, 'item_03':3, 'item_04':4, 'item_9':5, 'item_10':6, 'item_j':7, 'item_k':8, 'item_q':9, 'item_a':10, 'item_scatter':51, 'item_wild':52 } as const; item_spriteFrame = {}; itemBlur_spriteFrame = {}; init_Complete:boolean = false protected onLoad () { this.unitTestInit(); // for engineer use // 讀取 item 圖片資源 cc.resources.loadDir('item',cc.SpriteFrame, (err: any, sF) => { sF.forEach( (eachSpriteFrame)=>{ this.item_spriteFrame[ this.itemNameMapping[eachSpriteFrame.name] ] = eachSpriteFrame }) } ); cc.resources.loadDir('item_blur',cc.SpriteFrame, (err: any, sF) => { sF.forEach( (eachSpriteFrame)=>{ this.itemBlur_spriteFrame[ this.itemNameMapping[eachSpriteFrame.name] ] = eachSpriteFrame }) } ); } protected start () { this.betNumber = 50; this.slotBoard.addChild( cc.instantiate(this.columnPrefab) ) this.slotBoard.addChild( cc.instantiate(this.columnPrefab) ) this.slotBoard.addChild( cc.instantiate(this.columnPrefab) ) this.slotBoard.addChild( cc.instantiate(this.columnPrefab) ) } protected update (dt) { if(!this.init_Complete){ // 完成圖片載入再啟動 column if((Object.keys(this.item_spriteFrame).length === 12)){ for(let i=0;i<=5;i++){ this.slotBoard.children[i].getComponent('columnControl').gameModule = this.node; this.slotBoard.children[i].active = true; this.init_Complete=true; } } } } onBetBtnClick(e: cc.Event.EventTouch): void { // let a = e.getCurrentTarget().name // cc.log(a) if(e.getCurrentTarget().name == 'btn_plus'){ this.betNumber += 50; } else{ this.betNumber -= 50; } this.betString.string = "" + this.betNumber } onSpinBtnClick():void { cc.log("nothing"); } unitTestInit():void { // for unitTest 1 this.node.on('Bob', (arg1)=>{ cc.log("columnControl Recieve Bob say " + arg1) }, this) } }