咸鱼的反击
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.
 
 
 

459 lines
15 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 { ryw_Event } from "../../../../FrameWork/Event/EventEnum";
import EventMgr from "../../../../FrameWork/Event/EventMgr";
import Common5 from "../../../../Platform/th/Common5";
import GuiYiKuaiDiScript from "./GuiYiKuaiDiScript";
const {ccclass, property} = cc._decorator;
enum FANGXIANG {
UP,
DOWN
}
@ccclass
export default class DianTiScript extends cc.Component {
@property(cc.SpriteFrame)
diantiwaiLiang = null
@property(cc.SpriteFrame)
xiaocheLiang = null
@property(cc.SpriteFrame)
hongyiLiang = null
@property(cc.SpriteFrame)
laotaiLiang = null
@property(cc.SpriteFrame)
nvhaiLiang = null
@property(cc.SpriteFrame)
diantiwaiAn = null
@property(cc.SpriteFrame)
xiaocheAn = null
@property(cc.SpriteFrame)
hongyiAn = null
@property(cc.SpriteFrame)
laotaiAn= null
@property(cc.SpriteFrame)
nvhaiAn= null
// onLoad () {}
@property(cc.Node)
diantiwaiNode = null
@property(cc.Node)
xiaocheNode= null
@property(cc.Node)
hongyiNode = null
@property(cc.Node)
laotaiNode= null
@property(cc.Node)
nvhaiNode= null
@property(cc.Node)
diantiSpine= null
@property(cc.Label)
diantiCengshu= null
@property(cc.Label)
diantiCengshu2= null
@property(cc.Node)
renwunvhai= null
@property(cc.Node)
renwuhongyi= null
@property(cc.Node)
renwulaotai= null
@property(cc.Node)
annniuNode:cc.Node= null
@property(cc.Node)
GuiYiKuaiDiNode = null
@property(cc.Node)
kuaidi206Node = null
@property(cc.Node)
shangbaNode = null
@property(cc.Node)
kuaidi606Node = null
@property(cc.Node)
penwuNode = null
diantiClickIndexArray = []
curDiantiIndex = 1
isBlack =true
_timeout = null
startUpdate: boolean = false;
fangxiangIndex = FANGXIANG.UP
firstInit4Lou = false
start () {
this.changeAn()
EventMgr.onEvent_custom(ryw_Event.NormalTouchMoveCheck,(data)=>{
this.touchMovecheck(data)
},this)
}
touchMovecheck(data){
console.log('11111111111111')
if(data.targetNode == this.kuaidi206Node){
this.scheduleOnce(()=>{
let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
scrc.setChooseCloseBtn(true)
scrc.kuaidi206ClickEvent()
},1.5)
}else if(data.targetNode == this.kuaidi606Node){
let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
let isChoose = scrc.getIsChooseTrue()
if(this.shangbaNode.active == false && this.kuaidi606Node.active == false && this.kuaidi206Node.active == false && isChoose){
scrc.successUI()
}else if(this.shangbaNode.active == false && this.kuaidi606Node.active == false){
//this.nextSelfNodeAnim()
}
}else if(data.targetNode == this.penwuNode){
let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
let isChoose = scrc.getIsChooseTrue()
scrc.penwu606ClickEvent()
if(this.shangbaNode.active == false && this.kuaidi606Node.active == false && this.kuaidi206Node.active == false && isChoose){
scrc.successUI()
}else if(this.shangbaNode.active == false && this.kuaidi606Node.active == false){
//this.nextSelfNodeAnim()
}
}
}
diantiClickEvent(event, data){
if( this.startUpdate){
return
}
let num_ = parseInt(data)
if(num_ == this.curDiantiIndex){
return
}
this.fangxiangIndex = 0
let target = event.target
let btnLiang = target.getChildByName('btnLiang')
btnLiang.active = true
if(this.diantiClickIndexArray.indexOf(num_) < 0){
this.diantiClickIndexArray.push(num_)
if (null != this._timeout){
clearTimeout(this._timeout);
this._timeout = null;
}
this._timeout = setTimeout(()=>{
//电梯启动,开始电梯动画
//重大到小
if(this.firstInit4Lou == false){
let have6 = 6
if(this.diantiClickIndexArray.indexOf(have6) >= 0){
let num_4 = 4
this.diantiClickIndexArray.push(num_4)
}
}
this.diantiClickIndexArray.sort(function(a,b){
return b-a
})
this.fangxiangIndex = 0
if(this.diantiClickIndexArray[0]>this.curDiantiIndex){
//不变向上
this.fangxiangIndex = 0
}else{
this.fangxiangIndex = 1
this.diantiClickIndexArray.sort(function(a,b){
return a-b
})
}
console.log( this.diantiClickIndexArray)
this.playDiantiAnim()
this.startUpdate = true
}, 2000)
}
}
playDiantiAnim(){
let daodaDianti = this.diantiClickIndexArray.pop()
if(!daodaDianti){
this.startUpdate = false
return
}
cc.tween(this.node)
.delay(1.0)
.call(()=>{
if(daodaDianti>this.curDiantiIndex){
this.curDiantiIndex++
}else{
this.curDiantiIndex--
}
console.log(this.curDiantiIndex)
this.diantiCengshu.string = this.curDiantiIndex+''
this.diantiCengshu2.string = this.curDiantiIndex+''
if(this.curDiantiIndex == daodaDianti){
Common5.playEffectCustom('guiyiKuaidi', "sound/电梯到了");
this.node.stopAllActions()
let target = this.annniuNode.children[this.curDiantiIndex-1]
let btnLiang = target.getChildByName('btnLiang')
btnLiang.active = false
this.diantiSpine.getComponent(sp.Skeleton).setAnimation(0,'kai', false)
if(daodaDianti == 2){
//选项
if(this.isBlack == false){
//失败
this.renwulaotai.active = true
this.scheduleOnce(()=>{
this.laotaiHideFailGame()
},1.5)
}else{
// let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
// scrc.kuaidi602Event()
this.renwunvhai.active = false
this.renwunvhai.getChildByName('shangba').active = false
this.renwuhongyi.active = false
this.renwulaotai.active = true
}
}else if(daodaDianti == 6){
if(this.isBlack == false){
}else{
this.scheduleOnce(()=>{
let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
scrc.nvhaiFail()
},1.5)
}
// let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
// scrc.kuaidi606Event()
this.renwunvhai.active = true
this.renwunvhai.getChildByName('shangba').active = true
this.renwuhongyi.active = false
this.renwulaotai.active = false
}else{
this.firstInit4Lou = true
this.renwunvhai.active = false
this.renwunvhai.getChildByName('shangba').active = false
this.renwuhongyi.active = true
this.renwulaotai.active = false
//亮灯
if(this.isBlack == false){
this.scheduleOnce(()=>{
this.hongyinvXiaoshi()
},1.5)
}else{
this.scheduleOnce(()=>{
let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
scrc.setChooseCloseBtn(false)
scrc.hongyiClickEvent()
},1.5)
}
}
}
})
.union()
.repeatForever()
.start()
}
changeLiang(){
this.node.getChildByName('灯光').active = true
this.diantiSpine.getComponent(sp.Skeleton).setSkin('liang')
this.diantiwaiNode.getComponent(cc.Sprite).spriteFrame = this.diantiwaiLiang
this.xiaocheNode.getComponent(cc.Sprite).spriteFrame = this.xiaocheLiang
this.hongyiNode.getComponent(cc.Sprite).spriteFrame = this.hongyiLiang
this.laotaiNode.getComponent(cc.Sprite).spriteFrame = this.laotaiLiang
this.nvhaiNode.getComponent(cc.Sprite).spriteFrame = this.nvhaiLiang
if(this.renwuhongyi.active && this.curDiantiIndex == 4){
// 红衣女尖叫消失,关门,next
this.hongyinvXiaoshi()
}
if(this.renwulaotai.active&& this.curDiantiIndex == 2){
let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
scrc.laotaiFail2()
//失败
}
}
changeAn(){
this.node.getChildByName('灯光').active = false
this.diantiSpine.getComponent(sp.Skeleton).setSkin('an')
this.diantiwaiNode.getComponent(cc.Sprite).spriteFrame = this.diantiwaiAn
this.xiaocheNode.getComponent(cc.Sprite).spriteFrame = this.xiaocheAn
this.hongyiNode.getComponent(cc.Sprite).spriteFrame = this.hongyiAn
this.laotaiNode.getComponent(cc.Sprite).spriteFrame = this.laotaiAn
this.nvhaiNode.getComponent(cc.Sprite).spriteFrame = this.nvhaiAn
if(this.renwunvhai.active&& this.curDiantiIndex == 6){
let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
scrc.nvhaiFail()
//失败
}
}
kaidengClickEvent(){
Common5.playEffect("点击音效");
if(this.isBlack){
this.isBlack = false
this.changeLiang()
}else{
this.isBlack = true
this.changeAn()
}
}
nextSelfNodeAnim(){
console.log('nextSelfNodeAnim')
this.diantiSpine.getComponent(sp.Skeleton).setAnimation(0,'guan', false)
let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
let isChoose = scrc.getIsChooseTrue()
if(this.penwuNode.active == false && this.kuaidi606Node.active == false && this.kuaidi206Node.active == false && isChoose){
scrc.successUI()
}
if(this.diantiClickIndexArray.length ==0){
this.startUpdate = false
return
}
this.scheduleOnce(()=>{
this.playDiantiAnim()
},1.5)
}
hongyinvXiaoshi(){
Common5.playEffect("女生惨叫");
let renwuhongyi = this.node.getChildByName('renwuhongyi')
cc.tween(renwuhongyi)
.to(1,{opacity:0})
.call(()=>{
let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
scrc.setChooseLayerHide()
this.nextSelfNodeAnim()
})
.start()
}
diantiAninFail(callFunc1,callFunc2){
let renwuhongyi = this.node.getChildByName('renwuhongyi')
let renwuhongyi2 = this.node.getChildByName('renwuhongyi2')
renwuhongyi2.active = true
cc.tween(renwuhongyi)
.to(1,{opacity:0})
.call(()=>{
cc.tween(renwuhongyi2)
.to(1,{opacity:255})
.call(()=>{
this.diantiSpine.getComponent(sp.Skeleton).setAnimation(0,'guan', false)
this.scheduleOnce(()=>{
if(callFunc1){
callFunc1()
}
let curIndex = this.curDiantiIndex*3
cc.tween(this.GuiYiKuaiDiNode)
.to(0.1, {angle:-5})
.to(0.1, {angle:5})
.call(()=>{
this.curDiantiIndex--
this.diantiCengshu.string = this.curDiantiIndex+''
this.diantiCengshu2.string = this.curDiantiIndex+''
})
.union()
.repeat(curIndex)
.call(()=>{
this.GuiYiKuaiDiNode.angle = 0
})
.delay(1.0)
.call(()=>{
this.GuiYiKuaiDiNode.angle = 0
if(callFunc2){
callFunc2()
}
})
.start()
},1.5)
})
.start()
})
.start()
}
closeDianti606ClickEvent(){
Common5.playEffect("点击音效");
if(this.renwunvhai.active){
if(this.shangbaNode.active == false && this.kuaidi206Node.active == false){
this.nextSelfNodeAnim()
}else{
this.nextSelfNodeAnim()
//shibai
this.scheduleOnce(()=>{
let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
scrc.nvhaiFail()
},1.5)
}
}
}
laotaiHideFailGame(){
Common5.playEffect("女生惨叫");
cc.tween(this.renwulaotai)
.to(1.5, {opacity:0})
.call(
()=>{
let scrc:GuiYiKuaiDiScript = this.GuiYiKuaiDiNode.getComponent('GuiYiKuaiDiScript')
scrc.laoTaiFail()
}
)
.start()
}
// update (dt) {}
}