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.
451 lines
15 KiB
451 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 DaDianScript from "../../../FrameWork/Base/DaDianScript";
|
|
import WordGameBaseComponent from "../../../FrameWork/Base/WordGameBaseComptent";
|
|
import { ryw_Event } from "../../../FrameWork/Event/EventEnum";
|
|
import EventMgr from "../../../FrameWork/Event/EventMgr";
|
|
import Common from "../../../FrameWork/Util/Common";
|
|
import Common5 from "../../../Platform/th/Common5";
|
|
import Game from "../../../Scripts/Game";
|
|
|
|
const {ccclass, property} = cc._decorator;
|
|
|
|
@ccclass
|
|
export default class ShuiShiJianDie extends WordGameBaseComponent {
|
|
|
|
|
|
@property(cc.Node)
|
|
qipaoNode:cc.Node = null;
|
|
|
|
@property(cc.Node)
|
|
renwu1:cc.Node = null;
|
|
@property(cc.Node)
|
|
renwu2:cc.Node = null;
|
|
@property(cc.Node)
|
|
renwu3:cc.Node = null;
|
|
@property(cc.Node)
|
|
renwu4:cc.Node = null;
|
|
@property(cc.Node)
|
|
renwu5BaoAn:cc.Node = null;
|
|
@property(cc.Node)
|
|
chooseNode:cc.Node = null;
|
|
|
|
|
|
|
|
peopleArray = []
|
|
titleArrayConfig: string[] = [];
|
|
isGameEnd = false;
|
|
|
|
curPeopleIndex = 0
|
|
peopleState = ['放行', '放行', '放行', '放行'] // 直接抓走,发现抓走,直接放行,发现放行
|
|
|
|
isPoshui = false
|
|
isFindBingli= false
|
|
isUseJianDao = false
|
|
|
|
//
|
|
start () {
|
|
this.peopleArray = [this.renwu1, this.renwu2, this.renwu3, this.renwu4]
|
|
super.start();
|
|
DaDianScript.userEnterDaDian();
|
|
|
|
Common5.getJsonFromBundle(Common5.selectGameInfo.bundle,'script/ShuiShiJianDieConfig',(assest)=>{
|
|
this.jsonData = assest.json
|
|
this.initParameters();
|
|
|
|
})
|
|
|
|
EventMgr.onEvent_custom(ryw_Event.DirectTouchMoveCheck, (data_) => {
|
|
this.normalTouchCheckCallback(data_.targetNode,data_);
|
|
}, this);
|
|
|
|
EventMgr.onEvent_custom(ryw_Event.NormalTouchMoveCheck, (data_) => {
|
|
this.normalTouchCheckCallback(data_.targetNode,data_);
|
|
}, this);
|
|
|
|
EventMgr.onEvent_custom(ryw_Event.NormalTouchEndCheck, (data_) => {
|
|
this.normalTouchCheckCallback(data_.targetNode,data_);
|
|
}, this);
|
|
|
|
//this.showQiPao(this.qipaoNan, '赶紧换回来,这破地方本少爷一秒都呆不下去',3)
|
|
|
|
}
|
|
|
|
|
|
normalTouchCheckCallback(targetNode,data_){
|
|
console.log("targetNodeName+++++++++++++++++++++>" + targetNode.name);
|
|
if(targetNode.name == '剪刀'){
|
|
//变化
|
|
this.renwu4.getComponent(sp.Skeleton).setAnimation(0,'剪衣服', false)
|
|
this.scheduleOnce(()=>{
|
|
this.renwu4.getComponent(sp.Skeleton).setAnimation(0,'瘦呼吸', true)
|
|
},1.5)
|
|
this.isUseJianDao = true
|
|
}else if(targetNode.name == '杯子'){
|
|
//泼水
|
|
this.node.getChildByName('泼水').active = true
|
|
this.scheduleOnce(()=>{
|
|
this.renwu2.getComponent(sp.Skeleton).setAnimation(0,'女呼吸', true)
|
|
},1.0)
|
|
this.isPoshui = true
|
|
|
|
}else if(targetNode.name == '病历'){
|
|
this.isFindBingli = true
|
|
}
|
|
|
|
}
|
|
|
|
moveToscree(node:cc.Node, posiX, callfunc=null){
|
|
let recovePosi = node.getPosition()
|
|
cc.tween(node)
|
|
.to(0.7, {x:posiX, y:recovePosi.y})
|
|
.call(()=>{
|
|
if(callfunc){
|
|
callfunc()
|
|
}
|
|
})
|
|
.start()
|
|
}
|
|
|
|
|
|
enterToscree(node:cc.Node, callfunc=null){
|
|
let recovePosi = node.getPosition()
|
|
cc.tween(node)
|
|
.to(0.3, {x:recovePosi.x+700, y:recovePosi.y})
|
|
.call(()=>{
|
|
if(callfunc){
|
|
callfunc()
|
|
}
|
|
})
|
|
.start()
|
|
}
|
|
|
|
|
|
moveLevelscree(node:cc.Node,callfunc=null){
|
|
let recovePosi = node.getPosition()
|
|
cc.tween(node)
|
|
.to(0.3, {x:-760, y:recovePosi.y})
|
|
.call(()=>{
|
|
if(callfunc){
|
|
callfunc()
|
|
}
|
|
})
|
|
.start()
|
|
}
|
|
|
|
|
|
initParameters(){
|
|
this.titleArrayConfig = this.jsonData.titleArray;
|
|
Common.Type = 0;
|
|
Common.subLevel = 0;
|
|
Common.GameSubTipConfigs=[this.jsonData.tipsArray]
|
|
Common.GameSubAnswerConfigs=[this.jsonData.answersArray]
|
|
Game.ins.setGameTitle(this.titleArrayConfig[0]);
|
|
this.enterPeople()
|
|
}
|
|
|
|
|
|
|
|
showQiPao(qipaoNode, str, delayTime=3, callFunc=null, str2=null){
|
|
qipaoNode.scale = 0
|
|
qipaoNode.active = true
|
|
qipaoNode.stopAllActions()
|
|
qipaoNode.getChildByName("str").getComponent(cc.Label).string = str
|
|
if (str2) {
|
|
Common5.playEffectCustom(Common5.selectGameInfo.bundle, "sound/"+str2);
|
|
}else{
|
|
Common5.playEffectCustom(Common5.selectGameInfo.bundle, "sound/"+str);
|
|
}
|
|
cc.tween(qipaoNode)
|
|
.to(0.2,{scale:1.5})
|
|
.delay(delayTime)
|
|
|
|
.call(()=>{
|
|
qipaoNode.active = false
|
|
|
|
if(callFunc){
|
|
callFunc()
|
|
}
|
|
})
|
|
.start()
|
|
}
|
|
|
|
endGameView(isSuccess, delay = 3) {
|
|
if( this.isGameEnd ){
|
|
return
|
|
}
|
|
this.isGameEnd = true
|
|
|
|
if(isSuccess){
|
|
Game.ins.stopTime();
|
|
this.scheduleOnce(()=>{
|
|
Game.ins.showSuccess()
|
|
},delay)
|
|
}else{
|
|
Game.ins.stopTime();
|
|
this.scheduleOnce(()=>{
|
|
Game.ins.showFail()
|
|
},delay)
|
|
}
|
|
|
|
}
|
|
|
|
unlockLevel(sublevel) {
|
|
Game.ins.tipUnlock(sublevel)
|
|
}
|
|
// 直接抓走,发现抓走,直接放行,发现放行
|
|
showEndGame(){
|
|
console.log('peopleState', this.peopleState)
|
|
let isSuccess = false
|
|
let peopeoshuohua = '说话'
|
|
let duihua = '你做的很好,再接再厉'
|
|
let delayTime = 3
|
|
if(this.peopleState[0] == '直接放行' &&
|
|
this.peopleState[1] == '发现抓走' &&
|
|
this.peopleState[2] == '发现放行' &&
|
|
this.peopleState[3] == '发现抓走'){
|
|
isSuccess = true
|
|
duihua = '你做的很好,再接再厉'
|
|
delayTime = 2
|
|
peopeoshuohua = '说话'
|
|
}else if(this.peopleState[0] == '直接抓走' ||
|
|
this.peopleState[1] == '直接抓走' ||
|
|
this.peopleState[2] == '直接抓走' ||
|
|
this.peopleState[3] == '直接抓走'
|
|
){
|
|
isSuccess = false
|
|
duihua = '你居然在公司胡乱抓人,你跟我走一趟吧'
|
|
delayTime = 3
|
|
peopeoshuohua = '生气'
|
|
}else{
|
|
isSuccess = false
|
|
duihua = '因为你的疏忽,公司进入了间谍,你跟我走一趟吧'
|
|
delayTime = 4
|
|
peopeoshuohua = '生气'
|
|
}
|
|
|
|
this.node.getChildByName('gameEnd').active = true
|
|
this.scheduleOnce(()=>{
|
|
this.node.getChildByName('gameEnd').active = false
|
|
this.moveToscree(this.renwu5BaoAn, 0, ()=>{
|
|
this.renwu5BaoAn.getComponent(sp.Skeleton).setAnimation(0, peopeoshuohua, true)
|
|
this.showQiPao(this.qipaoNode, duihua,delayTime, ()=>{
|
|
this.renwu5BaoAn.getComponent(sp.Skeleton).setAnimation(0, '呼吸', true)
|
|
this.endGameView(isSuccess, 1)
|
|
})
|
|
})
|
|
},2.0)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
enterPeople(){
|
|
let curPeople = this.peopleArray[this.curPeopleIndex]
|
|
let poxiArray = [0,-70,75,50]
|
|
let duihuastrs = ['麻烦快点,我吃完饭还要加班', '快点检查,我还要去公关呢','每天这样好烦啊','快点检查,我还要去健身呢']
|
|
let duihua = duihuastrs[this.curPeopleIndex]
|
|
let posix = poxiArray[this.curPeopleIndex]
|
|
curPeople.getComponent(sp.Skeleton).setAnimation(0, '说话', true)
|
|
let kaAnim = this.curPeopleIndex+1+'进来'
|
|
let xinxiNodeName = '详情'+this.curPeopleIndex
|
|
this.node.getChildByName('信息表2').getChildByName('详情0').active = false
|
|
this.node.getChildByName('信息表2').getChildByName('详情1').active = false
|
|
this.node.getChildByName('信息表2').getChildByName('详情2').active = false
|
|
this.node.getChildByName('信息表2').getChildByName('详情3').active = false
|
|
|
|
this.moveToscree(curPeople, posix, ()=>{
|
|
this.node.getChildByName('信息表2').active = true
|
|
this.node.getChildByName('信息表2').getChildByName(xinxiNodeName).active = true
|
|
|
|
this.node.getChildByName('卡动画').active = true
|
|
this.node.getChildByName('卡动画').getComponent(sp.Skeleton).setAnimation(0,kaAnim,false)
|
|
|
|
this.showQiPao(this.qipaoNode, duihua,3, ()=>{
|
|
curPeople.getComponent(sp.Skeleton).setAnimation(0, '呼吸', true)
|
|
|
|
})
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
zhuazouPeople(){
|
|
|
|
}
|
|
|
|
|
|
fangxingPeople(){
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
zhuazouClickEvent(){
|
|
this.chooseNode.active = false
|
|
this.node.getChildByName('信息表click').active = false
|
|
let curPeople = this.peopleArray[this.curPeopleIndex]
|
|
let duihuaStr = ''
|
|
let peopeoshuohua = '说话'
|
|
let peopeoshuohuaStop = '呼吸'
|
|
let mulustr = ''
|
|
|
|
let kaAnim = this.curPeopleIndex+1+'出去'
|
|
this.node.getChildByName('卡动画').getComponent(sp.Skeleton).setAnimation(0,kaAnim,false)
|
|
|
|
if(this.curPeopleIndex == 0){
|
|
duihuaStr = '你肯定是搞错了'
|
|
mulustr = '你肯定是搞错了(李大力)'
|
|
this.peopleState[0] = '直接抓走'
|
|
peopeoshuohua = '生气'
|
|
}else if(this.curPeopleIndex == 1){
|
|
if(this.isPoshui){
|
|
duihuaStr = '这都被你发现了'
|
|
mulustr = '这都被你发现了(白复枚)'
|
|
this.peopleState[1] = '发现抓走'
|
|
peopeoshuohua = '女说话'
|
|
peopeoshuohuaStop = '女呼吸'
|
|
|
|
}else{
|
|
duihuaStr = '你肯定是搞错了'
|
|
mulustr = '你肯定是搞错了(白复枚)'
|
|
this.peopleState[1] = '直接抓走'
|
|
peopeoshuohua = '生气'
|
|
peopeoshuohuaStop = '生气'
|
|
}
|
|
}else if(this.curPeopleIndex == 2){
|
|
duihuaStr = '你肯定是搞错了'
|
|
mulustr = '你肯定是搞错了(王小美)'
|
|
|
|
this.peopleState[2] = '直接抓走'
|
|
|
|
peopeoshuohua = '生气'
|
|
peopeoshuohuaStop = '生气'
|
|
}else if(this.curPeopleIndex == 3){
|
|
|
|
if(this.isUseJianDao){
|
|
duihuaStr = '这都被你发现了'
|
|
mulustr = '这都被你发现了!(张健深)'
|
|
this.peopleState[3] = '发现抓走'
|
|
peopeoshuohua = '瘦生气'
|
|
peopeoshuohuaStop = '瘦生气'
|
|
}else{
|
|
duihuaStr = '你肯定是搞错了'
|
|
mulustr = '你肯定是搞错了!(张健深)'
|
|
this.peopleState[3] = '直接抓走'
|
|
peopeoshuohua = '生气'
|
|
peopeoshuohuaStop = '生气'
|
|
|
|
}
|
|
}
|
|
this.curPeopleIndex++
|
|
|
|
this.moveToscree(this.renwu5BaoAn,-150, ()=>{
|
|
//对话
|
|
curPeople.getComponent(sp.Skeleton).setAnimation(0, peopeoshuohua, true)
|
|
this.showQiPao(this.qipaoNode, duihuaStr ,1.5, ()=>{
|
|
//
|
|
curPeople.getComponent(sp.Skeleton).setAnimation(0, peopeoshuohuaStop, true)
|
|
this.moveLevelscree(curPeople, ()=>{
|
|
|
|
if(this.curPeopleIndex>=4){
|
|
this.showEndGame()
|
|
|
|
}else{
|
|
this.enterPeople()
|
|
}
|
|
})
|
|
this.moveLevelscree(this.renwu5BaoAn)
|
|
},mulustr)
|
|
})
|
|
}
|
|
//直接抓走,发现抓走,直接放行,发现放行
|
|
fangxingClickEvent(){
|
|
this.chooseNode.active = false
|
|
this.node.getChildByName('信息表click').active = false
|
|
let curPeople = this.peopleArray[this.curPeopleIndex]
|
|
let duihuaStr = ''
|
|
let peopeoshuohua = '说话'
|
|
let peopeoshuohuaStop = '呼吸'
|
|
let mulustr = ''
|
|
|
|
let kaAnim = this.curPeopleIndex+1+'出去'
|
|
this.node.getChildByName('卡动画').getComponent(sp.Skeleton).setAnimation(0,kaAnim,false)
|
|
|
|
|
|
if(this.curPeopleIndex == 0){
|
|
duihuaStr = '谢谢'
|
|
this.peopleState[0] = '直接放行'
|
|
mulustr = '谢谢(李大力)'
|
|
|
|
}else if(this.curPeopleIndex == 1){
|
|
duihuaStr = '谢谢'
|
|
mulustr = '谢谢(白复枚)'
|
|
|
|
this.peopleState[1] = '直接放行'
|
|
if(this.isPoshui){
|
|
peopeoshuohua = '女说话'
|
|
peopeoshuohuaStop = '女呼吸'
|
|
}else{
|
|
peopeoshuohua = '说话'
|
|
peopeoshuohuaStop = '呼吸'
|
|
}
|
|
}else if(this.curPeopleIndex == 2){
|
|
if(this.isFindBingli){
|
|
duihuaStr = '你做事真仔细'
|
|
mulustr = '你做事真仔细'
|
|
|
|
this.peopleState[2] = '发现放行'
|
|
}else{
|
|
duihuaStr = '谢谢'
|
|
mulustr = '谢谢(王小美)'
|
|
|
|
this.peopleState[2] = '直接放行'
|
|
}
|
|
peopeoshuohua = '说话'
|
|
peopeoshuohuaStop = '呼吸'
|
|
|
|
}else if(this.curPeopleIndex == 3){
|
|
duihuaStr = '谢谢'
|
|
mulustr = '谢谢(张健深)'
|
|
|
|
this.peopleState[3] = '直接放行'
|
|
if(this.isUseJianDao){
|
|
peopeoshuohua = '瘦呼吸'
|
|
peopeoshuohuaStop = '瘦呼吸'
|
|
}else{
|
|
peopeoshuohua = '说话'
|
|
peopeoshuohuaStop = '呼吸'
|
|
}
|
|
|
|
}
|
|
this.curPeopleIndex++
|
|
|
|
curPeople.getComponent(sp.Skeleton).setAnimation(0, peopeoshuohua, true)
|
|
this.showQiPao(this.qipaoNode, duihuaStr ,1.0, ()=>{
|
|
curPeople.getComponent(sp.Skeleton).setAnimation(0, peopeoshuohuaStop, true)
|
|
this.enterToscree(curPeople, ()=>{
|
|
//对话
|
|
if(this.curPeopleIndex>=4){
|
|
this.showEndGame()
|
|
return
|
|
}else{
|
|
this.enterPeople()
|
|
}
|
|
})
|
|
},mulustr)
|
|
|
|
|
|
|
|
|
|
}
|
|
// update (dt) {}
|
|
}
|
|
|