// 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; @ccclass export default class NewClass extends cc.Component { // @property(cc.Label) // label: cc.Label = null; // @property // text: string = 'hello'; //注意:不是cc.Sprite //錯誤寫法:@property(cc.Sprite) @property(cc.SpriteFrame) spr1:cc.SpriteFrame = null; @property(cc.SpriteFrame) spr2:cc.SpriteFrame = null; @property(cc.AudioClip) music1:cc.AudioClip = null; @property(cc.AudioClip) music2:cc.AudioClip = null; onLoad () { //錯誤寫法 // this.node.on(cc.SystemEvent.EventType.KEY_DOWN, this.move, this); //正確寫法1(全局事件systemEvent) cc.systemEvent.on("keydown", this.move, this); //正確寫法2(全局事件systemEvent) //cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.move, this); } move(event:cc.Event.EventKeyboard) { var node1 = cc.find("Canvas/大雄"); var comp1 = node1.getComponent(cc.Sprite); if(event.keyCode == cc.macro.KEY.left) { cc.audioEngine.play(this.music1, false, 1); //錯誤寫法:this.comp1.spriteFrame(不是this node的component) comp1.spriteFrame = this.spr1; this.node.x -= 30; } else if(event.keyCode == cc.macro.KEY.right) { cc.audioEngine.play(this.music2, false, 1); comp1.spriteFrame = this.spr2; this.node.x += 30; } } start () { } // update (dt) {} }