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

431 lines
15 KiB

2 months ago
import GameReport from "../../FrameWork/Report/ZyZyReport";
import AppPlatform from "../../FrameWork/Util/AppPlatform";
import Common5 from "../../Platform/th/Common5";
import WXAPI from "../../Platform/weixin/WXAPI";
import UserManager from "../Manager/UserManager";
import GameBase from "../SCommon/GameBase";
const {ccclass, property} = cc._decorator;
enum TouchNodeType{
SaiChe,
HongLvDeng
}
let XinNianHongBaoConfig = [
{hongBaoNum:8,awardNum:880000},
{hongBaoNum:88,awardNum:88000000},
{hongBaoNum:188,awardNum:1880000000}
]
@ccclass
export default class SaiChe extends GameBase {
@property(cc.Node)
gameBg:cc.Node = null
@property(cc.Node)
boxNode:cc.Node = null
@property(cc.Node)
passNum:cc.Node = null
@property(cc.Node)
btn_restart:cc.Node = null
@property(cc.Node)
btn_ad:cc.Node = null
@property([cc.Node])
guanZi_zuoArr:cc.Node[] = []
@property([cc.Node])
guanZi_youArr:cc.Node[] = []
@property(cc.Node)
cheZiItem:cc.Node = null
@property(cc.Node)
baoXiangBtn:cc.Node = null
@property(cc.Node)
qiPaoBaoXiang:cc.Node = null
// @property([cc.SpriteFrame])
// cheZiSpFrameArr:cc.SpriteFrame[] = []
@property(cc.Node)
xingxingSpine:cc.Node = null
@property(cc.Node)
qipaoNode:cc.Node = null
@property(cc.Node)
selectNode:cc.Node = null
@property(cc.Node)
penZiSpine:cc.Node = null
@property(cc.Node)
pengZhuangSpine:cc.Node = null
passTab = []//奖励的阶段通过数
cheZiArr = []
guanZiSpeedArr = [250,200,230]//管子移动速度
guanZiIsMoveToRigthArr = [true,true,true]
cheZiMoveSpeed:number = 1600//车子移动速度
isStopAll:boolean = true//是否暂停所有运动物体
isStopDiCi:boolean = false//是否暂停地刺(红绿灯控制)
isNowHongDeng:boolean = false
// perCarMoney:number = 50
targetSum:number = 0
targetMaxNum:number = 0
targetAward:number = 0
passCarNum:number = 0//已通过车的数量
bigAward:number = 5000000
perHongLvDengCost:number = 20000
// freeAdNum:number = 2//看广告次数
_dt:number = 0
awardNum:number = 0
fixMoney = 8000000000
Proportion = 0.0005
rewardBili= [0.03, 0.08, 0.13, 0.2, 0.56]
rewardMoney = []
jieduanIndex = 0
onDestroy(){
// AppPlatform.stopRecord_custom()
super.onDestroy()
}
onLoad () {
super.onLoad()
// this.passTab = [10,50,100,200,500]
// this.targetSum = this.passTab[4]
// this.targetMaxNum = this.passTab[this.jieduanIndex]
this.initHongBaoNode()
// let freeNum = 3
// if(freeNum > 0){
// this.btn_restart.active = true
// this.btn_ad.active = false
// this.btn_restart.getChildByName("leftNums").getComponent(cc.Label).string = `开 始`
// }else{
// this.btn_restart.active = false
// this.btn_ad.active = true
// this.btn_ad.getChildByName("freeNums").getComponent(cc.Label).string = `获取次数`
// }
this.setGmClbx()
// this.openTouchEvent(this.gameBg,TouchNodeType.SaiChe)
// this.openTouchEvent(this.hongLvDeng,TouchNodeType.HongLvDeng)
// this.initAllGuanZi()
for(let i = 0; i<this.rewardBili.length; i++){
let bili = this.rewardBili[i]
let earnMoney = 1000
let allMoney = (this.fixMoney+earnMoney*Common5.earnMoneySecond)*this.Proportion
let jieduanMoney = Math.floor(allMoney*bili)
this.rewardMoney.push(jieduanMoney)
}
console.log(this.rewardMoney, 'this.rewardMoney++++')
}
start () {
Common5.playMusic("CommonRes/sound/电玩城");
this.refreshQipao()
}
refreshQipao(){
let rewardMoney = this.rewardMoney[this.jieduanIndex]
let qian = this.qipaoNode.getChildByName('qian').getComponent(cc.Label)
qian.string = Common5.getNumberChangeHanzi(rewardMoney)+''
}
update (dt) {
if(this.isStopAll){
return
}
if(dt > 0.5){
dt = 1/60
}
if(!this.isStopDiCi){
//地刺运动
for(var i=0;i<3;i++){
// Common5.checkIntersectsBox()
if(this.guanZiIsMoveToRigthArr[i]){
this.guanZi_zuoArr[i].x += dt*this.guanZiSpeedArr[i]
this.guanZi_youArr[i].x -= dt*this.guanZiSpeedArr[i]
if(this.guanZi_zuoArr[i].x >= 0){
this.guanZiSpeedArr[i] = Math.floor(Math.random()*400 + 100)
this.guanZiIsMoveToRigthArr[i] = false
}
}else{
this.guanZi_zuoArr[i].x -= dt*this.guanZiSpeedArr[i]
this.guanZi_youArr[i].x += dt*this.guanZiSpeedArr[i]
if(this.guanZi_zuoArr[i].x <= -350){
this.guanZiSpeedArr[i] = Math.floor(Math.random()*400 + 100)
this.guanZiIsMoveToRigthArr[i] = true
}
}
}
}
//车子运动
for(var i=0;i<this.cheZiArr.length;i++){
this.cheZiArr[i].y -= dt*this.cheZiMoveSpeed
//碰撞检测
for(var j=0;j<3;j++){
if(Common5.checkIntersectsBox(this.cheZiArr[i].getChildByName("langArea"),this.guanZi_zuoArr[j].getChildByName("kongLongArea"))){
Common5.playEffect("撞车")
console.log("碰撞了=====")
this.isStopAll = true
this.isNowHongDeng = false
this.closeTouchEvent(this.gameBg)
this.scheduleOnce(()=>{
this.handGameOver()
},0.5)
}
}
if(this.cheZiArr[i].y <= -465){
Common5.playEffectCustom('SaiChe','sound/接到红包')
this.penZiSpine.getComponent(sp.Skeleton).setAnimation(0,'2',false)
this.pengZhuangSpine.active = true
this.pengZhuangSpine.getComponent(sp.Skeleton).setAnimation(0,'pengzhuang',false)
this.cheZiArr[i].removeFromParent()
this.cheZiArr.splice(i,1)
this.passCarNum += 1
let awardNum = 0
for(var j=this.passTab.length-1;j>= 0;j--){
if(this.passCarNum >= this.passTab[j]){
awardNum = j+1
break
}
}
if(this.awardNum != awardNum){
this.awardNum = awardNum
//this.flyXingXingSpine()
//this.flyMoney()
}
this.baoXiangBtn.getChildByName("awardNum").getComponent(cc.Label).string = `x${awardNum}`
this.passNum.getComponent(cc.Label).string = `${this.passCarNum}/${this.targetSum}`
if(this.passCarNum>=this.targetSum){
this.isStopAll = true
this.jieduanIndex = 0
this.isNowHongDeng = false
this.closeTouchEvent(this.gameBg)
this.handGameOver()
return
}
}
}
}
flyMoney(){
let rewardMoney = this.rewardMoney[this.jieduanIndex]
UserManager.addMoney(rewardMoney, this.qipaoNode)
this.jieduanIndex++
this.refreshQipao()
}
flyXingXingSpine(){
this.xingxingSpine.active = true
this.xingxingSpine.setPosition(this.qiPaoBaoXiang.getPosition())
let localPos = this.baoXiangBtn.getPosition()
cc.tween(this.xingxingSpine)
.to(1,{x:localPos.x,y:localPos.y})
.call(()=>{
this.xingxingSpine.active = false
})
.start()
}
initAllGuanZi(){
for(var i=0;i<3;i++){
this.guanZi_zuoArr[i].x = -350
this.guanZi_youArr[i].x = 350
}
}
initAllCheZi(){
for(var i=0;i<this.cheZiArr.length;i++){
this.cheZiArr[i].removeFromParent()
}
this.cheZiArr = []
}
openTouchEvent(node,touchType){
node.on(cc.Node.EventType.TOUCH_START,this.touchStartNode,this)
node.attr({touchType:touchType})
}
closeTouchEvent(node){
node.off(cc.Node.EventType.TOUCH_START,this.touchStartNode,this)
}
touchStartNode(event){
if(event.target.touchType == TouchNodeType.SaiChe){
let cheZi = cc.instantiate(this.cheZiItem)
cheZi.active = true
// let randomNum = Math.floor(Math.random()*5)
// cheZi.getComponent(cc.Sprite).spriteFrame = this.cheZiSpFrameArr[randomNum]
this.gameBg.addChild(cheZi)
this.cheZiArr.push(cheZi)
}
}
onBtnRestartClick(){
this.setGmClbx()
this.passCarNum = 0
this.passNum.getComponent(cc.Label).string = `${this.passCarNum}/${this.targetSum}`
this.openTouchEvent(this.gameBg,TouchNodeType.SaiChe)
// this.openTouchEvent(this.hongLvDeng,TouchNodeType.HongLvDeng)
this.initAllGuanZi()
this.initAllCheZi()
this.isStopAll = false
this.boxNode.active = false
// AppPlatform.startRecord_custom()
// this.freeAdNum = 2
}
onBtnLingQuClick(){
UserManager.addMoney(this.targetAward)
this.boxNode.active = false
this.selectNode.active = true
}
fuhuoClickEvent(){
Common5.playEffect("sound/按键点击")
let tab = {
onClose: (finish)=>{
if (finish) {
Common5.ReportDY("inLevel", '红包活动-AD-复活继续');
this.reportKey(()=>{
GameReport.ADReport('红包活动复活继续',1)
})
//User.setSaiCheFreeNum(User.getSaiCheFreeNum() - 1)
// this.btn_restart.active = false
this.setGmClbx()
this.passNum.getComponent(cc.Label).string = `${this.passCarNum}/${this.targetSum}`
this.openTouchEvent(this.gameBg,TouchNodeType.SaiChe)
this.initAllGuanZi()
this.initAllCheZi()
this.isNowHongDeng = true
this.isStopAll = false
this.boxNode.active = false
// AppPlatform.startRecord_custom()
}
else{
this.reportKey(()=>{
GameReport.ADReport('红包活动复活继续',0)
})
Common5.showTips_custom("广告未观看完");
}
},onFailed:()=>{
}
}
AppPlatform.playVideo_custom(tab)
}
onBtnADClick(){
Common5.playEffect("sound/按键点击")
let tab = {
onClose: (finish)=>{
if (finish) {
Common5.ReportDY("inLevel", '红包-AD-看视频');
// User.setSaiCheFreeNum(3)
this.isNowHongDeng = false
this.reportKey(()=>{
GameReport.ADReport('红包看视频',1)
})
// this.btn_restart.active = true
this.btn_ad.active = false
// this.btn_restart.getChildByName("leftNums").getComponent(cc.Label).string = `开始(3/3)`
// this.freeAdNum -= 1
// if(this.freeAdNum < 0){
// this.freeAdNum = 0
// }
// this.openTouchEvent(this.gameBg,TouchNodeType.SaiChe)
this.initAllGuanZi()
this.initAllCheZi()
// this.isStopAll = false
this.boxNode.active = false
}
else{
this.reportKey(()=>{
GameReport.ADReport('红包看视频',0)
})
Common5.showTips_custom("广告未观看完");
}
},onFailed:()=>{
}
}
AppPlatform.playVideo_custom(tab)
}
handGameOver(){
this.boxNode.active = true
// AppPlatform.stopRecord_custom()
Common5.showInterstitialAd()
if(this.passCarNum >= this.targetSum){
Common5.playEffect("sound/成功")
this.boxNode.getChildByName("failBg").active = false
cc.tween(this.boxNode.getChildByName("successBg"))
.set({scale:0.5,active:true})
.to(0.2,{scale:1.1})
.to(0.15,{scale:1})
.start()
this.passCarNum = 0
this.boxNode.getChildByName("successBg").getChildByName('awardStr').getComponent(cc.Label).string = 'x'+this.targetAward
}else{
Common5.playEffect("sound/失败")
cc.tween(this.boxNode.getChildByName("failBg"))
.set({scale:0.5,active:true})
.to(0.2,{scale:1.1})
.to(0.15,{scale:1})
.start()
this.boxNode.getChildByName("successBg").active = false
}
}
setGmClbx(){
}
shareBtnClickEvent(){
Common5.playEffect("sound/按键点击")
// WXAPI.share_custom((finish)=>{
// }, '','');
// AppPlatform.shareRecord_custom(() => {
// // this.lingquClickEvent()
// }, () => {
// //Common5.showTips_custom("录屏分享失败,请稍后再试!");
// })
}
initHongBaoNode(){
this.selectNode.getChildByName('btn1').getChildByName('str').getComponent(cc.Label).string = `接到${XinNianHongBaoConfig[0].hongBaoNum}个红包`
this.selectNode.getChildByName('btn2').getChildByName('str').getComponent(cc.Label).string = `接到${XinNianHongBaoConfig[1].hongBaoNum}个红包`
this.selectNode.getChildByName('btn3').getChildByName('str').getComponent(cc.Label).string = `接到${XinNianHongBaoConfig[2].hongBaoNum}个红包`
this.selectNode.getChildByName('awardStr1').getComponent(cc.Label).string = `x${Common5.getNumberChangeHanzi(XinNianHongBaoConfig[0].awardNum,'1',1)}`
this.selectNode.getChildByName('awardStr2').getComponent(cc.Label).string = `x${Common5.getNumberChangeHanzi(XinNianHongBaoConfig[1].awardNum,'1',1)}`
this.selectNode.getChildByName('awardStr3').getComponent(cc.Label).string = `x${Common5.getNumberChangeHanzi(XinNianHongBaoConfig[2].awardNum,'1',1)}`
}
selectTypeClick(event,customData){
// AppPlatform.startRecord_custom()
this.targetSum = XinNianHongBaoConfig[customData].hongBaoNum
this.targetAward = XinNianHongBaoConfig[customData].awardNum
this.selectNode.active = false
this.onBtnRestartClick()
}
}