// Learn cc.Class: // - https://docs.cocos.com/creator/manual/en/scripting/class.html // Learn Attribute: // - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html // Learn life-cycle callbacks: // - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html cc.Class({ extends: cc.Component, properties: { Car_Parking_area:cc.Node, Car_Price:cc.Label, Car_Park: { default: null, type: cc.Prefab, }, Cars_Run_detail: cc.Prefab, Cars_Run_Area: cc.Node, toast:cc.Label }, // LIFE-CYCLE CALLBACKS: onLoad() { this.Cars_Run_Area = cc.find("Canvas/Main/role/Run_cars"); this.node.on('click', this.addcar, this); this.updateAddCarButton(); }, // start () { // }, addcar() { if (!Global.endinit) { Global.toast("请等待汽车加载完成!") return; } if (this.Car_Parking_area.childrenCount < 15) { this.consume(); }else{ //toast提示空余车位不足 Global.toast('车位不足'); // console.log('车位不足') } }, consume() { let yuer = Number(Storage.Get_storage(Storage.GameMessageType.coin)) - Number(this.Car_Price.string); if (yuer >= 0) { Storage.Set_storage(Storage.GameMessageType.coin, yuer); this.AddCarToPark(); } else { Global.toast('余额不足'); Dialog.Init(); // console.log('余额不足') } }, AddCarToPark() { let add_level = Storage.Get_storage(Storage.GameMessageType.buy_car_level); if (add_level == 0) add_level = 1; let node = cc.instantiate(this.Car_Park); node.getChildByName("car_parking_pic").getChildByName("number").getComponent(cc.Label).string = add_level; let pic_url = Global.Cars[add_level].car_park_pic cc.resources.load(pic_url, cc.SpriteFrame, function (err, spriteFrame) { node.getChildByName("car_parking_pic").getComponent(cc.Sprite).spriteFrame = spriteFrame; }); node.parent = this.Car_Parking_area; this.updateCarPrice(Number(this.Car_Price.string)); this.AddCarToRun(node,add_level); this.updateAddCarButton(); MyAudio.PlayEffect_initcar(); }, updateCarPrice(num) { let num_next = Math.trunc(num + 10); this.Car_Price.string = num_next; Storage.Set_storage(Storage.GameMessageType.buy_coin, num_next); }, AddCarToRun(node,add_level) { var car_run_node = cc.instantiate(this.Cars_Run_detail); node.getComponent("CarBindRunAndPark").Bind(car_run_node); let pic_url = Global.Cars[add_level].car_run_pic cc.resources.load(pic_url, cc.SpriteFrame, function (err, spriteFrame) { car_run_node.getComponent(cc.Sprite).spriteFrame = spriteFrame; }); car_run_node.getChildByName("number_pic").getChildByName("level_number").getComponent(cc.Label).string = add_level; car_run_node.parent = this.Cars_Run_Area; cc.find("Canvas/Main/role/Stop_cars/car_park").getComponent("CarManager").AfterCarAddOrMerge(); //判断是否破纪录 if (Global.MaxCarLevel == 0 ) Global.MaxCarLevel = 1; }, updateAddCarButton() { let add_level = Storage.Get_storage(Storage.GameMessageType.buy_car_level); if (add_level == 0) add_level = 1; let pic_url = Global.Cars[add_level].car_park_pic; var self = this; cc.resources.load(pic_url, cc.SpriteFrame, function (err, spriteFrame) { self.node.getChildByName('car_park').getComponent(cc.Sprite).spriteFrame = spriteFrame; }); self.node.getChildByName('car_park').getChildByName('level').getComponent(cc.Label).string = add_level; if (Storage.Get_storage(Storage.GameMessageType.buy_coin) == 0) { self.node.getChildByName('Add').getChildByName('price').getComponent(cc.Label).string = 100; } else { self.node.getChildByName('Add').getChildByName('price').getComponent(cc.Label).string = Storage.Get_storage(Storage.GameMessageType.buy_coin); } // this.UpdateLowLevelCar(add_level); }, //如果当前有低于新增按钮级别的车,免费帮忙升级 UpdateLowLevelCar(level) { let nodelist = this.Car_Parking_area.children; // let node_need_update = 0; // var self = this; for (let i in nodelist) { let level_node = nodelist[i].getChildByName('car_parking_pic').getChildByName('number').getComponent(cc.Label).string; if (Number(level_node) < level) { //更新停車pic nodelist[i].getChildByName('car_parking_pic').getChildByName('number').getComponent(cc.Label).string = level; cc.resources.load(Global.Cars[level].car_park_pic, cc.SpriteFrame, function (err, spriteFrame) { nodelist[i].getChildByName('car_parking_pic').getComponent(cc.Sprite).spriteFrame = spriteFrame; //更新每秒收益值 cc.find("Canvas/Main/role/Stop_cars/car_park").getComponent("CarManager").AfterCarAddOrMerge(); let toast_label = cc.find('Toast').getComponent(cc.Label); if(cc.sys.language != cc.sys.LANGUAGE_CHINESE){ toast_label.string = "Level " +level_node+ " car free upgrade to level " + level; } else { toast_label.string = "免费将" + level_node + "级车升级为" + level + "级车!"; } setTimeout(function () { toast_label.string = ''; },1000) // Global.toast("免费将" +level_node+ "级车升级为" + level + "级车!"); }); //更新跑动的pic和level let runcar = nodelist[i].getComponent("CarBindRunAndPark").Bind_Car_Run; if (runcar != null) { runcar.getChildByName('number_pic').getChildByName('level_number').getComponent(cc.Label).string = level; cc.resources.load(Global.Cars[level].car_run_pic, cc.SpriteFrame, function (err, spriteFrame) { runcar.getComponent(cc.Sprite).spriteFrame = spriteFrame; }); } } } } });