// Learn TypeScript: // - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html // Learn Attribute: // - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html // Learn life-cycle callbacks: // - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html import EventName from "../EventName/EventName"; import LocalData from "../Template/LocalData"; import MyComponent from "../Template/MyComponent"; import { BusType, CloseDoorPos } from "./DataConfig"; const { ccclass, property } = cc._decorator; @ccclass export default class CloseDoor extends MyComponent { @property(sp.Skeleton) leftNode: sp.Skeleton = null; @property(sp.Skeleton) RightNode: sp.Skeleton = null; sendOver = false onLoad() { super.onLoad(); this.regEvent(EventName.BronDoor, this.BronDoor, this) this.regEvent(EventName.CloseDoor, this.CloseDoor, this) } //默认皮肤 defaultSkin = 2 BronDoor() { this.sendOver = false let MenSkeletons = [this.RightNode, this.leftNode] MenSkeletons.forEach(e => { e.node.active = false }) //得到当前关卡的门的数据 let MenData = CloseDoorPos[BusType][LocalData.getInstance().getBusSkin()] let MenCount = 0 if (MenData.pos.length == 2) { MenCount = 2 } else { MenCount = 1 } for (let index = 0; index < MenCount; index++) { let MenSkeleton = MenSkeletons[index] MenSkeleton.node.active = true MenSkeleton.setSkin('门0' + LocalData.getInstance().getBusSkin()) MenSkeleton.node.setScale(MenData.scale[index][0], MenData.scale[index][1]) MenSkeleton.node.setPosition(MenData.pos[index][0], MenData.pos[index][1]) MenSkeletons[index].setAnimation(0, '待机', false) } } CloseDoor() { let MenSkeletons = [this.RightNode, this.leftNode] for (let index = 0; index < MenSkeletons.length; index++) { if (MenSkeletons[index].node.active) { MenSkeletons[index].timeScale = 2 //待机_站 待机_坐 坐 走路 let dddd = MenSkeletons[index].setAnimation(0, '关门', false) this.scheduleOnce(() => { if (this.sendOver == false) { this.sendOver = true cc.systemEvent.emit(EventName.NextCoustomGame) } }, dddd.animationEnd / 2) } } } }