| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- // Learn cc.Class:
- // - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/class.html
- // - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/class.html
- // Learn Attribute:
- // - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
- // - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/reference/attributes.html
- // Learn life-cycle callbacks:
- // - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
- // - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/life-cycle-callbacks.html
- cc.Class({
- extends: cc.Component,
- properties: {
- info : {
- default: null,
- type: cc.Prefab
- },
- player: {
- default: null,
- type: cc.Prefab
- },
- playerAi: {
- default: null,
- type: cc.Prefab
- },
- actor1: {
- default: null,
- type: cc.Prefab
- },
- actor2: {
- default: null,
- type: cc.Prefab
- },
- actor3: {
- default: null,
- type: cc.Prefab
- },
- actor4: {
- default: null,
- type: cc.Prefab
- },
- bgs1: {
- default: null,
- type: cc.Prefab
- },
- bgs2: {
- default: null,
- type: cc.Prefab
- },
- bgs3: {
- default: null,
- type: cc.Prefab
- },
- bgsend: {
- default: null,
- type: cc.Prefab
- },
- killItem : {
- default: null,
- type: cc.Prefab
- }
- },
- // LIFE-CYCLE CALLBACKS:
- // onLoad () {},
- start() {
- this._init();
- },
- onLoad () {
- app.bg = this;
- //镜头最开始的位置保存 每次游戏开始的时候使用
- this.camerainitP = {x: app.camera.x, y: app.camera.y};
- let bgss = this.bgss = [];
- bgss.push(this.bgs1);
- bgss.push(this.bgs2);
- bgss.push(this.bgs3);
- // bgss.push(this.bgs4);
- },
- _init: function () {
- app.camera.x = this.camerainitP.x;
- app.camera.y = this.camerainitP.y;
- for (var i = 0; i < this.node.children.length; i++) {
- this.node.children[i].destroy();
- }
- let actorps =this.actorps= UtilsNode.startActor(function (bgArr,postions) {
- console.log("背景数组", bgArr);
- this.bgArr = bgArr;
- this.initBg(postions);
- }.bind(this));
- this.actors = [];
- this.actors.push(this.actor1);
- this.actors.push(this.actor2);
- this.actors.push(this.actor3);
- this.actorsNode = UtilsNode.actorBirth(this.node, actorps, this.actors, this.actors[0], this
- .actor4);
- console.log("要创建东西的位置", actorps);
- this.addInfo(actorps);
- let node = this.playerNode = cc.instantiate(this.player);
- this.node.addChild(node);
- node.zIndex = 9999999;
- this.playerNode.getComponent("player").setMap(this.actorsNode,0);
- this._initAi();
- this.callback();
- this.playerNode.getComponent("player").startGame(false);
- this.playerNodeAi.getComponent("player").startGame(false);
- if (app.readGo != null) {
- app.readGo.readgo(function () {
- this.playerNode.getComponent("player").startGame(true);
- this.playerNodeAi.getComponent("player").startGame(true);
- }.bind(this));
- }
- },
- // 初始化ai
- _initAi : function(){
- let nodeAi = this.playerNodeAi = cc.instantiate(this.playerAi);
- this.node.addChild(nodeAi);
- this.playerNodeAi.getComponent("player").setMap(this.actorsNode,1);
- this.unschedule(this.callbacks);
- this.callbacks = function () {
- // if (this.car.x<-165) {
- // // 在第六次执行回调时取消这个计时器
- // this.unschedule(this.callback);
- // }
- // let x = UtilsNode.getRandom(2,0,1);
- //
- // if (x == 0) {
- // this.playerNodeAi.getComponent("player").addOne();
- // }else if (x == 1) {
- // this.playerNodeAi.getComponent("player").addTwo();
- // }
- this.playerNodeAi.getComponent("player").addAuto();
- }
- this.schedule(this.callbacks, 0.8);
- },
- //两步提示
- addInfo: function (actorps) {
- this.info = cc.instantiate(this.info);
- this.info.active = true;
- this.node.addChild(this.info);
- this.info.zIndex = 999999;
- // console.log("提示在node 里面有没有",this.node.children);
- this.info.setPosition(actorps[7].x, actorps[7].y+100);
- let sequence = cc.sequence(cc.moveTo(0.2, cc.v2(actorps[7].x-20,actorps[7].y+100)),cc.moveTo(0.2, cc.v2(actorps[7].x+20,actorps[7].y+100)));
- // let sequence = cc.moveTo(1, cc.v2(actorps[6].x-10,actorps[6].y));
- var myAction = cc.repeatForever(sequence);
- this.info.runAction(myAction)
- },
- initBg: function (postions) {
- //创建 荷花啥的
- for (var i = 0; i < this.bgArr.length; i++) {
- if (i % 2 == 0) {
- //偶数
- let node = this.addRandomBG()
- node.setPosition(this.bgArr[i].x - 350, this.bgArr[i].y);
- UtilsNode.setMyRotation(1,node);
- // this.addRandomBG().setPosition(this.bgArr[i].x - 350, this.bgArr[i].y);
- // this.addRandomBG().setPosition(this.bgArr[i].x - 500, this.bgArr[i].y);
- } else {
- //奇数
- let node = this.addRandomBG()
- node.setPosition(this.bgArr[i].x + 350, this.bgArr[i].y);
- UtilsNode.setMyRotation(0,node);
- // this.addRandomBG().setPosition(this.bgArr[i].x + 350, this.bgArr[i].y);
- // this.addRandomBG().setPosition(this.bgArr[i].x + 500, this.bgArr[i].y);
- }
- }
- // this.addBG(2).setPosition(postions[postions.length-1].x - 200, postions[postions.length-1].y+200);
- // this.addBG(2).setPosition(postions[postions.length-1].x + 200, postions[postions.length-1].y+250);
- //
- // this.addBG(2).setPosition(postions[postions.length-1].x - 220, postions[postions.length-1].y+400);
- // this.addBG(2).setPosition(postions[postions.length-1].x + 180, postions[postions.length-1].y+450);
- //
- // this.addBG(2).setPosition(postions[postions.length-1].x - 300, postions[postions.length-1].y+500);
- // this.addBG(2).setPosition(postions[postions.length-1].x - 150, postions[postions.length-1].y+600);
- // // this.addBG(2).setPosition(postions[postions.length-1].x + 200, postions[postions.length-1].y+600);
- //
- // this.add1BG(6).setPosition(postions[postions.length-1].x+200, postions[postions.length-1].y+600);
- let bgsend = cc.instantiate(this.bgsend);
- bgsend.setPosition(postions[postions.length-1].x+200, postions[postions.length-1].y+500);
- this.node.addChild(bgsend);
- },
- addRandomBG : function(Scale){
- let index = UtilsNode.getRandom(0, 0, this.bgss.length);
- let node = this.playerNode = cc.instantiate(this.bgss[index]);
- if (Scale!=null) {
- node.setScale(Scale);
- }else{
- node.setScale(1);
- }
- this.node.addChild(node);
- return node;
- },
- add1BG : function(Scale){
- let node = this.playerNode = cc.instantiate(this.bgss[1]);
- node.setScale(6);
- this.node.addChild(node);
- return node;
- },
- addBG : function(Scale){
- let index = UtilsNode.getRandom(2, 1, 2);
- let node = this.playerNode = cc.instantiate(this.bgss[index]);
- if (Scale!=null) {
- node.setScale(Scale);
- }else{
- node.setScale(1);
- }
- this.node.addChild(node);
- return node;
- },
- callback: function () {
- this.playerNode.getComponent("player").setCallBackGameOver(function () {
- console.log("游戏结束了");
- app.titlelayout.hideButton(true);
- this.playerNodeAi.getComponent("player").winOrLose(false);
- app.bgm.playimwin();
- // app.bgm.stop();
- }.bind(this));
- this.playerNode.getComponent("player").setCallBackTrap(function () {
- // console.log("掉陷阱");
- app.bgm.playluoshui();
- app.bgm.playa();
- }.bind(this));
- this.playerNode.getComponent("player").setCallBackMove(function (index) {
- this.playerIndex = index;
- this.isDisparity();
- console.log("移动了了吗",index);
- app.titlelayout.setProgress(0,index,this.actorps.length-1);
- }.bind(this));
- this.playerNode.getComponent("player").setCallBackInfo(function () {
- console.log("info消失");
- this.info.active = false;
- }.bind(this));
- this.playerNode.getComponent("player").setCallBackJump(function (p) {
- // let node = cc.instantiate(this.killItem);
- // let node = UtilsNode.getNode("qi",this.playerNode);
- // node.getComponent("kill").setActive(true);
- // this.playerNode.getComponent("player").showsSmoke(true);
- // node.setPosition(p.x, p.y);
- }.bind(this));
- this.playerNode.getComponent("player").setCallBackCameraMove(function (node) {
- //镜头移动
- if (node.y>500) {
- if (node.y-500 > app.camera.y) {
- var myAction =cc.moveTo(0.2, cc.v2(app.camera.x,node.y-500))
- app.camera.runAction(myAction);
- }
- }
- }.bind(this));
- this.playerNodeAi.getComponent("player").setCallBackGameOver(function () {
- console.log("游戏结束了");
- app.titlelayout.hideButton(true);
- this.playerNode.getComponent("player").winOrLose(false);
- // app.bgm.playkuaidaozhongdian();
- app.bgm.playzhecibusuan();
- }.bind(this));
- this.playerNodeAi.getComponent("player").setCallBackTrap(function () {
- // console.log("掉陷阱");
- app.bgm.playluoshui();
- app.bgm.playa();
- }.bind(this));
- this.playerNodeAi.getComponent("player").setCallBackMove(function (index) {
- this.playerNodeAiIndex = index;
- app.titlelayout.setProgress(1,index,this.actorps.length-1);
- // console.log("移动了",index);
- this.isDisparity();
- }.bind(this));
- this.playerNodeAi.getComponent("player").setCallBackInfo(function () {
- // console.log("info消失");
- // this.info.active = false;
- }.bind(this));
- this.playerNodeAi.getComponent("player").setCallBackJump(function (p) {
- // let node = cc.instantiate(this.killItem);
- // let node = UtilsNode.getNode("qi",this.playerNodeAi);
- // //落地灰尘显示
- // node.getComponent("kill").setActive(true);
- // this.playerNodeAi.getComponent("player").showsSmoke(true);
- // node.setPosition(p.x, p.y);
- }.bind(this));
- //初始化相差步数
- this.playerNodeAiIndex = 0;
- this.playerIndex = 0;
- //如有对象 就默认隐藏
- if (app.titlelayout != null) {
- app.titlelayout._init();
- }
- },
- isDisparity : function(){
- // console.log("info消失");
- let index = 0;
- if (this.playerNodeAiIndex-this.playerIndex>0) {
- index =this.playerNodeAiIndex-this.playerIndex;
- this.showDisparity(1,index);
- }else if (this.playerIndex-this.playerNodeAiIndex>0) {
- index =this.playerIndex-this.playerNodeAiIndex;
- this.showDisparity(0,index);
- }
- },
- showDisparity : function(type , index){
- if (index>10) {
- app.titlelayout.showinfo(true,type,index);
- }else{
- app.titlelayout.showinfo(false,type,index);
- }
- // switch (type) {
- // case 0:
- // console.log("你领先",index);
- //
- // break;
- // case 1:
- // console.log("你落后",index);
- // break;
- // }
- },
- one: function () {
- this.playerNode.getComponent("player").addOne();
- },
- two: function () {
- this.playerNode.getComponent("player").addTwo();
- },
- reset: function () {
- this._init();
- }
- // update (dt) {},
- });
|