This commit is contained in:
tothvillar
2026-07-09 15:04:14 +08:00
commit e896e2ead4
1180 changed files with 115132 additions and 0 deletions
+181
View File
@@ -0,0 +1,181 @@
cc.Class({
extends: cc.Component,
properties: {
moveSpeed: 100,
gameList: {
default: null,
type: cc.Node,
displayName: "游戏"
},
nameBj: {
default: [],
type: cc.SpriteFrame,
displayName: "游戏名字背景"
},
isHorizontal: false
},
onLoad: function () {
this.contentNode = this.gameList.getChildByName("contentNode");
this.contentNode.on(cc.Node.EventType.TOUCH_START, this.onTouchStart, this);
this.contentNode.on(cc.Node.EventType.TOUCH_MOVE, this.onTouchMove, this);
this.contentNode.on(cc.Node.EventType.TOUCH_CANCEL, this.onTouchEnd, this);
this.contentNode.on(cc.Node.EventType.TOUCH_END, this.onTouchEnd, this);
this.node.getComponent(cc.Widget) && this.node.getComponent(cc.Widget).updateAlignment();
this.gameList || (this.gameList = this.node);
this.gameNameBjIndex = 0;
this.moveSpeed = 80;
this.isGoUp = true;
this.isMayMove = true;
this.showID = 0;
this.changeTime = 0;
if (window.swan && window.GameConfig.iconList && window.GameConfig.packageList) {
if (window.GameConfig.packageList.length <= 0 || window.GameConfig.packageList.length <= 0) {
this.node.active = false;
} else {
this.showIcon();
}
} else {
this.node.active = false;
}
},
start: function () {},
showIcon: function () {
for (var e = 0; e < window.GameConfig.iconList.length; e++) {
var o = this.gameList.getChildByName("contentNode").children[e];
console.log();
o || ((o = cc.instantiate(this.gameList.getChildByName("contentNode").children[0])).parent = this.gameList.getChildByName("contentNode"));
o.showID = e;
var t = o.getChildByName("icon");
window.swan && t.getComponent("ShowImgScript").onShowImg_server(window.GameConfig.iconList[e]);
}
this.gameList.getChildByName("contentNode").getComponent(cc.Layout).updateLayout();
this.maxX = 0;
this.minX = -1 * (this.contentNode.width - this.gameList.width);
this.maxY = this.contentNode.height - this.gameList.height;
this.minY = 0;
},
touchIconCallBack: function (e) {
var o = parseInt(e.target.showID);
if (console.log("showID=", o), window.tt) {
"ios" === window.tt.getSystemInfoSync().platform && window.tt.showToast({
title: " iOS不支持此功能"
});
window.tt.showMoreGamesModal({
appLaunchOptions: [{
appId: "",
query: "foo=bar&baz=qux",
extraData: {}
}],
success: function (e) {},
fail: function (e) {}
});
} else if (window.qg) {
window.qg.navigateToMiniGame({
pkgName: window.GameConfig.packageList[o],
path: "?page=pageB",
extraData: {
from: "脑洞侦探"
},
success: function () {},
fail: function (e) {
console.log(JSON.stringify(e));
}
});
} else {
window.swan && window.swan.navigateToMiniProgram({
appKey: window.GameConfig.packageList[o],
path: "/path/page/0",
extraData: {
from: "脑洞侦探"
},
success: function () {},
fail: function (e) {
console.log(JSON.stringify(e));
}
});
}
},
onJumpToOtherGame: function (e) {
e || (e = 0);
window.swan && window.swan.navigateToMiniProgram({
appKey: window.GameConfig.packageList[e],
path: "/path/page/0",
extraData: {
from: "抢滩夺岛战"
},
success: function () {},
fail: function (e) {
console.log(JSON.stringify(e));
}
});
},
onButtonClick: function (e) {
switch (e.target.name) {
case "btn_close":
this.node.removeFromParent();
}
},
onTouchStart: function (e) {
this.isMayMove = false;
this.firstTouchPoint = this.contentNode.convertToNodeSpaceAR(e.getLocation());
},
onTouchMove: function (e) {
if (1 != this.isMayMove) {
var o = e.getDelta().x;
var t = e.getDelta().y;
if (1 == this.isHorizontal) {
this.contentNode.x += o;
this.contentNode.x <= this.minX && (this.contentNode.x = this.minX);
this.contentNode.x >= this.maxX && (this.contentNode.x = this.maxX);
} else {
this.contentNode.y += t;
this.contentNode.y <= this.minY && (this.contentNode.y = this.minY);
this.contentNode.y >= this.maxY && (this.contentNode.y = this.maxY);
}
}
},
onTouchEnd: function (e) {
if (!this.isMayMove) {
this.isMayMove = true;
var o = this.contentNode.convertToNodeSpaceAR(e.getLocation());
if (this.firstTouchPoint.sub(o).mag() < 10) {
var t = this.contentNode.children;
for (var i = 0; i < t.length; i++) {
var n = t[i];
if (n.getBoundingBox().contains(o)) {
var a = n.showID;
this.onJumpToOtherGame(a);
break;
}
}
}
}
},
update: function (e) {
if (this.isMayMove) {
if (1 == this.isHorizontal) {
if (1 == this.isGoUp) {
this.contentNode.x += this.moveSpeed * e;
if (this.contentNode.x >= this.maxX) {
this.contentNode.x = this.maxX, this.isGoUp = false;
}
} else {
this.contentNode.x -= this.moveSpeed * e;
if (this.contentNode.x <= this.minX) {
this.contentNode.x = this.minX, this.isGoUp = true;
}
}
} else if (1 == this.isGoUp) {
this.contentNode.y += this.moveSpeed * e;
if (this.contentNode.y >= this.maxY) {
this.contentNode.y = this.maxY, this.isGoUp = false;
}
} else {
this.contentNode.y -= this.moveSpeed * e;
if (this.contentNode.y <= this.minY) {
this.contentNode.y = this.minY, this.isGoUp = true;
}
}
}
}
});