// 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 Common5 from "../../../Platform/th/Common5"; const {ccclass, property} = cc._decorator; @ccclass export default class DuiHuaScript extends cc.Component { @property(cc.Label) duiLabel: cc.Label = null; @property(cc.Node) duihuaNode: cc.Node = null; // LIFE-CYCLE CALLBACKS: // onLoad () {} endCallFunc = null duihuaArray:{log:string, effectUrl:string, delayTime:3.0}[] = [] duihuaIndex = 0 bundleName = null start () { } setDuihuaPosiChange(){ this.duihuaNode.setPosition(cc.v2(0,0)) } setDuihuaArray(bundleName,duihuaArray, callFunc?:Function){ this.bundleName = bundleName this.duihuaNode.setPosition(cc.v2(0,-322)) this.duihuaIndex = 0 this.endCallFunc = callFunc this.duihuaArray = duihuaArray this.duihua(bundleName) this.autoDuihua() } duihua(bundleName){ let data_ = this.duihuaArray[this.duihuaIndex] this.duiLabel.string = data_.log if( data_.effectUrl && data_.effectUrl.length>0){ Common5.playEffectCustom(bundleName, data_.effectUrl) } } nextDuiHuaClickEvent(){ this.duihuaNode.stopAllActions() this.duihuaIndex++ if(this.duihuaIndex <= this.duihuaArray.length-1){ this.duihua(this.bundleName) this.autoDuihua() }else{ this.endDuihua() } } autoDuihua(){ this.duihuaNode.stopAllActions() let data_ = this.duihuaArray[this.duihuaIndex] let time = data_.delayTime cc.tween(this.duihuaNode) .delay(time) .call(()=>{ this.duihuaIndex++ if(this.duihuaIndex <= this.duihuaArray.length-1){ this.duihua(this.bundleName) this.autoDuihua() }else{ this.endDuihua() } }) .start() } endDuihua(){ if(this.endCallFunc){ this.endCallFunc() } console.log('endDuihua') this.node.active = false } // update (dt) {} }