| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509 |
- window.UtilsNode = {
- PrefabsName: [
- "prefab/share",
- "prefab/show",
- "prefab/login",
- "prefab/loading",
- "prefab/stock",
- ],
- sharePrefab: [
- "prefab/share",
- "prefab/sharepublic",
- "prefab/MoneyFlyAfterShare",
- ],
- put: function (e, v) {
- if (window.localStorage) {
- window.localStorage[e] = v;
- }
- },
- get: function (e) {
- if (window.localStorage) {
- let re = "";
- if (window.localStorage[e] == null) {
- return re;
- } else {
- return window.localStorage[e];
- }
- }
- },
- //产生演员
- startActor: function (bgArr) {
- let defXx = 100;
- let defX = defXx;
- let defY = 300;
- let defaddX = 180;
- let defaddY = 180;
- let itemXCount = 4;
- let itemXCount2 = 1;
- //总演员个数
- let itemMaxCount = 101;
- // let itemMaxCount = 17;
- //总个数 是 itemMaxCount + itemYCount 想要的个数+多少行
- let itemYCount = itemMaxCount / itemXCount;
- let postions = [];
- let tempitemXCount = itemXCount;
- let tempxarr = [];
- let bgArrs = [];
- for (let i = 0; i < itemYCount; i++) {
- // if (i%2 == 0) {
- // tempitemXCount = itemXCount;
- // }else{
- // tempitemXCount = itemXCount2;
- // }
- if (tempxarr.length == 0) {
- for (let x = 0; x < tempitemXCount; x++) {
- if (x == 0) {
- defX = defXx
- } else {
- defX += defaddX;
- }
- tempxarr.push(defX);
- let p = {x: tempxarr[x], y: defY};
- postions.push(p);
- }
- let p = {x: tempxarr[tempxarr.length - 1], y: defY += defaddY,q:0};
- postions.push(p);
- bgArrs.push(p);
- } else if (tempxarr.length > 0 && i % 2 != 0) {
- if (postions.length > itemMaxCount) {
- break;
- }
- defY += defaddY;
- // 奇数
- for (let z = tempxarr.length - 1; z >= 0; z--) {
- let p = {x: tempxarr[z], y: defY};
- postions.push(p);
- if (postions.length > itemMaxCount) {
- break;
- }
- }
- if (postions.length > itemMaxCount) {
- break;
- }
- let p = {x: tempxarr[0], y: defY += defaddY,w:0};
- postions.push(p);
- bgArrs.push(p);
- } else if (tempxarr.length > 0 && i % 2 == 0) {
- if (postions.length > itemMaxCount) {
- break;
- }
- defY += defaddY;
- //偶数
- for (let z = 0; z < tempitemXCount; z++) {
- let p = {x: tempxarr[z], y: defY};
- postions.push(p);
- if (postions.length > itemMaxCount) {
- break;
- }
- }
- if (postions.length > itemMaxCount) {
- break;
- }
- let p = {x: tempxarr[tempxarr.length - 1], y: defY += defaddY,q:0};
- postions.push(p);
- bgArrs.push(p);
- }
- }
- // for (let x = 0; x < tempitemXCount; x++) {
- // if (x==0) {
- // defX = defXx
- // }else{
- // defX+=defaddX;
- // }
- //
- //
- // let p = {x:defX,y:defY};
- // postions.push(p);
- // }
- if (bgArr != null) {
- bgArr(bgArrs,postions);
- }
- return postions;
- },
- // ①、// 生成 [n,m),包含n但不包含m的正整数: parseInt(Math.random()*(m-n)+n)
- //
- // ②、// 生成 (n,m],不包含n但包含m的正整数: parseInt(Math.random()*(m-n)+n)+1
- //
- // ③、// 生成 [n,m],包含n和m的随机数: parseInt(Math.random()*(m-n+1)+n)
- //
- // ④、// 生成 (n,m),不包含n和m的正整数: parseInt(Math.random()*(m-n-1)+n+1)
- getRandom: function (type, n, m) {
- let random;
- switch (type) {
- case 0:
- random = parseInt(Math.random() * (m - n) + n);
- break;
- case 1:
- random = parseInt(Math.random() * (m - n) + n) + 1;
- break;
- case 2:
- random = parseInt(Math.random() * (m - n + 1) + n);
- break;
- case 3:
- random = parseInt(Math.random() * (m - n - 1) + n + 1);
- break;
- }
- return random;
- },
- // this.node.setScale(1,-1);
- // this.node.setRotation(180);
- // console.log("我应该脸往左",temp,temp1);
- // this.node.setScale(1,1);
- // this.node.setRotation(0);
- // console.log("我应该脸往右",temp,temp1);
- setMyRotation : function(type,node){
- switch (type) {
- case 0:
- node.setScale(1,-1);
- node.setRotation(180);
- // console.log("我应该脸往左",temp,temp1);
- break;
- case 1:
- node.setScale(1,1);
- node.setRotation(0);
- // console.log("我应该脸往右",temp,temp1);
- break;
- }
- },
- //获取 百分比
- getPercentage: function (n, m) {
- let num = parseInt(n);
- let max = parseInt(m);
- if (isNaN(num) || isNaN(max)) {
- return 0;
- }
- return max <= 0 ? 0 : parseInt((Math.round(num / max * 10000) / 100.00));
- },
- //随机生成演员
- actorBirth: function (parentNode, arrp, actorType, startActor, endActor) {
- let nodearr = [];
- for (var i = 0; i < arrp.length; i++) {
- let mInt = parseInt(Math.random() * (actorType.length - 0));
- let tag = true;
- if (i < 9) {
- switch (i) {
- case 1:
- mInt = 0;
- break;
- case 2:
- mInt = 1;
- break;
- case 3:
- mInt = 1;
- break;
- case 4:
- mInt = 0;
- break;
- case 5:
- mInt = 1;
- break;
- case 6:
- mInt = 0;
- break;
- case 7:
- mInt = 2;
- break;
- case 8:
- mInt = 1;
- break;
- }
- // mInt = 1;
- } else {
- while (tag) {
- //如果当前地板是陷阱 检查上一个是不是陷阱如果是 就再随机一个
- if (i > 0 && actorType[mInt].data.getComponent("actor").type == 2) {
- if (nodearr[i - 1].getComponent("actor").type == 2) {
- mInt = parseInt(Math.random() * (actorType.length - 0));
- } else {
- tag = false;
- }
- // 大于三的时候 如果 没有陷阱 我就创建一个陷阱
- } else if (i > 3 && (actorType[mInt].data.getComponent("actor").type == 1 || actorType[mInt].data.getComponent("actor").type == 0)) {
- let tempi = 0;
- for (var x = 1; x < 4; x++) {
- if (nodearr[i - x].getComponent("actor").type != 2) {
- tempi++;
- }
- }
- if (tempi == 3) {
- mInt = parseInt(Math.random() * (actorType.length - 0));
- } else {
- tag = false;
- }
- } else {
- tag = false;
- }
- }
- }
- let node = cc.instantiate(actorType[mInt]);
- if (i == 0) {
- node = cc.instantiate(startActor);
- } else if (i == arrp.length - 1) {
- node = cc.instantiate(endActor);
- }
- parentNode.addChild(node);
- node.setPosition(arrp[i].x, arrp[i].y);
- nodearr.push(node);
- }
- return nodearr;
- },
- init: function (parentNode) {
- this.parentNode = parentNode;
- return this;
- },
- getPrefabsName: function () {
- return this.prefabsName;
- },
- addPrefabs: function (prefabsName, parentNode, callback) {
- cc.loader.loadRes(prefabsName, function (err, texture) {
- var node = this.parentNode;
- if (parentNode != null) {
- node = parentNode;
- }
- var prefab = cc.instantiate(texture);
- // this.prefabsName = prefab.name;
- this.removePrefabs(node, prefab.name);
- if (node != null) {
- node.addChild(prefab);
- } else {
- return;
- }
- // this.dialogLuckView.active = false;
- // this.GivePrize = this.getNode("GivePrize",this.showDialogs);
- // //转
- // this.Sunshine = this.getNode("Sunshine",this.GivePrize);
- // //物品
- // this.Rewards = this.getNode("Rewards",this.GivePrize);
- // //关闭按钮
- // this.close = this.getNode("close",this.showDialogs);
- if (callback != null) {
- callback(prefab);
- }
- }.bind(this));
- },
- addPrefabsName: function (prefabsName, parentNode, name, callback) {
- cc.loader.loadRes(prefabsName, function (err, texture) {
- var node = this.parentNode;
- if (parentNode != null) {
- node = parentNode;
- }
- var prefab = cc.instantiate(texture);
- let prefabsName = "";
- if (name != null) {
- prefabsName = name;
- } else {
- prefabsName = prefab.name;
- }
- // this.prefabsName = prefab.name;
- // this.removePrefabs(node,prefabsName);
- if (node != null) {
- node.addChild(prefab);
- } else {
- return;
- }
- // this.dialogLuckView.active = false;
- // this.GivePrize = this.getNode("GivePrize",this.showDialogs);
- // //转
- // this.Sunshine = this.getNode("Sunshine",this.GivePrize);
- // //物品
- // this.Rewards = this.getNode("Rewards",this.GivePrize);
- // //关闭按钮
- // this.close = this.getNode("close",this.showDialogs);
- if (callback != null) {
- callback(prefab);
- }
- }.bind(this));
- },
- removePrefabs: function (parentNode, prefabsName, success, fail) {
- var node = this.parentNode;
- if (parentNode != null) {
- node = parentNode;
- }
- if (node != null) {
- if (node.getChildByName(prefabsName) != null) {
- node.getChildByName(prefabsName).off(cc.Node.EventType.TOUCH_END);
- node.getChildByName(prefabsName).destroy();
- if (success != null) {
- success();
- }
- } else {
- if (fail != null) {
- fail();
- }
- }
- }
- },
- setOff: function (node) {
- node.off(cc.Node.EventType.TOUCH_END);
- },
- setOn: function (node, callback) {
- if (node != null) {
- node.on(cc.Node.EventType.TOUCH_END, callback);
- } else {
- console.log("当前被放进来的node节点没有可以点击的名字 请关注此段警告");
- }
- return this;
- },
- getNode: function (name, parent) {
- if (parent == null) {
- if (this.parentNode.getChildByName(name) == null) {
- // console.log("在",this.parentNode,"没有找到名字为"+name+"的node");
- }
- return this.parentNode.getChildByName(name);
- } else {
- if (parent.getChildByName(name) == null) {
- // console.log("在",parent,"没有找到名字为"+name+"的node");
- }
- return parent.getChildByName(name);
- }
- },
- //开始分享
- /**
- UtilsPrefabs.startSharePrefab(function () {
- this.Building_t();
- }.bind(this),function () {
- this.Building_t();
- }.bind(this));
- * @param Success
- * @param fail
- */
- startSharePrefab: function (Success, fail, callbackNode) {
- var Canvas = cc.find("Canvas/UICamera");
- UtilsPrefabs
- .init(Canvas)
- .addPrefabs(UtilsPrefabs.sharePrefab[1], null, function (node) {
- if (callbackNode != null) {
- callbackNode(node);
- }
- // node.y = -200;
- // node.x = -20;
- var gosharebtn = UtilsPrefabs.getNode("gosharebtn", node);
- var img1 = UtilsPrefabs.getNode("img1", node);
- var NewLabel1 = UtilsPrefabs.getNode("New Label", img1);
- var img2 = UtilsPrefabs.getNode("img2", node);
- var NewLabel2 = UtilsPrefabs.getNode("New Label", img2);
- // NewLabel1.getComponent(cc.Label).string = 'x'+GlobalD.GameData.publicGive[0];
- // NewLabel2.getComponent(cc.Label).string = 'x'+GlobalD.GameData.publicGive[1];
- var close = UtilsPrefabs.getNode("close", node);
- UtilsPrefabs.setOn(close, function () {
- UtilsPrefabs.removePrefabs(Canvas, node.name);
- // if (task.taskCursor == 4) {
- // task.addTaskCount();
- // task.removeTaskNodes();
- // }
- if (fail != null) {
- fail();
- }
- }.bind(this));
- UtilsPrefabs.setOn(gosharebtn, function () {
- // console.log("点击分享按钮");
- UtilsWX.sharebtn(function () {
- UtilsPrefabs.setOff(gosharebtn);
- GlobalD.GameData.PlusGolden(GlobalD.GameData.publicGive[0]);
- GlobalD.GameData.PlusDiamond(GlobalD.GameData.publicGive[1]);
- UtilsPrefabs
- .init(Canvas)
- .addPrefabs(UtilsPrefabs.sharePrefab[2], null, function (node) {
- // cc.log(node.name+"***********000");
- node.zIndex = 10000;
- var MoneyFlyAnim = node.getChildByName('MoneyAnim').getComponent(cc.Animation);
- MoneyFlyAnim.RemoveNode = function () {
- node.destroy();
- // cc.log('111111111',node);
- }
- });
- if (Success != null) {
- Success();
- }
- }.bind(this));
- UtilsPrefabs.removePrefabs(Canvas, node.name);
- // if (task.taskCursor == 4) {
- // task.addTaskCount();
- // task.removeTaskNodes();
- // }
- }.bind(this))
- }.bind(this));
- },
- loadResSpriteFrame: function (src, callback) {
- cc.loader.loadRes(src, cc.SpriteFrame, function (err, texture) {
- if (callback != null) {
- callback(texture);
- }
- }.bind(this));
- },
- }
|