You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.4 KiB
94 lines
2.4 KiB
// 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) {}
|
|
}
|
|
|