Commit b4122601 authored by Master Q's avatar Master Q

就这样吧

parent 90ced5ad
......@@ -6,9 +6,9 @@
"@babel/preset-typescript"
],
"plugins": [
["@babel/plugin-transform-runtime", {
// "corejs": 3
}],
// ["@babel/plugin-transform-runtime", {
// // "corejs": 3
// }],
["@babel/plugin-proposal-decorators", { "legacy": true }],
"@babel/plugin-proposal-optional-chaining",
"./babel-plugins/babel-plugins-test.js"
......
......@@ -52,6 +52,15 @@
<!-- 这里的 bundle 就是 webpack 临时打包出来 -->
<script src="output.js"></script>
<script type="module">
const app = {
checkMember: () => {
return false;
}
};
function getApp() {
return app;
}
window.addEventListener("load", function () {
const canvas = document.getElementById('stage')
canvas.width = document.body.clientWidth * (window.devicePixelRatio || 1)
......
......@@ -6027,6 +6027,7 @@ export class Container extends DisplayObject {
isInDisplay: any;
sw: number;
sh: number;
_index: number;
constructor();
/**
* children改变时触发,暂时没地方用到,考虑废弃
......
{"v":"5.6.10","fr":30,"ip":0,"op":30,"w":236,"h":292,"nm":"跳跃氛围","ddd":0,"assets":[{"id":"image_0","w":26,"h":26,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_1","w":19,"h":19,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_2","w":19,"h":18,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_3","w":25,"h":25,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_4","w":25,"h":25,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_5","w":323,"h":323,"u":"","p":"data:image/png;base64,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","e":1},{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":2,"nm":"多边形 1 拷贝 4","refId":"image_0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":3,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":11.534,"s":[100]},{"t":19,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[151,52,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.534,"s":[165.933,57.333,0],"to":[0,0,0],"ti":[0,0,0]},{"t":19,"s":[179,62,0]}],"ix":2},"a":{"a":0,"k":[13,13,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":3,"s":[0,0,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":11.534,"s":[100,100,100]},{"t":19,"s":[100,100,100]}],"ix":6}},"ao":0,"ip":0,"op":960,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":2,"nm":"多边形 1 拷贝 3","refId":"image_1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":1,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":9,"s":[100]},{"t":16,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[91.5,59.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[76.567,66.967,0],"to":[0,0,0],"ti":[0,0,0]},{"t":16,"s":[63.5,73.5,0]}],"ix":2},"a":{"a":0,"k":[9.5,9.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":1,"s":[0,0,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9,"s":[100,100,100]},{"t":16,"s":[100,100,100]}],"ix":6}},"ao":0,"ip":0,"op":960,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":2,"nm":"多边形 1 拷贝","refId":"image_2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":13.067,"s":[100]},{"t":21,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[68.5,45,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.067,"s":[34.9,39.133,0],"to":[0,0,0],"ti":[0,0,0]},{"t":21,"s":[5.5,34,0]}],"ix":2},"a":{"a":0,"k":[9.5,9,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":4,"s":[0,0,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":13.067,"s":[100,100,100]},{"t":21,"s":[100,100,100]}],"ix":6}},"ao":0,"ip":0,"op":960,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":2,"nm":"多边形 1 拷贝 2","refId":"image_3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":8,"s":[100]},{"t":15,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[81.5,29.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[64.434,19.367,0],"to":[0,0,0],"ti":[0,0,0]},{"t":15,"s":[49.5,10.5,0]}],"ix":2},"a":{"a":0,"k":[12.5,12.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[0,0,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":8,"s":[100,100,100]},{"t":15,"s":[100,100,100]}],"ix":6}},"ao":0,"ip":0,"op":960,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":2,"nm":"多边形 1","refId":"image_4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":8,"s":[100]},{"t":15,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[159.5,24.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[196.3,23.967,0],"to":[0,0,0],"ti":[0,0,0]},{"t":15,"s":[228.5,23.5,0]}],"ix":2},"a":{"a":0,"k":[12.5,12.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[0,0,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":8,"s":[100,100,100]},{"t":15,"s":[100,100,100]}],"ix":6}},"ao":0,"ip":0,"op":960,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"选中光效","refId":"comp_2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":7,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":22,"s":[100]},{"t":30,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[110,57,0],"ix":2},"a":{"a":0,"k":[168,102,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[38,38,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":18,"s":[71,71,100]},{"t":30,"s":[71,71,100]}],"ix":6}},"ao":0,"w":336,"h":204,"ip":0,"op":240,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"首次进入开按钮","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[167,100,0],"ix":2},"a":{"a":0,"k":[214,224,0],"ix":1},"s":{"a":0,"k":[78,38.08,100],"ix":6}},"ao":0,"w":431,"h":462,"ip":0,"op":244,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":2,"nm":"光 3","refId":"image_5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":16,"s":[0]},{"t":17,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[214.5,220.567,0],"ix":2},"a":{"a":0,"k":[161.5,161.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[129.933,129.933,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":16,"s":[159,159,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":17,"s":[51.817,51.817,100]},{"t":59,"s":[128.117,128.117,100]}],"ix":6}},"ao":0,"ip":-44,"op":1546,"st":-44,"bm":0},{"ddd":0,"ind":2,"ty":2,"nm":"光 2","refId":"image_5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":22,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":38,"s":[0]},{"t":39,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[214.5,220.567,0],"ix":2},"a":{"a":0,"k":[161.5,161.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[89.967,89.967,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":38,"s":[159,159,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":39,"s":[51.817,51.817,100]},{"t":59,"s":[88.15,88.15,100]}],"ix":6}},"ao":0,"ip":-22,"op":1568,"st":-22,"bm":0},{"ddd":0,"ind":3,"ty":2,"nm":"光","refId":"image_5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":44,"s":[100]},{"t":59,"s":[6.25]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[214.5,220.567,0],"ix":2},"a":{"a":0,"k":[161.5,161.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[0,0,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":58,"s":[155.367,155.367,100]},{"t":59,"s":[157.183,157.183,100]}],"ix":6}},"ao":0,"ip":0,"op":1590,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":2,"ty":0,"nm":"分数效果输出","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[118,146,0],"ix":2},"a":{"a":0,"k":[118,146,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":236,"h":81,"ip":0,"op":960,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"跳跃完美成功效果输出","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[118,146,0],"ix":2},"a":{"a":0,"k":[103,-31,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":220,"h":115,"ip":0,"op":240,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
{"v":"5.6.10","fr":30,"ip":0,"op":30,"w":220,"h":115,"nm":"跳跃完美成功效果输出","ddd":0,"assets":[{"id":"image_0","w":323,"h":323,"u":"","p":"data:image/png;base64,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","e":1},{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"首次进入开按钮","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[167,100,0],"ix":2},"a":{"a":0,"k":[214,224,0],"ix":1},"s":{"a":0,"k":[78,38.08,100],"ix":6}},"ao":0,"w":431,"h":462,"ip":0,"op":244,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":2,"nm":"光 3","refId":"image_0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":16,"s":[0]},{"t":17,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[214.5,220.567,0],"ix":2},"a":{"a":0,"k":[161.5,161.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[129.933,129.933,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":16,"s":[159,159,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":17,"s":[51.817,51.817,100]},{"t":59,"s":[128.117,128.117,100]}],"ix":6}},"ao":0,"ip":-44,"op":1546,"st":-44,"bm":0},{"ddd":0,"ind":2,"ty":2,"nm":"光 2","refId":"image_0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":22,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":38,"s":[0]},{"t":39,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[214.5,220.567,0],"ix":2},"a":{"a":0,"k":[161.5,161.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[89.967,89.967,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":38,"s":[159,159,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":39,"s":[51.817,51.817,100]},{"t":59,"s":[88.15,88.15,100]}],"ix":6}},"ao":0,"ip":-22,"op":1568,"st":-22,"bm":0},{"ddd":0,"ind":3,"ty":2,"nm":"光","refId":"image_0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":44,"s":[100]},{"t":59,"s":[6.25]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[214.5,220.567,0],"ix":2},"a":{"a":0,"k":[161.5,161.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[0,0,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":58,"s":[155.367,155.367,100]},{"t":59,"s":[157.183,157.183,100]}],"ix":6}},"ao":0,"ip":0,"op":1590,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"选中光效","refId":"comp_0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":7,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":22,"s":[100]},{"t":30,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[110,57,0],"ix":2},"a":{"a":0,"k":[168,102,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[38,38,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":18,"s":[71,71,100]},{"t":30,"s":[71,71,100]}],"ix":6}},"ao":0,"w":336,"h":204,"ip":0,"op":240,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
{
"success": true,
"data": {
"name": "123123",
"image": "http://qnpic.top/yoona2.jpg",
"type": 2
}
}
\ No newline at end of file
{
"success": true
}
\ No newline at end of file
......@@ -10,13 +10,13 @@
"dev": "node ./scripts/devServer.js",
"flushRes": "node scripts/flushRes",
"handleLotS": "node scripts/handleLotS",
"handleRes": "node scripts/delRel && node scripts/copyRes && node scripts/imageMin.js",
"handleRes": "node scripts/delRel && node scripts/copyRes && node scripts/createTm && node scripts/textureMerge && node scripts/delTm && node scripts/imageMin",
"upload": "node scripts/upload",
"prod": "npm run handleRes && npm run upload && npm run buildTS",
"buildWeb": "npm run handleRes && node scripts/upload 1",
"buildTS": "webpack --config webpack.prod.js && node scripts/mergeJs",
"babelbuild": "babel src --out-dir dist --extensions .ts,.tsx",
"build": "webpack --config webpack.prod.js",
"build": "npm run handleRes && node scripts/mergeJson && node scripts/upload && npm run buildTS",
"check-type": "tsc --watch"
},
"author": "",
......
......@@ -12,6 +12,10 @@
"keys": "DSM1.png,DSMB.png",
"name": "DrawSucModal"
},
{
"keys": "FGM1.png,FGMB.png",
"name": "FinalGiftModal"
},
{
"keys": "2b727ace1b5c959dbc6274cacb5b4e5f.png,3ed4431aad269ef7059929043bd45597.png,60377934f7cf618b52457273db65aace.png,9074d1305c0e7feb16037261986c7f4b.png,f3bde4659477f82338fcb2b134272321.png",
"name": "GameAtom"
......@@ -32,12 +36,20 @@
"keys": "back.png,bottomAtom.png,gele1.png,goBackBtn.png,player.png,scoreboard-t.png",
"name": "GameScene"
},
{
"keys": "2120075482341d7d94d8164b1a0f6d43.png,3ed4431aad269ef7059929043bd45597.png,4f4612689c9fde32a8c28c129e9f6e7d.png,60377934f7cf618b52457273db65aace.png,63b0a84f0f9b10842b5f83fa5e923534.png,f3bde4659477f82338fcb2b134272321.png",
"name": "JumpEnd"
},
{
"keys": "Guide1.png,NGSB.jpg,nextStep.png,startGameBtn.png",
"name": "NewGuyScene"
},
{
"keys": "closebtn.png,giftBoxIcon.png",
"keys": "2120075482341d7d94d8164b1a0f6d43.png",
"name": "PerfectJumpEnd"
},
{
"keys": "closebtn.png,giftBoxIcon.png,waitingBg.png,waitingRot.png",
"name": "common"
},
{
......
var fs = require("fs");
var iconv = require('iconv-lite');
var del = require('del');
var readPath = "./released/resource/";
//读取json文件
var data = iconv.decode(fs.readFileSync(readPath + "res.json"), "utf-8");//GBK
//反序列化
data = JSON.parse(data); //eval(data)
//取出里面的图片,暂存到tm文件夹中,同时删除文件夹里的,和本身json里的
if (!fs.existsSync("./released/tm"))
fs.mkdirSync("./released/tm");
for (var i = 0; i < data.groups.length; i++) {
var name = data.groups[i].name;
var path = readPath + name + "/";
var arr = data.groups[i].keys.split(",");
//取出图片的,注意已排除jpg
var images = arr.filter((f) => { return (f.substr(-4) == ".png" /*|| f.substr(-4) == ".jpg"*/) })
//没有图片,
if (!images.length) continue;
//去掉原先数据里的
// data.groups[i].keys = arr.filter((f) => { return (f.substr(-4) != ".png" && f.substr(-4) != ".jpg") }).join(",");
//添加新的json,加到atlas里
// if (data.groups[i].keys) data.groups[i].keys += ","
data.groups[i].atlas = name + ".json"
//读取原先路径里的图片,写到tm的文件夹里,并删除原文件夹里的图片
fs.mkdirSync("./released/tm/" + name);
for (var m = 0; m < images.length; m++) {
fs.writeFileSync(
"./released/tm/" + name + "/" + images[m],
fs.readFileSync(path + images[m])
)
del(path + images[m])
}
}
//序列化
fs.writeFileSync(readPath + "res.json", JSON.stringify(data, "", "\t"));
var del = require('del');
del("./released/tm")
\ No newline at end of file
var fs = require("fs");
var path = require('path');
var del = require('del');
var iconv = require('iconv-lite');
const join = require('path').join;
//写入图集的文件夹,将文件夹内所有的json合并,并删除原先json
var readPath = "./released/resource/";
//读取json文件
var data = iconv.decode(fs.readFileSync(readPath + "res.json"), "utf-8");//GBK
//反序列化
data = JSON.parse(data);
var files = fs.readdirSync(readPath);
// let obj = {};
let count = 0;
let countAll = files.length
files.forEach(function (file) {
//路径
let fPath = join(readPath, file);
//只处理文件夹
if (fs.statSync(fPath).isDirectory()) {
//读文件夹fPath里的json文件
fs.readdir(fPath, function (err, files) {
if (err) {
console.warn(err)
} else {
var hasJson
//遍历
for (var i = 0; i < files.length; i++) {
let filename = files[i];
if (filename.indexOf(".json") == -1) continue
hasJson = true;
//获取当前文件的绝对路径
let filedir = path.join(fPath, filename);
let content = fs.readFileSync(filedir, 'utf-8');
let group = getGroupByName(filename.replace(".json", ""), data.groups)
group.atlas = JSON.parse(content);
//删除原先json
del(filedir)
if (++count == countAll) endFun();
}
if(!hasJson)if (++count == countAll) endFun();
//序列化,不格式化,节省内存
}
})
} else {
if (++count == countAll) endFun();
}
})
function endFun() {
console.log("资源配置js生成完毕")
// del(join(readPath, "res.json"))
fs.writeFileSync(readPath + "res.json", JSON.stringify(data, "", "\t"));
}
function getGroupByName(name, groups) {
var group;
for (var i = 0; i < groups.length; i++) {
if (groups[i].name === name) {
group = groups[i];
break;
}
}
return group
}
This source diff could not be displayed because it is too large. You can view the blob instead.
const fs = require("fs");
const exec = require('child_process').exec;
const del = require('del');
const join = require('path').join;
// const packTextures = require("pack_textures");
//写入图集的文件夹
const outPath = "./released/resource/";
//读取散图的文件夹
const readPath = "./released/tm/";
const files = fs.readdirSync(readPath);
files.forEach(function (file) {
//路径
let fPath = join(readPath, file);
//只处理文件夹
if (fs.statSync(fPath).isDirectory()) {
//判断文件夹内是否有图片
if (!judgeHasImage(fPath)) return;
//如果文件夹不存在
if (!fs.existsSync(outPath + file)) {
fs.mkdirSync(outPath + file);
} else {
//图集文件存在就删除
if (fs.existsSync(outPath + file + "/" + file + ".json")) {
del(outPath + file + "/" + file + ".json")
}
if (fs.existsSync(outPath + file + "/" + file + ".png")) {
del(outPath + file + "/" + file + ".png")
}
}
// packTextures(
// fPath,
// outPath + file + "/" + file,
// 4096,
// 4096,
// false,
// 2,
// 2,
// true,
// true
// )
//全局命令装过,就直接用命令行
exec(
'packTextures' + //基础指令
' -i ' + fPath + //要合图集的文件夹路径
' -o ' + outPath + file + "/" + file + //输出路径及名字
' --mw ' + 4096 + //最大宽度
' --mh ' + 4096 +//最大高度
' -p ' + false + //长宽是否2的指数,canvas下没必要,false
' --sp ' + 2 + //图片间隔
' --bp ' + 2 + //边界间隔
' -r ' + true + //是否允许图片旋转
' -t ' + true //是否允许裁切图片边缘透明像素
,
{ encoding: 'utf8' },
(e) => {
if (e) return console.log(e);
console.log("生成图集:" + file);
}
)
}
})
/**
* 判断文件夹内是否有图片
* @param {*} path
*/
function judgeHasImage(path) {
const files = fs.readdirSync(path);
for (let i = 0; i < files.length; i++) {
const itm = files[i];
const stat = fs.statSync(path + "/" + itm);
if (stat.isDirectory()) {
//递归读取文件
if (judgeHasImage(path + "/" + itm + "/")) return true;
} else {
if (itm.substr(-4) === ".jpg" || itm.substr(-4) === ".png") return true;
}
}
return false;
}
......@@ -24,8 +24,8 @@ class TuiaAutoUpload {
var _this = this;
this.client = new OSS({
region: 'oss-cn-hangzhou',
accessKeyId: 'LTAI4Fw25WcfcGv7FvcHoiHK',
accessKeySecret: 'NZk1NtT9J5HFaAolNbtQdzTzLLvLYm',
accessKeyId: 'LTAI5tAEU43ff2kFkrKRLnxG',
accessKeySecret: '2qQIPVT3Lgp72s8RShDlE4uVNqZWgy',
bucket: _this.type === 'prod' ? 'duiba' : 'daily-duiba'
});
this.bar = new ProgressBar(chalk.yellow(` 文件上传中 [:bar] :current/${this.files().length} :percent :elapseds`), {
......
......@@ -39,8 +39,8 @@ function uploadSingleJs(url) {
const originPath = `/db_games/${url}/output.js`;
var client = new OSS({
region: 'oss-cn-hangzhou',
accessKeyId: 'LTAI4Fw25WcfcGv7FvcHoiHK',
accessKeySecret: 'NZk1NtT9J5HFaAolNbtQdzTzLLvLYm',
accessKeyId: 'LTAI5tAEU43ff2kFkrKRLnxG',
accessKeySecret: '2qQIPVT3Lgp72s8RShDlE4uVNqZWgy',
bucket: 'duiba'
})
var originFile;
......
......@@ -92,7 +92,7 @@ export function createElement<K extends new(p?: any) => ChildType, T extends Chi
// 简单点直接赋值
for (let k in inlineProps) {
// @ts-ignore 里面是 getter 和 setter 写的
(eleins[k] = inlineProps[k])
inlineProps[k] !== undefined && (eleins[k] = inlineProps[k])
}
}
......
......@@ -3,6 +3,13 @@ import { RenderContainer } from "./renderContainer";
import { EventsMap } from "./types";
import { nextTick } from "./utils";
export type DreamProps<T extends Record<string, any>, R = FYGE.Container> = {
ref?: (c: R) => void,
inlineProps?: Record<string, any>
className?: string
children?: FYGE.Container[], // 这样写的话,外面也能提示了 -。-
} & T
export type DreamFC<T extends Record<string, any> = {}, R extends any = FYGE.Container> = (props: {
ref?: (c: R) => void,
inlineProps?: Record<string, any>
......
......@@ -2,51 +2,709 @@ export const ResJson = {
"groups": [
{
"keys": "box1.png,box2.png,box3.png,box4.png,box5.png,box6.png,box7.png,box8.png",
"name": "Boxes"
"name": "Boxes",
"atlas": {
"box7.png": {
"x": 2,
"y": 2,
"w": 233,
"h": 442,
"ox": 26,
"oy": 7,
"sw": 283,
"sh": 449,
"ro": false
},
"box8.png": {
"x": 237,
"y": 2,
"w": 184,
"h": 429,
"ox": 50,
"oy": 20,
"sw": 283,
"sh": 449,
"ro": false
},
"box3.png": {
"x": 423,
"y": 2,
"w": 225,
"h": 284,
"ox": 29,
"oy": 44,
"sw": 283,
"sh": 328,
"ro": false
},
"box2.png": {
"x": 2,
"y": 446,
"w": 280,
"h": 204,
"ox": 0,
"oy": 91,
"sw": 283,
"sh": 328,
"ro": false
},
"box4.png": {
"x": 284,
"y": 433,
"w": 184,
"h": 276,
"ox": 50,
"oy": 52,
"sw": 283,
"sh": 328,
"ro": true
},
"box6.png": {
"x": 650,
"y": 2,
"w": 255,
"h": 221,
"ox": 14,
"oy": 95,
"sw": 283,
"sh": 328,
"ro": true
},
"box1.png": {
"x": 650,
"y": 259,
"w": 228,
"h": 214,
"ox": 28,
"oy": 92,
"sw": 283,
"sh": 328,
"ro": true
},
"box5.png": {
"x": 423,
"y": 288,
"w": 224,
"h": 142,
"ox": 30,
"oy": 151,
"sw": 283,
"sh": 328,
"ro": false
}
}
},
{
"keys": "DFM1.png,DFMB.png",
"name": "DrawFailModal"
"name": "DrawFailModal",
"atlas": {
"DFMB.png": {
"x": 2,
"y": 2,
"w": 541,
"h": 467,
"ox": 0,
"oy": 0,
"sw": 541,
"sh": 467,
"ro": false
},
"DFM1.png": {
"x": 2,
"y": 471,
"w": 369,
"h": 97,
"ox": 0,
"oy": 0,
"sw": 369,
"sh": 97,
"ro": false
}
}
},
{
"keys": "DSM1.png,DSMB.png",
"name": "DrawSucModal"
"name": "DrawSucModal",
"atlas": {
"DSMB.png": {
"x": 2,
"y": 2,
"w": 576,
"h": 747,
"ox": 0,
"oy": 0,
"sw": 576,
"sh": 747,
"ro": false
},
"DSM1.png": {
"x": 580,
"y": 2,
"w": 369,
"h": 97,
"ox": 0,
"oy": 0,
"sw": 369,
"sh": 97,
"ro": true
}
}
},
{
"keys": "FGM1.png,FGMB.png",
"name": "FinalGiftModal",
"atlas": {
"FGMB.png": {
"x": 2,
"y": 2,
"w": 503,
"h": 571,
"ox": 0,
"oy": 0,
"sw": 503,
"sh": 571,
"ro": false
},
"FGM1.png": {
"x": 507,
"y": 2,
"w": 369,
"h": 97,
"ox": 0,
"oy": 0,
"sw": 369,
"sh": 97,
"ro": true
}
}
},
{
"keys": "2b727ace1b5c959dbc6274cacb5b4e5f.png,3ed4431aad269ef7059929043bd45597.png,60377934f7cf618b52457273db65aace.png,9074d1305c0e7feb16037261986c7f4b.png,f3bde4659477f82338fcb2b134272321.png",
"name": "GameAtom"
"name": "GameAtom",
"atlas": {
"f3bde4659477f82338fcb2b134272321.png": {
"x": 2,
"y": 2,
"w": 26,
"h": 26,
"ox": 0,
"oy": 0,
"sw": 26,
"sh": 26,
"ro": false
},
"3ed4431aad269ef7059929043bd45597.png": {
"x": 30,
"y": 2,
"w": 19,
"h": 19,
"ox": 0,
"oy": 0,
"sw": 19,
"sh": 19,
"ro": false
},
"60377934f7cf618b52457273db65aace.png": {
"x": 30,
"y": 23,
"w": 19,
"h": 18,
"ox": 0,
"oy": 0,
"sw": 19,
"sh": 18,
"ro": false
},
"2b727ace1b5c959dbc6274cacb5b4e5f.png": {
"x": 2,
"y": 30,
"w": 12,
"h": 11,
"ox": 0,
"oy": 0,
"sw": 12,
"sh": 11,
"ro": true
},
"9074d1305c0e7feb16037261986c7f4b.png": {
"x": 15,
"y": 30,
"w": 7,
"h": 7,
"ox": 0,
"oy": 0,
"sw": 7,
"sh": 7,
"ro": false
}
}
},
{
"keys": "GOM0.png,GOM1.png,GameOverModalBack.png",
"name": "GameOverModal"
"name": "GameOverModal",
"atlas": {
"GameOverModalBack.png": {
"x": 2,
"y": 2,
"w": 576,
"h": 739,
"ox": 0,
"oy": 0,
"sw": 576,
"sh": 739,
"ro": false
},
"GOM1.png": {
"x": 580,
"y": 2,
"w": 369,
"h": 97,
"ox": 0,
"oy": 0,
"sw": 369,
"sh": 97,
"ro": true
},
"GOM0.png": {
"x": 580,
"y": 373,
"w": 163,
"h": 50,
"ox": 0,
"oy": 0,
"sw": 163,
"sh": 50,
"ro": true
}
}
},
{
"keys": "GQM0.png,GQM1.png,GQMB.png",
"name": "GameQuitModal"
"name": "GameQuitModal",
"atlas": {
"GQMB.png": {
"x": 2,
"y": 2,
"w": 601,
"h": 467,
"ox": 0,
"oy": 0,
"sw": 601,
"sh": 467,
"ro": false
},
"GQM1.png": {
"x": 2,
"y": 471,
"w": 249,
"h": 97,
"ox": 0,
"oy": 0,
"sw": 249,
"sh": 97,
"ro": false
},
"GQM0.png": {
"x": 253,
"y": 471,
"w": 231,
"h": 91,
"ox": 0,
"oy": 0,
"sw": 231,
"sh": 91,
"ro": false
}
}
},
{
"keys": "GameResumeModalBack.png,cancelBtn.png,useRightNowBtn.png",
"name": "GameResumeModal"
"name": "GameResumeModal",
"atlas": {
"GameResumeModalBack.png": {
"x": 2,
"y": 2,
"w": 601,
"h": 547,
"ox": 0,
"oy": 0,
"sw": 601,
"sh": 547,
"ro": false
},
"useRightNowBtn.png": {
"x": 2,
"y": 551,
"w": 369,
"h": 97,
"ox": 0,
"oy": 0,
"sw": 369,
"sh": 97,
"ro": false
},
"cancelBtn.png": {
"x": 373,
"y": 551,
"w": 230,
"h": 66,
"ox": 0,
"oy": 0,
"sw": 230,
"sh": 66,
"ro": false
}
}
},
{
"keys": "back.png,bottomAtom.png,gele1.png,goBackBtn.png,player.png,scoreboard-t.png",
"name": "GameScene"
"name": "GameScene",
"atlas": {
"back.png": {
"x": 2,
"y": 2,
"w": 750,
"h": 1624,
"ox": 0,
"oy": 0,
"sw": 750,
"sh": 1624,
"ro": false
},
"bottomAtom.png": {
"x": 754,
"y": 2,
"w": 750,
"h": 340,
"ox": 0,
"oy": 0,
"sw": 750,
"sh": 340,
"ro": true
},
"gele1.png": {
"x": 754,
"y": 754,
"w": 279,
"h": 204,
"ox": 0,
"oy": 0,
"sw": 279,
"sh": 204,
"ro": false
},
"player.png": {
"x": 754,
"y": 960,
"w": 132,
"h": 201,
"ox": 0,
"oy": 0,
"sw": 132,
"sh": 201,
"ro": true
},
"goBackBtn.png": {
"x": 957,
"y": 960,
"w": 138,
"h": 68,
"ox": 0,
"oy": 0,
"sw": 138,
"sh": 68,
"ro": true
},
"scoreboard-t.png": {
"x": 1035,
"y": 754,
"w": 86,
"h": 38,
"ox": 0,
"oy": 0,
"sw": 86,
"sh": 38,
"ro": true
}
}
},
{
"keys": "2120075482341d7d94d8164b1a0f6d43.png,3ed4431aad269ef7059929043bd45597.png,4f4612689c9fde32a8c28c129e9f6e7d.png,60377934f7cf618b52457273db65aace.png,63b0a84f0f9b10842b5f83fa5e923534.png,f3bde4659477f82338fcb2b134272321.png",
"name": "JumpEnd",
"atlas": {
"2120075482341d7d94d8164b1a0f6d43.png": {
"x": 2,
"y": 2,
"w": 274,
"h": 294,
"ox": 25,
"oy": 21,
"sw": 323,
"sh": 323,
"ro": false
},
"f3bde4659477f82338fcb2b134272321.png": {
"x": 278,
"y": 2,
"w": 26,
"h": 26,
"ox": 0,
"oy": 0,
"sw": 26,
"sh": 26,
"ro": false
},
"4f4612689c9fde32a8c28c129e9f6e7d.png": {
"x": 278,
"y": 30,
"w": 25,
"h": 25,
"ox": 0,
"oy": 0,
"sw": 25,
"sh": 25,
"ro": false
},
"63b0a84f0f9b10842b5f83fa5e923534.png": {
"x": 278,
"y": 57,
"w": 25,
"h": 25,
"ox": 0,
"oy": 0,
"sw": 25,
"sh": 25,
"ro": false
},
"3ed4431aad269ef7059929043bd45597.png": {
"x": 278,
"y": 84,
"w": 19,
"h": 19,
"ox": 0,
"oy": 0,
"sw": 19,
"sh": 19,
"ro": false
},
"60377934f7cf618b52457273db65aace.png": {
"x": 278,
"y": 105,
"w": 19,
"h": 18,
"ox": 0,
"oy": 0,
"sw": 19,
"sh": 18,
"ro": false
}
}
},
{
"keys": "Guide1.png,NGSB.jpg,nextStep.png,startGameBtn.png",
"name": "NewGuyScene"
"name": "NewGuyScene",
"atlas": {
"Guide1.png": {
"x": 2,
"y": 2,
"w": 750,
"h": 1624,
"ox": 0,
"oy": 0,
"sw": 750,
"sh": 1624,
"ro": false
},
"nextStep.png": {
"x": 754,
"y": 2,
"w": 203,
"h": 60,
"ox": 0,
"oy": 0,
"sw": 203,
"sh": 60,
"ro": true
},
"startGameBtn.png": {
"x": 754,
"y": 207,
"w": 203,
"h": 60,
"ox": 0,
"oy": 0,
"sw": 203,
"sh": 60,
"ro": true
}
}
},
{
"keys": "2120075482341d7d94d8164b1a0f6d43.png",
"name": "PerfectJumpEnd",
"atlas": {
"2120075482341d7d94d8164b1a0f6d43.png": {
"x": 2,
"y": 2,
"w": 274,
"h": 294,
"ox": 25,
"oy": 21,
"sw": 323,
"sh": 323,
"ro": false
}
}
},
{
"keys": "closebtn.png,giftBoxIcon.png",
"name": "common"
"keys": "closebtn.png,giftBoxIcon.png,waitingBg.png,waitingRot.png",
"name": "common",
"atlas": {
"waitingBg.png": {
"x": 2,
"y": 2,
"w": 160,
"h": 180,
"ox": 0,
"oy": 0,
"sw": 160,
"sh": 180,
"ro": false
},
"giftBoxIcon.png": {
"x": 164,
"y": 2,
"w": 127,
"h": 125,
"ox": 0,
"oy": 0,
"sw": 127,
"sh": 125,
"ro": true
},
"waitingRot.png": {
"x": 2,
"y": 184,
"w": 56,
"h": 56,
"ox": 0,
"oy": 0,
"sw": 56,
"sh": 56,
"ro": false
},
"closebtn.png": {
"x": 60,
"y": 184,
"w": 52,
"h": 52,
"ox": 0,
"oy": 0,
"sw": 52,
"sh": 52,
"ro": false
}
}
},
{
"keys": "786bf3500cf0986c9678f6b8a8cf24f6.png,b5d5c1070b13deb0230b0efe5c58ee9d.png,ca7b2a497afc6147cc076d55600154bd.png,d64a974a921d32ed81463c918bae137e.png,f49a78c8287be1a92ee75ce3a2b7a512.png",
"name": "countDown"
"name": "countDown",
"atlas": {
"ca7b2a497afc6147cc076d55600154bd.png": {
"x": 2,
"y": 2,
"w": 109,
"h": 175,
"ox": 0,
"oy": 0,
"sw": 109,
"sh": 175,
"ro": false
},
"786bf3500cf0986c9678f6b8a8cf24f6.png": {
"x": 113,
"y": 2,
"w": 98,
"h": 172,
"ox": 0,
"oy": 0,
"sw": 98,
"sh": 172,
"ro": false
},
"d64a974a921d32ed81463c918bae137e.png": {
"x": 2,
"y": 179,
"w": 110,
"h": 172,
"ox": 0,
"oy": 0,
"sw": 110,
"sh": 172,
"ro": true
},
"f49a78c8287be1a92ee75ce3a2b7a512.png": {
"x": 213,
"y": 2,
"w": 104,
"h": 105,
"ox": 0,
"oy": 0,
"sw": 104,
"sh": 105,
"ro": false
},
"b5d5c1070b13deb0230b0efe5c58ee9d.png": {
"x": 213,
"y": 109,
"w": 53,
"h": 53,
"ox": 0,
"oy": 0,
"sw": 53,
"sh": 53,
"ro": false
}
}
},
{
"keys": "548342251013e2f832a40380d1855bf5.png,af75d547153d9118b05d4dd8fbcfe022.png,fd0f936244fb973bddf520819997f5ba.png",
"name": "handLottie"
"name": "handLottie",
"atlas": {
"fd0f936244fb973bddf520819997f5ba.png": {
"x": 2,
"y": 2,
"w": 120,
"h": 87,
"ox": 0,
"oy": 0,
"sw": 120,
"sh": 87,
"ro": false
},
"af75d547153d9118b05d4dd8fbcfe022.png": {
"x": 2,
"y": 91,
"w": 92,
"h": 92,
"ox": 0,
"oy": 0,
"sw": 92,
"sh": 92,
"ro": false
},
"548342251013e2f832a40380d1855bf5.png": {
"x": 124,
"y": 2,
"w": 46,
"h": 46,
"ox": 0,
"oy": 0,
"sw": 46,
"sh": 46,
"ro": false
}
}
},
{
"keys": "nx1.jpg,ny1.jpg,nz1.jpg,px1.jpg,py1.jpg,pz1.jpg",
......@@ -57,5 +715,6 @@ export const ResJson = {
"name": "spine"
}
],
"path": "./resource/"
// eslint-disable-next-line
"path": "https://yun.duiba.com.cn/db_games/activity/template/1669973871/resource/"
}
\ No newline at end of file
......@@ -11,7 +11,7 @@ export const DreamSprite: OriginalElementWidthEvents<{
width?: number,
height?: number,
sizeType?: SpriteSizeType
}> = (props) => {
}, FYGE.Sprite> = (props) => {
const {
src,
width,
......
import Dream from "../../Dream";
import { DreamContainer } from "../DreamContainer/DreamContainer";
import { DreamShape } from "../DreamShape/DreamShape";
import { DreamTextField } from "../DreamTextField/DreamTextField";
export class DreamToast extends Dream.RenderContainer {
render() {
return (
<DreamContainer>
<DreamShape drawData={[0, 0, 460, 130]} alpha={0.8} />
<DreamTextField
text={this.props.msg}
size={28}
color='#ffffff'
verticalAlign={FYGE.VERTICAL_ALIGN.MIDDLE}
textWidth={460}
textHeight={130}
/>
</DreamContainer>
)
}
}
\ No newline at end of file
import Dream from "../../Dream";
import { RES } from "../../modules/RES";
import { UsePreload } from "../../modules/UseDecorator/usePreload";
import { DreamContainer } from "../DreamContainer/DreamContainer";
import { DreamSprite } from "../DreamSprite/DreamSprite";
import { DreamTextField } from "../DreamTextField/DreamTextField";
@UsePreload({
async preAction() {
await RES.loadGroup('common')
},
loadingComponent: null
})
export class DreamWaiting extends Dream.RenderContainer<{
msg?: string
}> {
render() {
const roleCont = RES.getRes('waitingBg.png')
const rotCont = RES.getRes('waitingRot.png')
let count = 0
const {
msg = '加载中...'
} = this.props
return (
<DreamContainer>
<DreamSprite src={roleCont} />
<DreamSprite src={rotCont} inlineProps={{
y: 55,
x: roleCont.width / 2 - rotCont.width / 2,
anchorX: rotCont.width / 2,
anchorY: rotCont.height / 2
}} onEnterFrame={(e) => {
count++
if (count % 30 == 0) {
(e.target as FYGE.Sprite).rotation += 45
}
}} />
<DreamTextField text={msg} color='#ffffff' size={26} textWidth={roleCont.width} inlineProps={{
y: 126
}} />
</DreamContainer>
)
}
}
\ No newline at end of file
......@@ -5,6 +5,7 @@ import { ResJson } from "./ResJson";
import { GameScene } from "./scenes/GameScene/GameScene";
import { HomeScene } from "./scenes/home";
import { NewGuyScene } from "./scenes/NewGuyScene/NewGuyScene";
import { Tools } from "./tools/Tools";
import Tween = FYGE.Tween;
import EventDispatcher = FYGE.EventDispatcher;
import Stage = FYGE.Stage;
......@@ -12,6 +13,16 @@ import RENDERER_TYPE = FYGE.RENDERER_TYPE
import Event = FYGE.Event
import getEnv = FYGE.getEnv;
/**
* 全局事件,为了和小程序交互
* 有可能多处页面用到,所以单开
*/
export const GDispatcher = new EventDispatcher();
export const loadAllGroups = async function() {
await RES.loadAllGroup()
}
export class Main {
//主舞台
stage: Stage;
......@@ -21,6 +32,10 @@ export class Main {
constructor(
canvas: HTMLCanvasElement,
config: {
isFirstGame: boolean,
liveCard: number
},
desWidth = 750,
desHeight = 1624,
divWidth?: number,
......@@ -31,6 +46,7 @@ export class Main {
resolution?: any,
) {
let sysInfo;
config && (Tools.PageData = config)
// 淘宝小程序环境就用canvas初始化
if (!window) { // 自行处理吧,这么判断也不保险,万一淘宝小程序加进了window
FYGE.initedByCanvas(canvas); // 里面会设置env为tb,这个很重要
......@@ -90,7 +106,7 @@ export class Main {
RES.loadConfig(ResJson)
await RES.loadGroup('common')
SceneController.changeScene(GameScene)
SceneController.changeScene(Tools.PageData.isFirstGame ? NewGuyScene : GameScene)
}
initWebEvent(){
......@@ -104,6 +120,8 @@ export class Main {
this._pause = false;
// @ts-ignore Tween计时清零
Tween._lastTime = null;
// 触发onShow
// GDispatcher.dispatchEvent({ type: G_EVENT.ON_SHOW });
}
/**
......@@ -111,6 +129,43 @@ export class Main {
*/
pause() {
// this._pause = true;//先不暂停了
// GDispatcher.dispatchEvent({ type: G_EVENT.ON_HIDE });
}
/**
* 添加全局事件,用于小程序的交互调用
* 一直很犹豫要不要放在main的实例里,还是和Main同级导出,还有上面的pause,run,下面的事件等
* @param name
* @param fun
* @param thisObj
* @param once
*/
addGlobalEvent(name: string, fun: Function, thisObj?: any, once: boolean = false) {
if (once) {
GDispatcher.once(name, fun, thisObj)
} else {
GDispatcher.addEventListener(name, fun, thisObj)
}
}
/**
* 派发全局事件,用于小程序的交互调用
* @param name 可以是事件名,也可以是事件
* @param data
*/
dispatchGlobalEvent(name: string | any, data?: any) {
GDispatcher.dispatchEvent(name, data)
}
/**
* 移除全局事件,用于小程序交互调用
* @param name
* @param fun
* @param thisObj
*/
removeGlobalEvent(name: string, fun: Function, thisObj?: any) {
GDispatcher.removeEventListener(name, fun, thisObj)
}
//在小程序页面卸载时调用onUnload,多次销毁后会有问题,再检查
......
export const JumpEnd = {
"fr": 30,
"ip": 0,
"op": 30,
"w": 236,
"h": 292,
"nm": "跳跃氛围",
"layers": [
{
"ind": 2,
"ty": 0,
"nm": "分数效果输出",
"refId": "comp_0",
"ks": {
"o": {
"k": 100
},
"r": {
"k": 0
},
"p": {
"k": [
118,
146,
0
]
},
"a": {
"k": [
118,
146,
0
]
},
"s": {
"k": [
100,
100,
100
]
}
},
"w": 236,
"h": 81,
"ip": 0,
"op": 960
},
{
"ind": 5,
"ty": 0,
"nm": "跳跃完美成功效果输出",
"refId": "comp_1",
"ks": {
"o": {
"k": 100
},
"r": {
"k": 0
},
"p": {
"k": [
118,
146,
0
]
},
"a": {
"k": [
103,
-31,
0
]
},
"s": {
"k": [
100,
100,
100
]
}
},
"w": 220,
"h": 115,
"ip": 0,
"op": 240
}
],
"markers": [],
"assets": [
{
"id": "comp_0",
"layers": [
{
"ddd": 0,
"ind": 1,
"ty": 2,
"nm": "多边形 1 拷贝 4",
"refId": "f3bde4659477f82338fcb2b134272321",
"sr": 1,
"ks": {
"o": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 3,
"s": [
100
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 11.534,
"s": [
100
]
},
{
"t": 19,
"s": [
0
]
}
],
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 1,
"k": [
{
"i": {
"x": 0.833,
"y": 0.833
},
"o": {
"x": 0.167,
"y": 0.167
},
"t": 3,
"s": [
151,
52,
0
],
"to": [
0,
0,
0
],
"ti": [
0,
0,
0
]
},
{
"i": {
"x": 0.833,
"y": 0.833
},
"o": {
"x": 0.167,
"y": 0.167
},
"t": 11.534,
"s": [
165.933,
57.333,
0
],
"to": [
0,
0,
0
],
"ti": [
0,
0,
0
]
},
{
"t": 19,
"s": [
179,
62,
0
]
}
],
"ix": 2
},
"a": {
"a": 0,
"k": [
13,
13,
0
],
"ix": 1
},
"s": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 3,
"s": [
0,
0,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 11.534,
"s": [
100,
100,
100
]
},
{
"t": 19,
"s": [
100,
100,
100
]
}
],
"ix": 6
}
},
"ao": 0,
"ip": 0,
"op": 960,
"st": 0,
"bm": 0
},
{
"ddd": 0,
"ind": 2,
"ty": 2,
"nm": "多边形 1 拷贝 3",
"refId": "3ed4431aad269ef7059929043bd45597",
"sr": 1,
"ks": {
"o": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 1,
"s": [
100
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 9,
"s": [
100
]
},
{
"t": 16,
"s": [
0
]
}
],
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 1,
"k": [
{
"i": {
"x": 0.833,
"y": 0.833
},
"o": {
"x": 0.167,
"y": 0.167
},
"t": 1,
"s": [
91.5,
59.5,
0
],
"to": [
0,
0,
0
],
"ti": [
0,
0,
0
]
},
{
"i": {
"x": 0.833,
"y": 0.833
},
"o": {
"x": 0.167,
"y": 0.167
},
"t": 9,
"s": [
76.567,
66.967,
0
],
"to": [
0,
0,
0
],
"ti": [
0,
0,
0
]
},
{
"t": 16,
"s": [
63.5,
73.5,
0
]
}
],
"ix": 2
},
"a": {
"a": 0,
"k": [
9.5,
9.5,
0
],
"ix": 1
},
"s": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 1,
"s": [
0,
0,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 9,
"s": [
100,
100,
100
]
},
{
"t": 16,
"s": [
100,
100,
100
]
}
],
"ix": 6
}
},
"ao": 0,
"ip": 0,
"op": 960,
"st": 0,
"bm": 0
},
{
"ddd": 0,
"ind": 3,
"ty": 2,
"nm": "多边形 1 拷贝",
"refId": "60377934f7cf618b52457273db65aace",
"sr": 1,
"ks": {
"o": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 4,
"s": [
100
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 13.067,
"s": [
100
]
},
{
"t": 21,
"s": [
0
]
}
],
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 1,
"k": [
{
"i": {
"x": 0.833,
"y": 0.833
},
"o": {
"x": 0.167,
"y": 0.167
},
"t": 4,
"s": [
68.5,
45,
0
],
"to": [
0,
0,
0
],
"ti": [
0,
0,
0
]
},
{
"i": {
"x": 0.833,
"y": 0.833
},
"o": {
"x": 0.167,
"y": 0.167
},
"t": 13.067,
"s": [
34.9,
39.133,
0
],
"to": [
0,
0,
0
],
"ti": [
0,
0,
0
]
},
{
"t": 21,
"s": [
5.5,
34,
0
]
}
],
"ix": 2
},
"a": {
"a": 0,
"k": [
9.5,
9,
0
],
"ix": 1
},
"s": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 4,
"s": [
0,
0,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 13.067,
"s": [
100,
100,
100
]
},
{
"t": 21,
"s": [
100,
100,
100
]
}
],
"ix": 6
}
},
"ao": 0,
"ip": 0,
"op": 960,
"st": 0,
"bm": 0
},
{
"ddd": 0,
"ind": 4,
"ty": 2,
"nm": "多边形 1 拷贝 2",
"refId": "63b0a84f0f9b10842b5f83fa5e923534",
"sr": 1,
"ks": {
"o": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 0,
"s": [
100
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 8,
"s": [
100
]
},
{
"t": 15,
"s": [
0
]
}
],
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 1,
"k": [
{
"i": {
"x": 0.833,
"y": 0.833
},
"o": {
"x": 0.167,
"y": 0.167
},
"t": 0,
"s": [
81.5,
29.5,
0
],
"to": [
0,
0,
0
],
"ti": [
0,
0,
0
]
},
{
"i": {
"x": 0.833,
"y": 0.833
},
"o": {
"x": 0.167,
"y": 0.167
},
"t": 8,
"s": [
64.434,
19.367,
0
],
"to": [
0,
0,
0
],
"ti": [
0,
0,
0
]
},
{
"t": 15,
"s": [
49.5,
10.5,
0
]
}
],
"ix": 2
},
"a": {
"a": 0,
"k": [
12.5,
12.5,
0
],
"ix": 1
},
"s": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 0,
"s": [
0,
0,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 8,
"s": [
100,
100,
100
]
},
{
"t": 15,
"s": [
100,
100,
100
]
}
],
"ix": 6
}
},
"ao": 0,
"ip": 0,
"op": 960,
"st": 0,
"bm": 0
},
{
"ddd": 0,
"ind": 5,
"ty": 2,
"nm": "多边形 1",
"refId": "4f4612689c9fde32a8c28c129e9f6e7d",
"sr": 1,
"ks": {
"o": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 0,
"s": [
100
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 8,
"s": [
100
]
},
{
"t": 15,
"s": [
0
]
}
],
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 1,
"k": [
{
"i": {
"x": 0.833,
"y": 0.833
},
"o": {
"x": 0.167,
"y": 0.167
},
"t": 0,
"s": [
159.5,
24.5,
0
],
"to": [
0,
0,
0
],
"ti": [
0,
0,
0
]
},
{
"i": {
"x": 0.833,
"y": 0.833
},
"o": {
"x": 0.167,
"y": 0.167
},
"t": 8,
"s": [
196.3,
23.967,
0
],
"to": [
0,
0,
0
],
"ti": [
0,
0,
0
]
},
{
"t": 15,
"s": [
228.5,
23.5,
0
]
}
],
"ix": 2
},
"a": {
"a": 0,
"k": [
12.5,
12.5,
0
],
"ix": 1
},
"s": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 0,
"s": [
0,
0,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 8,
"s": [
100,
100,
100
]
},
{
"t": 15,
"s": [
100,
100,
100
]
}
],
"ix": 6
}
},
"ao": 0,
"ip": 0,
"op": 960,
"st": 0,
"bm": 0
}
]
},
{
"id": "comp_1",
"layers": [
{
"ddd": 0,
"ind": 1,
"ty": 0,
"nm": "选中光效",
"refId": "comp_2",
"sr": 1,
"ks": {
"o": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 0,
"s": [
0
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 7,
"s": [
100
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 22,
"s": [
100
]
},
{
"t": 30,
"s": [
0
]
}
],
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 0,
"k": [
110,
57,
0
],
"ix": 2
},
"a": {
"a": 0,
"k": [
168,
102,
0
],
"ix": 1
},
"s": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 0,
"s": [
38,
38,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 18,
"s": [
71,
71,
100
]
},
{
"t": 30,
"s": [
71,
71,
100
]
}
],
"ix": 6
}
},
"ao": 0,
"w": 336,
"h": 204,
"ip": 0,
"op": 240,
"st": 0,
"bm": 0
}
]
},
{
"id": "comp_2",
"layers": [
{
"ddd": 0,
"ind": 1,
"ty": 0,
"nm": "首次进入开按钮",
"refId": "comp_3",
"sr": 1,
"ks": {
"o": {
"a": 0,
"k": 100,
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 0,
"k": [
167,
100,
0
],
"ix": 2
},
"a": {
"a": 0,
"k": [
214,
224,
0
],
"ix": 1
},
"s": {
"a": 0,
"k": [
78,
38.08,
100
],
"ix": 6
}
},
"ao": 0,
"w": 431,
"h": 462,
"ip": 0,
"op": 244,
"st": 0,
"bm": 0
}
]
},
{
"id": "comp_3",
"layers": [
{
"ddd": 0,
"ind": 1,
"ty": 2,
"nm": "光 3",
"refId": "2120075482341d7d94d8164b1a0f6d43",
"sr": 1,
"ks": {
"o": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 0,
"s": [
100
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 16,
"s": [
0
]
},
{
"t": 17,
"s": [
100
]
}
],
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 0,
"k": [
214.5,
220.567,
0
],
"ix": 2
},
"a": {
"a": 0,
"k": [
161.5,
161.5,
0
],
"ix": 1
},
"s": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 0,
"s": [
129.933,
129.933,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 16,
"s": [
159,
159,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 17,
"s": [
51.817,
51.817,
100
]
},
{
"t": 59,
"s": [
128.117,
128.117,
100
]
}
],
"ix": 6
}
},
"ao": 0,
"ip": -44,
"op": 1546,
"st": -44,
"bm": 0
},
{
"ddd": 0,
"ind": 2,
"ty": 2,
"nm": "光 2",
"refId": "2120075482341d7d94d8164b1a0f6d43",
"sr": 1,
"ks": {
"o": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 22,
"s": [
100
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 38,
"s": [
0
]
},
{
"t": 39,
"s": [
100
]
}
],
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 0,
"k": [
214.5,
220.567,
0
],
"ix": 2
},
"a": {
"a": 0,
"k": [
161.5,
161.5,
0
],
"ix": 1
},
"s": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 0,
"s": [
89.967,
89.967,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 38,
"s": [
159,
159,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 39,
"s": [
51.817,
51.817,
100
]
},
{
"t": 59,
"s": [
88.15,
88.15,
100
]
}
],
"ix": 6
}
},
"ao": 0,
"ip": -22,
"op": 1568,
"st": -22,
"bm": 0
},
{
"ddd": 0,
"ind": 3,
"ty": 2,
"nm": "光",
"refId": "2120075482341d7d94d8164b1a0f6d43",
"sr": 1,
"ks": {
"o": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 44,
"s": [
100
]
},
{
"t": 59,
"s": [
6.25
]
}
],
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 0,
"k": [
214.5,
220.567,
0
],
"ix": 2
},
"a": {
"a": 0,
"k": [
161.5,
161.5,
0
],
"ix": 1
},
"s": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 0,
"s": [
0,
0,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 58,
"s": [
155.367,
155.367,
100
]
},
{
"t": 59,
"s": [
157.183,
157.183,
100
]
}
],
"ix": 6
}
},
"ao": 0,
"ip": 0,
"op": 1590,
"st": 0,
"bm": 0
}
]
}
]
}
\ No newline at end of file
export const PerfectJumpEnd = {
"fr": 30,
"ip": 0,
"op": 30,
"w": 220,
"h": 115,
"nm": "跳跃完美成功效果输出",
"layers": [
{
"ind": 1,
"ty": 0,
"nm": "选中光效",
"refId": "comp_0",
"ks": {
"o": {
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 0,
"s": [
0
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 7,
"s": [
100
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 22,
"s": [
100
]
},
{
"t": 30,
"s": [
0
]
}
]
},
"r": {
"k": 0
},
"p": {
"k": [
110,
57,
0
]
},
"a": {
"k": [
168,
102,
0
]
},
"s": {
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 0,
"s": [
38,
38,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 18,
"s": [
71,
71,
100
]
},
{
"t": 30,
"s": [
71,
71,
100
]
}
]
}
},
"w": 336,
"h": 204,
"ip": 0,
"op": 240
}
],
"markers": [],
"assets": [
{
"id": "comp_0",
"layers": [
{
"ddd": 0,
"ind": 1,
"ty": 0,
"nm": "首次进入开按钮",
"refId": "comp_1",
"sr": 1,
"ks": {
"o": {
"a": 0,
"k": 100,
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 0,
"k": [
167,
100,
0
],
"ix": 2
},
"a": {
"a": 0,
"k": [
214,
224,
0
],
"ix": 1
},
"s": {
"a": 0,
"k": [
78,
38.08,
100
],
"ix": 6
}
},
"ao": 0,
"w": 431,
"h": 462,
"ip": 0,
"op": 244,
"st": 0,
"bm": 0
}
]
},
{
"id": "comp_1",
"layers": [
{
"ddd": 0,
"ind": 1,
"ty": 2,
"nm": "光 3",
"refId": "2120075482341d7d94d8164b1a0f6d43",
"sr": 1,
"ks": {
"o": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 0,
"s": [
100
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 16,
"s": [
0
]
},
{
"t": 17,
"s": [
100
]
}
],
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 0,
"k": [
214.5,
220.567,
0
],
"ix": 2
},
"a": {
"a": 0,
"k": [
161.5,
161.5,
0
],
"ix": 1
},
"s": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 0,
"s": [
129.933,
129.933,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 16,
"s": [
159,
159,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 17,
"s": [
51.817,
51.817,
100
]
},
{
"t": 59,
"s": [
128.117,
128.117,
100
]
}
],
"ix": 6
}
},
"ao": 0,
"ip": -44,
"op": 1546,
"st": -44,
"bm": 0
},
{
"ddd": 0,
"ind": 2,
"ty": 2,
"nm": "光 2",
"refId": "2120075482341d7d94d8164b1a0f6d43",
"sr": 1,
"ks": {
"o": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 22,
"s": [
100
]
},
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 38,
"s": [
0
]
},
{
"t": 39,
"s": [
100
]
}
],
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 0,
"k": [
214.5,
220.567,
0
],
"ix": 2
},
"a": {
"a": 0,
"k": [
161.5,
161.5,
0
],
"ix": 1
},
"s": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 0,
"s": [
89.967,
89.967,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 38,
"s": [
159,
159,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 39,
"s": [
51.817,
51.817,
100
]
},
{
"t": 59,
"s": [
88.15,
88.15,
100
]
}
],
"ix": 6
}
},
"ao": 0,
"ip": -22,
"op": 1568,
"st": -22,
"bm": 0
},
{
"ddd": 0,
"ind": 3,
"ty": 2,
"nm": "光",
"refId": "2120075482341d7d94d8164b1a0f6d43",
"sr": 1,
"ks": {
"o": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833
],
"y": [
0.833
]
},
"o": {
"x": [
0.167
],
"y": [
0.167
]
},
"t": 44,
"s": [
100
]
},
{
"t": 59,
"s": [
6.25
]
}
],
"ix": 11
},
"r": {
"a": 0,
"k": 0,
"ix": 10
},
"p": {
"a": 0,
"k": [
214.5,
220.567,
0
],
"ix": 2
},
"a": {
"a": 0,
"k": [
161.5,
161.5,
0
],
"ix": 1
},
"s": {
"a": 1,
"k": [
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 0,
"s": [
0,
0,
100
]
},
{
"i": {
"x": [
0.833,
0.833,
0.833
],
"y": [
0.833,
0.833,
0.833
]
},
"o": {
"x": [
0.167,
0.167,
0.167
],
"y": [
0.167,
0.167,
0.167
]
},
"t": 58,
"s": [
155.367,
155.367,
100
]
},
{
"t": 59,
"s": [
157.183,
157.183,
100
]
}
],
"ix": 6
}
},
"ao": 0,
"ip": 0,
"op": 1590,
"st": 0,
"bm": 0
}
]
}
]
}
\ No newline at end of file
......@@ -69,8 +69,9 @@ function ModalWraper(ModalNode: any) {
// 这里做了 适配,不知道为什么 有些拿不到宽高
if (ModalConfig?.center) {
const body = this.ModalBody
const sw = body.sw || getBoundsPropty(body, 'width')
const sh = body.sh || getBoundsPropty(body, 'height')
// TODO 这里好像算的有点问题多 20
const sw = body.sw || getBoundsPropty(body, 'width') - 20
const sh = body.sh || getBoundsPropty(body, 'height') - 20
this.ModalBody.position.set(layers.stageWidth / 2 - sw / 2, layers.stageHeight / 2 - sh / 2)
}
}
......
......@@ -25,6 +25,44 @@ export function fadeOutFactory(t: number) {
}
}
export function fadeOutUpFactory(t: number, upLen: number = 200) {
return function(cont: FYGE.Container) {
return new Promise<void>(r => {
FYGE.Tween.removeTweens(cont)
const oy = cont.y
FYGE.Tween.get(cont, {
onChange: () => {
cont.y = (oy - upLen * (1 - cont.alpha))
}
})
.set({alpha: 1})
.to({
alpha: 0
}, t, FYGE.Ease.quadIn)
.call(() => {
setTimeout(() => {
cont.y = oy
})
r()
})
})
}
}
export function BounceOutAni(t: number = 1000) {
return function (cont: FYGE.Container) {
return new Promise(r => {
const oy = cont.position.y
cont.position.y -= 100
FYGE.Tween.get(cont)
.to({
y: oy
}, t, FYGE.Ease.bounceOut)
})
}
}
/**
* 因为一些不可抗因素导致拿不到最后的 真是宽高
* @param Con
......
......@@ -11,6 +11,12 @@ import { UsePreload } from "../../modules/UseDecorator/usePreload";
loadingComponent: null
})
export class DrawFailModal extends Dream.RenderContainer {
onConfirm = () => {
this.props.onConfirm()
this.props.closeModal()
}
render() {
const roleCont = RES.getRes('DFMB.png')
const confirmbtn = RES.getRes('DFM1.png')
......@@ -19,14 +25,11 @@ export class DrawFailModal extends Dream.RenderContainer {
<DreamContainer>
<DreamSprite src={roleCont} />
<DreamSprite onClick={() => {
// TODO
this.props.closeModal()
}} inlineProps={{
<DreamSprite onClick={this.onConfirm} inlineProps={{
x: roleCont.width - 50,
y: -50
}} src={RES.getRes('closebtn.png')}/>
<DreamSprite onClick={this.props.closeModal} inlineProps={{
<DreamSprite onClick={this.onConfirm} inlineProps={{
x: roleCont.width / 2 - confirmbtn.width / 2,
y: 300
}} src={confirmbtn}/>
......
......@@ -4,6 +4,7 @@ import { DreamTextField } from "../../components/DreamTextField/DreamTextField";
import Dream from "../../Dream";
import { RES } from "../../modules/RES";
import { UsePreload } from "../../modules/UseDecorator/usePreload";
import { sendTbNet, TbNetName } from "../../tools/TbNet";
@UsePreload({
resList: [],
......@@ -14,15 +15,21 @@ import { UsePreload } from "../../modules/UseDecorator/usePreload";
})
export class DrawSucModal extends Dream.RenderContainer<{
closeModal: () => Promise<any>,
onConfirm: () => void
name: string,
img: string
}> {
onConfirm = () => {
// TODO 回到首页?
onClose2GameOver = () => {
this.props.onConfirm()
this.props.closeModal()
}
onConfirm = () => {
// sendTbNet(TbNetName.goMyPrize)
this.onClose2GameOver()
}
render() {
const roleCont = RES.getRes('DSMB.png')
const confirmbtn = RES.getRes('DSM1.png')
......@@ -36,8 +43,7 @@ export class DrawSucModal extends Dream.RenderContainer<{
<DreamSprite src={roleCont}></DreamSprite>
<DreamSprite onClick={() => {
// TODO
this.props.closeModal()
this.onClose2GameOver()
}} inlineProps={{
x: roleWidth - 50
}} src={RES.getRes('closebtn.png')}/>
......
import { DreamContainer } from "../../components/DreamContainer/DreamContainer";
import { DreamSprite } from "../../components/DreamSprite/DreamSprite";
import Dream from "../../Dream";
import { RES } from "../../modules/RES";
import { UsePreload } from "../../modules/UseDecorator/usePreload";
@UsePreload({
preAction: async() => {
await RES.loadGroup('FinalGiftModal')
}
})
export class FinalGiftModal extends Dream.RenderContainer {
onConfirm() {
this.props.onConfirm()
}
render() {
const roleCont = RES.getRes('FGMB.png')
const confirmbtn = RES.getRes('FGM1.png')
return (
<DreamContainer>
<DreamSprite src={roleCont} />
<DreamSprite src={confirmbtn} onClick={this.onConfirm.bind(this)} inlineProps={{
x: roleCont.width / 2 - confirmbtn.width / 2,
y: 500
}} />
</DreamContainer>
)
}
}
\ No newline at end of file
......@@ -5,6 +5,7 @@ import { RES } from "../../modules/RES";
import { UsePreload } from "../../modules/UseDecorator/usePreload";
import Dream from "../../Dream";
import { DreamTextField } from "../../components/DreamTextField/DreamTextField";
import { sendTbNet, TbNetName } from "../../tools/TbNet";
console.log(Dream)
@UsePreload({
......@@ -16,12 +17,12 @@ export class GameOverModal extends ModalComponent<{
score: number
}> {
onCancel() {
// TODO 回到首页
sendTbNet(TbNetName.goBackHome)
this.props.closeModal()
}
onConfirm() {
// TODO 显示复活卡弹窗
sendTbNet(TbNetName.openCardTask)
}
......
......@@ -4,6 +4,7 @@ import { DreamTextField } from "../../components/DreamTextField/DreamTextField";
import Dream from "../../Dream";
import { RES } from "../../modules/RES";
import { UsePreload } from "../../modules/UseDecorator/usePreload";
import { sendTbNet, TbNetName } from "../../tools/TbNet";
@UsePreload({
async preAction() {
......@@ -16,8 +17,8 @@ export class GameQuitModal extends Dream.RenderContainer<{
}> {
onConfirm = () => {
// TODO
this.props.closeModal()
sendTbNet(TbNetName.goBackHome)
}
render() {
......
......@@ -5,6 +5,7 @@ import Dream from "../../Dream";
import { DreamSpriteV2 } from "../../Dream/UI";
import { RES } from "../../modules/RES";
import { UsePreload } from "../../modules/UseDecorator/usePreload";
import { sendTbNet, TbNetName } from "../../tools/TbNet";
@UsePreload({
preAction: async function() {
......@@ -15,6 +16,8 @@ import { UsePreload } from "../../modules/UseDecorator/usePreload";
export class GameResumeModal extends Dream.RenderContainer<{
resumeNum: number,
closeModal: () => Promise<any>
onConfirm: () => void
onCancel: () => Promise<void>
}> {
countTextField: FYGE.TextField
intervalId: any
......@@ -46,9 +49,17 @@ export class GameResumeModal extends Dream.RenderContainer<{
/**
* 确认走复活逻辑
*/
onConfirm = () => {
// TODO 走下接口
this.props.closeModal()
onConfirm = async () => {
const {
success
} = await sendTbNet(TbNetName.reduceTools)
if (success) {
this.props.onConfirm()
this.props.closeModal()
} else {
this.props.closeModal()
}
}
render() {
......@@ -77,7 +88,10 @@ export class GameResumeModal extends Dream.RenderContainer<{
x: RoleContWidth / 2 - cancelBtn.width / 2,
y: 320 + confirmBtn.height + 20
}}
onClick={this.props.closeModal}
onClick={async () => {
this.props.onCancel()
this.props.closeModal()
}}
>
<DreamTextField ref={el=> {
this.countTextField = el
......
......@@ -9,71 +9,142 @@ export enum BoxType {
Box8 = 'Box8',
}
export const BoxTypeList: BoxType[] = [
BoxType.Box1,
BoxType.Box2,
BoxType.Box3,
BoxType.Box4,
BoxType.Box5,
BoxType.Box6,
BoxType.Box7,
BoxType.Box8
]
export const GameConfig = {
debugger: true,
GenerateSpace: [300, 400], // 生成间距
finalGiftPart: 0.1, // 最终奖励 概率 100%
maxLen: 550,
totoalPart: 0, // 全部概率
PartList: [] as {
preSumPart: number,
type: BoxType
}[], // 概率
GenerateConfig: {
angle: Math.PI * 40 / 180,
tanNum: Math.tan(Math.PI * 40 / 180)
},
CameraConfig: {
pos: {
x: 375,
y: 1100
},
},
GameStagePos: {
x: 160,
y: 1200
},
boxConfig: {
[BoxType.Box1]: {
resName: 'box1.png',
addScore: 5,
oc: {
x: 200, y: 100 // 判断中心点
x: 142, y: 230 // 判断中心点
},
oz: 60 // height
oz: 90, // height
dt: [-60, 50],
part: 10
},
[BoxType.Box2]: {
resName: 'box2.png',
addScore: 5,
oc: {
x: 200, y: 100
x: 142, y: 230
},
oz: 60
oz: 60,
dt: [-50, 50],
part: 10
},
[BoxType.Box3]: {
resName: 'box3.png',
addScore: 5,
oc: {
x: 200, y: 100
x: 142, y: 230
},
oz: 60
oz: 140,
dt: [-50, 50],
part: 10
},
[BoxType.Box4]: {
resName: 'box4.png',
addScore: 5,
oc: {
x: 200, y: 100
x: 142, y: 250
},
oz: 60
oz: 160,
dt: [-40, 40],
part: 10
},
[BoxType.Box5]: {
resName: 'box5.png',
addScore: 5,
oc: {
x: 200, y: 100
x: 142, y: 260
},
oz: 60
oz: 60,
dt: [-40, 40],
part: 10
},
[BoxType.Box6]: {
resName: 'box6.png',
addScore: 5,
oc: {
x: 200, y: 100
x: 142, y: 230
},
oz: 60
oz: 70,
dt: [-50, 50],
part: 10
},
[BoxType.Box7]: {
resName: 'box7.png',
addScore: 5,
oc: {
x: 200, y: 100
x: 142, y: 360
},
oz: 60
oz: 300,
dt: [-50, 50],
part: 4
},
[BoxType.Box8]: {
resName: 'box8.png',
addScore: 5,
oc: {
x: 200, y: 100
x: 142, y: 360
},
oz: 60
oz: 305,
dt: [-40, 40],
part: 4
}
}
}
\ No newline at end of file
}
let temp = []
for (let k in GameConfig.boxConfig) {
let kType: BoxType = k as any
temp.push(kType)
}
const tp: {
preSumPart: number,
type: BoxType
}[] = []
GameConfig.totoalPart = temp.reduce((pre, cur) => {
const tt = pre + GameConfig.boxConfig[cur].part
tp.push({
preSumPart: tt,
type: cur
})
return tt
}, 0)
GameConfig.PartList = tp
import { DreamContainer } from "../../components/DreamContainer/DreamContainer";
import { DreamShape } from "../../components/DreamShape/DreamShape";
import { DreamSprite } from "../../components/DreamSprite/DreamSprite";
import { DreamTextField } from "../../components/DreamTextField/DreamTextField";
import Dream from "../../Dream";
import Dream, {DreamProps } from "../../Dream";
import { fadeOutUpFactory } from "../../modules/animations";
import { RES } from "../../modules/RES";
import { BoxType, BoxTypeList, GameConfig } from "./GameConfig";
type GameEleType = DreamProps<{
type?: BoxType,
x?: number,
y?: number,
inlineProps?: Record<string, any>
isWithGift?: boolean
}, GameEle>
export class GameEle extends Dream.RenderContainer<GameEleType> {
GameBoxType: BoxType = BoxType.Box1
GiftIcon: FYGE.Sprite
constructor(props: GameEleType) {
super(props)
const {
type
} = this.props
if (type) {
this.GameBoxType = type
} else {
this.GameBoxType = BoxTypeList[Math.random() * BoxTypeList.length >> 0]
}
}
didRendered(): void {
}
onGetGift() {
if (this.GiftIcon) {
fadeOutUpFactory(500, 200)(this.GiftIcon)
}
}
export class GameEle extends Dream.RenderContainer {
render() {
const currGameBoxConfig = GameConfig.boxConfig[this.GameBoxType]
const boxRes = RES.getRes(currGameBoxConfig.resName)
const {
x,
y,
inlineProps,
isWithGift
} = this.props
const {
dt = [0, 0],
oc: {
x: ocx,
y: ocy
},
oz
} = currGameBoxConfig
const tanNum = Math.tan(GameConfig.GenerateConfig.angle)
// const offsetY = * Math.abs(spaceNum)
// console.log(boxRes, this.GameBoxType, GameConfig.boxConfig, currGameBoxConfig)
return (
<FYGE.Container>
<DreamTextField text="12123" color="#ffffff"></DreamTextField>
<DreamSprite src={RES.getRes('产品8.png')} inlineProps={{
x: 200,
y: 1000
}}></DreamSprite>
</FYGE.Container>
<DreamContainer inlineProps={{
...inlineProps,
x,y
}}>
<DreamContainer inlineProps={{
x: -currGameBoxConfig.oc.x,
y: -currGameBoxConfig.oc.y
}}>
<DreamSprite src={boxRes}></DreamSprite>
{
isWithGift && (
<DreamSprite ref={el => {
this.GiftIcon = el
}} src={RES.getRes('giftBoxIcon.png')} inlineProps={{
x: currGameBoxConfig.oc.x - 60,
y: currGameBoxConfig.oc.y - 80 - currGameBoxConfig.oz,
}} />
)
}
{
GameConfig.debugger && (
<DreamContainer>
<DreamShape type="circle" drawData={[0,0, 8]} fillColor="#f17368" inlineProps={{
x: currGameBoxConfig.oc.x,
y: currGameBoxConfig.oc.y
}} />
<DreamShape type="circle" drawData={[0,0, 8]} fillColor="#f17368" inlineProps={{
x: ocx,
y: ocy - oz
}} />
<DreamShape type="circle" drawData={[0,0, 8]} fillColor="#f17368" inlineProps={{
x: ocx + dt[0],
y: ocy - oz + tanNum * Math.abs(dt[0])
}} ></DreamShape>
<DreamShape type="circle" drawData={[0,0, 8]} fillColor="#f17368" inlineProps={{
x: ocx + dt[1],
y: ocy - oz - tanNum * dt[1]
}} ></DreamShape>
</DreamContainer>
)
}
</DreamContainer>
</DreamContainer>
)
}
}
\ No newline at end of file
......@@ -3,24 +3,44 @@ import { DreamLottie } from "../../components/DreamLottie/DreamLottie";
import { DreamShape } from "../../components/DreamShape/DreamShape";
import { DreamSprite } from "../../components/DreamSprite/DreamSprite";
import { DreamTextField } from "../../components/DreamTextField/DreamTextField";
import { DreamToast } from "../../components/DreamToast/DreamToast";
import { DreamWaiting } from "../../components/DreamWaiting/DreamWaiting";
import Dream from "../../Dream";
import { DreamSpriteV2 } from "../../Dream/UI";
import { countDown } from "../../lotties/countDown";
import { GameAtom } from "../../lotties/GameAtom";
import { handLottie } from "../../lotties/handLottie";
import { fadeOutFactory, slideTop } from "../../modules/animations";
import { BounceOutAni, fadeOutFactory, slideTop } from "../../modules/animations";
import { layers } from "../../modules/layers";
import { ModalCtroller } from "../../modules/ModalControl";
import { RES } from "../../modules/RES";
import { UsePreload } from "../../modules/UseDecorator/usePreload";
import { DrawFailModal } from "../../panels/DrawFailModal/DrawFailModal";
import { DrawSucModal } from "../../panels/DrawSucModal/DrawSucModal";
import { FinalGiftModal } from "../../panels/FinalGiftModal/FinalGiftModal";
import { GameOverModal } from "../../panels/GameOverModal/GameOverModal";
import { GameQuitModal } from "../../panels/GameQuitModal/GameQuitModal";
import { GameResumeModal } from "../../panels/GameResumeModal/GameResumeModal";
import { PlayAudio } from "../../tools/simpleTools";
import { sendTbNet, TbNetName } from "../../tools/TbNet";
import { Tools } from "../../tools/Tools";
import { BoxType, BoxTypeList, GameConfig } from "./GameConfig";
import { GameEle } from "./GameEle";
import { Player } from "./Player";
import { Player, PlayerIns } from "./Player";
import { Stack } from "./Stack";
/**
* 获取 n-m之间的 随机数
* @param {Number} m
* @param {Number} n
* @returns
*/
function randomNum(min: number, max: number) {
var _max = max;
var _min = min;
return Math.floor(Math.random() * (_max - _min + 1)) + _min;
}
class ScoreBoard extends Dream.RenderContainer {
scoreTextField: FYGE.TextField
......@@ -55,6 +75,11 @@ class ScoreBoard extends Dream.RenderContainer {
}
}
type Pos = {
x: number,
y: number
}
@UsePreload({
preAction: async function() {
await RES.loadGroup('handLottie')
......@@ -63,42 +88,481 @@ class ScoreBoard extends Dream.RenderContainer {
await RES.loadGroup('countDown')
// await RES.loadGroup('spine')
await RES.loadGroup('GameAtom')
await RES.loadGroup('Boxes')
await RES.loadGroup('JumpEnd')
await RES.loadGroup('PerfectJumpEnd')
}
})
export class GameScene extends Dream.RenderContainer {
ScoreBoardIns: ScoreBoard
sceneCont: FYGE.Container
GameEleContainer: FYGE.Container
GameStageContainer: FYGE.Container // 游戏舞台 主要用作视角移动的
GameEleStack: Stack<FYGE.Container & {
oz?: number
}> = new Stack()
GameDtStack: Stack<{
target: FYGE.Container,
dt: number[],
oz: number
}> = new Stack()
CurrBoxItem: FYGE.Container & {oz?: number} // 当前站着的 墩子
PlayerOfRabbit: PlayerIns // 兔子实例
PlayerTarget: FYGE.Container
isPaused: boolean = false
DecisionConfig: {
list: number[], // 判定点位,正常 就是四个,当前墩子的两个和下一个墩子的二个
score: number // 当前配置项
geleIns?: GameEle
} = {
list: [],
score: 0
}
touchPushObj = {tl: 0}
isOver: boolean = false
isCouldHaveGift: boolean = true
isWithGift: boolean = false
private _dir: 1 | -1
get dir() {
return this._dir
}
set dir(v) {
this._dir = v
this.PlayerOfRabbit.turnRound(v)
}
async didRendered() {
const firstGenerateBox = BoxType.Box6
const currBoxConfig = GameConfig.boxConfig[firstGenerateBox]
const currBoxItem = this.onGenerateBox({
type: firstGenerateBox,
pos: {
x: GameConfig.GameStagePos.x,
y: GameConfig.GameStagePos.y
}
})
this.onGenerateRabbit({
pos: {
x: currBoxItem.x,
y: currBoxItem.y - currBoxConfig.oz
}
})
// await new Promise(r => setTimeout(r, 500))
// TODO 这里的 时序问题记得弄一下
await this.onShowCountDown()
this.onRealGameStart()
this.initEvents()
}
onAddScore() {
this.ScoreBoardIns.score += 1
ModalCtroller.showModal(GameQuitModal, {
resumeNum: 10,
score: 999,
name: '奢华养肤黑霜25g',
img: 'http://qnpic.top/yoona2.jpg',
pName: '12123123'
}, {
center: true,
hideCall: fadeOutFactory(100),
showCall: slideTop(500),
maskAlpha: 0.8,
destroy: false
unMount(): void {
this.removeEvents()
}
/**
* 绑定事件
*/
initEvents() {
if (GameConfig.debugger) {
document.body.addEventListener('keydown', (e) => {
if (e.code != "Space") return;
this.onActionDown();
})
}
this.sceneCont.addEventListener(FYGE.MouseEvent.MOUSE_DOWN, this.onActionDown, this)
}
removeEvents() {
this.sceneCont.removeAllEventListener()
}
/**
* 按下动作
*/
onActionDown() {
if (this.isPaused || this.isOver) return
this.isPaused = true
this.PlayerOfRabbit.jumpPrepare()
const touchPushObj = this.touchPushObj = {
tl: 0
}
FYGE.Tween.get(touchPushObj)
.to({
tl: GameConfig.maxLen
}, 1600)
.call(() => {
console.log('最远距离了')
})
if (GameConfig.debugger) {
document.body.addEventListener('keyup', async () => {
this.onActionUp()
}, {once: true})
}
this.sceneCont.once(FYGE.MouseEvent.MOUSE_UP, this.onActionUp, this)
}
/**
* 获取当前 跳跃的阶段
* @param fx
*/
onGetCurrJumpIndex(fx: number) {
const DecterList = this.DecisionConfig.list
const _i = DecterList.findIndex(i => i > fx)
return _i
}
/**
* 松开
*/
async onActionUp() {
const PlayerTarget = this.PlayerTarget
const touchPushObj = this.touchPushObj
const {
x: cx,
y: cy,
oz
} = this.CurrBoxItem
FYGE.Tween.removeTweens(touchPushObj)
// Math.abs(this.GameEleStack.stackHead.x - this.CurrBoxItem.x)
let tl = Math.abs(PlayerTarget.x + touchPushObj.tl * this.dir - cx)
const _i = this.onGetCurrJumpIndex(tl)
let currTanN = GameConfig.GenerateConfig.tanNum
let py = 0 // 兔子y的值
let mh
const temp = cy - currTanN * tl
if (_i == 1) {
py = temp - oz
} else if (_i == 2) {
py = temp
} else if (_i == 3) {
// success
py = temp - this.GameDtStack.stackHead.oz
} else {
// 跳过了 直接 550 吧
tl = 550
py = cy - currTanN * tl
mh = this.GameEleStack.stackHead.y - this.GameEleStack.stackHead.oz
}
console.log('touchPushObj.tl:', tl, _i)
await this.onActionJump({
offsetX: cx + tl * this.dir,
offsetY: py,
maxH: mh
})
console.log('jumpEnd')
if (_i == 3) {
this.onJumpSuc()
} else if (_i == 2 || _i == -1) {
this.onGameOver()
}
}
onJumpSuc() {
if (this.isWithGift) {
this.DecisionConfig.geleIns.onGetGift()
this.isDrawed = true
} else {
PlayAudio()
this.onAddScore()
}
this.onGenerateBox()
}
isUsed: boolean = false
onGameOver() {
this.isOver = true
let f = Tools.PageData.liveCard
if (f && !this.isUsed) {
ModalCtroller.showModal(GameResumeModal, {
resumeNum: Tools.PageData.liveCard,
onConfirm: () => {
this.isUsed = true
this.isOver = false
this.PlayerTarget.position.set(
this.CurrBoxItem.x,
this.CurrBoxItem.y - this.CurrBoxItem.oz
)
this.PlayerTarget.parent.addChild(this.PlayerTarget)
BounceOutAni(1000)(this.PlayerTarget)
},
onCancel: this.onShowGameOverModal
})
} else {
this.onShowGameOverModal()
}
}
isDrawed: boolean = false
onDraw() {
return new Promise<void>(async (r) => {
ModalCtroller.showModal(FinalGiftModal, {
onConfirm: async () => {
const {success, data: {type, name, image}} = await sendTbNet(TbNetName.onDrawLottery)
ModalCtroller.closeModal(FinalGiftModal)
if (success) {
if (type != 5) {
ModalCtroller.showModal(DrawSucModal, {
name,
img: image,
onConfirm: () => {
r()
}
})
} else {
ModalCtroller.showModal(DrawFailModal, {
onConfirm: () => {
r()
}
})
}
} else {
r()
}
}
})
})
}
onShowGameOverModal = async () => {
const submitScore = this.ScoreBoardIns.score
const {
success
} = await sendTbNet(TbNetName.submitGame, {
score: submitScore
})
if (success) {
if (this.isDrawed) {
await this.onDraw()
}
ModalCtroller.showModal(GameOverModal, {
score: submitScore,
})
} else {
sendTbNet(TbNetName.goBackHome)
}
}
/**
* maxH 跳过了就用这个吧
* @param config
* @returns
*/
async onActionJump(config: {
offsetX: number,
offsetY: number,
maxH?: number
}) {
return new Promise<void>(async(resolve) => {
const PlayerTarget = this.PlayerTarget
this.PlayerOfRabbit.jump()
console.log('jump config:', config)
if (GameConfig.debugger) {
this.GameEleContainer.addChild(
<DreamShape inlineProps={{
x: config.offsetX,
y: config.offsetY
}} type="circle" drawData={[0,0, 8]} fillColor="#006cf9"></DreamShape>
)
}
// 0-15下蹲 15-25起跳 25-35帧落地 35-50缓冲 30帧每秒
FYGE.Tween.get(PlayerTarget, {
onChange:() => {
const _i = this.onGetCurrJumpIndex(Math.abs(PlayerTarget.x - this.CurrBoxItem.x))
const parentCont = this.GameEleContainer
if (_i == 2 && PlayerTarget._index !== 2) {
PlayerTarget._index = 2
parentCont.addChildAt(PlayerTarget, parentCont.getChildIndex(this.CurrBoxItem))
} else if (_i == -1 && PlayerTarget._index !== -1) {
PlayerTarget._index = -1
parentCont.addChildAt(PlayerTarget, parentCont.getChildIndex(this.GameEleStack.stackHead))
}
}
})
.to({
x: config.offsetX
}, 600)
FYGE.Tween.get(PlayerTarget)
.to({
y: Math.min(config.offsetY, PlayerTarget.y, config.maxH || 13300) - 100
}, 400, FYGE.Ease.quadOut)
.to({
y: config.offsetY
}, 200, FYGE.Ease.quadIn)
.wait(300)
.call(() => {
this.isPaused = false
PlayerTarget._index = 0 // 初始化一下
resolve()
})
})
}
/**
* 生成兔子
* @param config
*/
onGenerateRabbit(config: {
pos: Pos
}) {
const {
pos
} = config
this.GameEleContainer.addChild(
<DreamContainer ref={el => {
this.PlayerTarget = el
}} inlineProps={{
x: pos.x,
y: pos.y
}}>
<Player getPlayer={player => {
this.PlayerOfRabbit = player
}}/>
</DreamContainer>
)
}
onAddScore() {
const addScore = this.DecisionConfig.score
this.ScoreBoardIns.score += addScore
this.PlayerOfRabbit.showJumpEndAtom(addScore)
// ModalCtroller.showModal(GameQuitModal, {
// resumeNum: 10,
// score: 999,
// name: '奢华养肤黑霜25g',
// img: 'http://qnpic.top/yoona2.jpg',
// pName: '12123123'
// }, {
// center: true,
// hideCall: fadeOutFactory(100),
// showCall: slideTop(500),
// maskAlpha: 0.8,
// destroy: false
// })
}
onGoBack() {
// TODO 返回首页
console.log('GO')
ModalCtroller.showModal(GameQuitModal,{
pName: '惊喜',
})
}
onRealGameStart() {
async onRealGameStart() {
this.onGenerateBox()
}
/**
* 生成Box
* @param config
*/
onGenerateBox(config?: {
type?: BoxType,
pos?: {x: number,y: number}
}) {
const cfg = Object.assign({}, config)
let GenerateItem: FYGE.Container & {oz?: number}
// 这里就给 随机 box BoxTypeList[Math.random() * BoxTypeList.length >> 0]
// part => box
let randNum = Math.random() * GameConfig.totoalPart
cfg.type = cfg.type || GameConfig.PartList.find(item => {
return item.preSumPart > randNum
}).type
const {
type,
pos
} = cfg
const currBoxConfig = GameConfig.boxConfig[type]
if (!pos) {
const stackHeadBox = this.GameEleStack.stackHead
const {x: preX, y: preY} = stackHeadBox
const dir = this.dir = -1 //Math.random() > 0.5 ? 1 : -1
// 刷新
const isWithGift = this.isWithGift = this.isCouldHaveGift && Math.random() < GameConfig.finalGiftPart
this.isCouldHaveGift = false
const spaceNum = dir * randomNum(GameConfig.GenerateSpace[0], GameConfig.GenerateSpace[1])
const offsetY = Math.tan(GameConfig.GenerateConfig.angle) * Math.abs(spaceNum)
const tartgetPos = {
x: preX + spaceNum,
y: preY - offsetY
}
GenerateItem = <GameEle ref={(el) => {
this.DecisionConfig.geleIns = el
}} x={tartgetPos.x} y={tartgetPos.y} type={type} isWithGift={isWithGift} />
// 生成下一阶段的判定点位
this.DecisionConfig.list = [
0,
this.GameDtStack.stackHead.dt[1],
Math.abs(tartgetPos.x - stackHeadBox.x) + currBoxConfig.dt[0],
Math.abs(tartgetPos.x - stackHeadBox.x) + currBoxConfig.dt[1]
]
this.DecisionConfig.score = currBoxConfig.addScore
// 记录兔子当前点
this.CurrBoxItem = stackHeadBox
GenerateItem['oz'] = currBoxConfig.oz
const tPos: Pos = {
x: preX + spaceNum / 2,
y: preY - offsetY / 2
}
// 视角移动下
const _GameStageContainer = this.GameStageContainer
const relativePos: Pos = {
x: GameConfig.CameraConfig.pos.x - tPos.x,
y: GameConfig.CameraConfig.pos.y - tPos.y
}
FYGE.Tween.removeTweens(_GameStageContainer)
FYGE.Tween.get(_GameStageContainer)
.to(relativePos, 500)
} else {
GenerateItem = <GameEle x={cfg.pos.x} y={cfg.pos.y} type={type} />
GenerateItem['oz'] = currBoxConfig.oz
}
this.GameEleContainer.addChildAt(GenerateItem, 0)
if (!cfg.pos) {
BounceOutAni(1000)(GenerateItem)
// const oy = GenerateItem.position.y
// GenerateItem.position.y -= 100
// FYGE.Tween.get(GenerateItem)
// .to({
// y: oy
// }, 1000, FYGE.Ease.bounceOut)
}
this.GameEleStack.pushStack(GenerateItem)
this.GameDtStack.pushStack({
target: GenerateItem,
dt: currBoxConfig.dt,
oz: currBoxConfig.oz
})
return GenerateItem
}
/**
......@@ -128,56 +592,65 @@ export class GameScene extends Dream.RenderContainer {
render() {
const bottomAtomRes = RES.getRes('bottomAtom.png')
return (
<FYGE.Container ref={(el: any) => {
this.sceneCont = el
}} onClick={() => {
this.onAddScore()
}}>
<FYGE.Container>
<FYGE.Container inlineProps={{
alpha: 1
}} >
<DreamSpriteV2 src={RES.getRes('back.png')} ></DreamSpriteV2>
</FYGE.Container>
<DreamContainer ref={(el: any) => {
this.sceneCont = el
}}>
<FYGE.Container inlineProps={{
alpha: 1
}} >
<DreamSpriteV2 src={RES.getRes('back.png')} ></DreamSpriteV2>
</FYGE.Container>
{/* 游戏氛围 */}
<DreamLottie lottieData={GameAtom} inlineProps={{
y: 400
}}/>
{/* 游戏氛围 */}
<DreamLottie lottieData={GameAtom} inlineProps={{
y: 400
}}/>
<FYGE.Container className="Header">
<ScoreBoard
ref={(el: any) => {
this.ScoreBoardIns = el
}}
inlineProps={{
x: 200,
y: 270
}} />
</FYGE.Container>
<FYGE.Container className="Header">
<ScoreBoard
ref={(el: any) => {
this.ScoreBoardIns = el
}}
inlineProps={{
x: 200,
y: 270
}} />
</FYGE.Container>
<DreamSprite className="goBackBtn" onClick={this.onGoBack} src={RES.getRes('goBackBtn.png')} inlineProps={{
y: 200
}} />
{/* 游戏主体 */}
<DreamContainer ref={el => {
this.GameStageContainer = el
}}>
{/* 游戏元素Container */}
<DreamContainer className="GameEleContainer" ref={el => {
this.GameEleContainer = el
}}>
</DreamContainer>
</DreamContainer>
<Player inlineProps={{
x: 200,
y: 1600
}}/>
{/* 视角 */}
{
GameConfig.debugger && (
<DreamShape inlineProps={{
x: GameConfig.CameraConfig.pos.x,
y: GameConfig.CameraConfig.pos.y
}} type="circle" drawData={[0,0, 8]} fillColor="#ff2727"></DreamShape>
)
}
{/* 游戏主题 */}
<DreamContainer>
{/* 游戏元素Container */}
<DreamContainer ref={el => {
this.GameEleContainer = el
}}></DreamContainer>
<FYGE.Container inlineProps={{
y: 1624 - bottomAtomRes.height
}}>
<DreamSpriteV2 src={bottomAtomRes}></DreamSpriteV2>
</FYGE.Container>
</DreamContainer>
<FYGE.Container inlineProps={{
y: 1624 - bottomAtomRes.height
}}>
<DreamSpriteV2 src={bottomAtomRes}></DreamSpriteV2>
</FYGE.Container>
<DreamSprite className="goBackBtn" onClick={this.onGoBack} src={RES.getRes('goBackBtn.png')} inlineProps={{
y: 200
}} />
</FYGE.Container>
)
}
......
import { DreamSpine } from "../../components/DreamSpine/DreamSpine";
import { DreamContainer } from "../../components/DreamContainer/DreamContainer";
import { DreamLottie } from "../../components/DreamLottie/DreamLottie";
import { DreamSpine, setSpineAni } from "../../components/DreamSpine/DreamSpine";
import { DreamTextField } from "../../components/DreamTextField/DreamTextField";
import Dream from "../../Dream";
import { JumpEnd } from "../../lotties/JumpEnd";
import { PerfectJumpEnd } from "../../lotties/PerfectJumpEnd";
import { fadeOutUpFactory } from "../../modules/animations";
import { RES } from "../../modules/RES";
import { UsePreload } from "../../modules/UseDecorator/usePreload";
export enum PlayAniEnum {
Stand = 'daiji',
Jump = 'zuizhong'
StandBy = 'dunxia1',
Jump = 'tiaoyue2'
}
const PlayerAction = {
JUMP: 'tiaoyue2',
STANDBY: 'dunxia1',
STAND: 'daiji'
}
export type PlayerIns = {
turnRound: (dir: 1 | -1) => void
jump: () => Promise<void>
jumpPrepare: () => Promise<void>
showJumpEndAtom: (score: number) => Promise<void>
}
@UsePreload({
......@@ -15,19 +35,45 @@ export enum PlayAniEnum {
loadingComponent: null
})
export class Player extends Dream.RenderContainer<{
getPlayer?: (ins: {
turnRound: (dir: 1 | -1) => void
target: FYGE.Spine
}) => void
getPlayer?: (ins: PlayerIns) => void
inlineProps?: Record<string, any>
}> {
SpineContainer: FYGE.Container
SpinePlayer: FYGE.Spine
AtomLottie: FYGE.Lottie
aniText: FYGE.TextField
didRendered(): void {
this.props.getPlayer && this.props.getPlayer({
turnRound: (dir) => {
this.SpinePlayer.scaleX = dir
this.SpineContainer.scaleX = dir
},
jump: () => {
return new Promise(r => {
setSpineAni(this.SpinePlayer, PlayerAction.JUMP, 1 , () => {
setSpineAni(this.SpinePlayer, PlayerAction.STAND)
r()
})
})
},
showJumpEndAtom:(score: number) => {
return new Promise(r => {
this.AtomLottie.visible = true
this.aniText.text = `+${score}`
fadeOutUpFactory(500, 100)(this.aniText)
this.AtomLottie.play(1, () => {
this.AtomLottie.visible = false
r()
})
})
},
target: this.SpinePlayer
jumpPrepare: () => {
return new Promise(r => {
setSpineAni(this.SpinePlayer, PlayerAction.STANDBY, 1 , () => {
r()
})
})
}
})
}
......@@ -35,9 +81,33 @@ export class Player extends Dream.RenderContainer<{
const PlayerSpineData = RES.getRes('rabbit.spi')
return (
<DreamSpine ref={el => {
this.SpinePlayer = el
}} aniName={PlayAniEnum.Stand} spineData={PlayerSpineData} inlineProps={this.props.inlineProps}></DreamSpine>
<DreamContainer inlineProps={{
...this.props.inlineProps
}}>
<DreamTextField ref={el=> {
this.aniText = el
}} size={32} color="#fad99e" text="+0" textWidth={300} inlineProps={{
y: -210,
x: -150,
alpha: 0
}} ></DreamTextField>
<DreamContainer ref={el => {
this.SpineContainer = el
}}>
<DreamLottie ref={el => {
this.AtomLottie = el
}} inlineProps={{
x: -125,
y: -230,
visible: false
}} lottieData={JumpEnd} />
<DreamSpine ref={el => {
this.SpinePlayer = el
}} aniName={PlayAniEnum.Stand} spineData={PlayerSpineData} inlineProps={{
y: 10,x: -5
}}></DreamSpine>
</DreamContainer>
</DreamContainer>
)
}
}
\ No newline at end of file
export class Stack<T extends any = number> {
list: T[] = []
get stackHead() {
return this.list[this.list.length - 1]
}
pushStack(item: T) {
this.list.push(item)
return item
}
popStack() {
return this.list.pop()
}
traverse(callbackfn: (value: T, index: number, array: T[]) => void) {
const sliceItems = this.list.slice(0)
sliceItems.forEach(callbackfn)
}
}
\ No newline at end of file
import { GDispatcher } from "..";
import { DreamToast } from "../components/DreamToast/DreamToast";
import { ModalCtroller } from "../modules/ModalControl";
//接口枚举,包括需要调用淘宝的api,用是否含有兑吧区分,或者单独区分
export enum TbNetName {
submitGame = 'mine.submitGame',
reduceTools = "mine.reduceTools",
goBackHome = "mine.goBackHome",
goMyPrize = "mine.goMyPrize",
onDrawLottery = "mine.onDrawLottery",
openCardTask = "mine.openCardTask"
}
async function fetchAsync(url: string) {
// await response of fetch call
let response = await fetch(url);
// only proceed once promise is resolved
let data = await response.json();
// only proceed once second promise is resolved
return data;
}
function showToast(msg: string) {
ModalCtroller.showModal(DreamToast, {
msg: msg
}, {
maskAlpha: 0
})
setTimeout(() => {
ModalCtroller.closeModal(DreamToast)
}, 1500)
}
//返回数据类型
interface dataOut {
success: boolean,
data?: any
code?: string,
message?: string
}
//记录数据
let dataRecord: {
[name: string]: any
} = {};
/**
* 发送接口
* @param netName
* @param parameter
* @param callback
* @param hideMsg
*/
export function sendTbNet(
netName: TbNetName,
parameter?: any,
callback?: (success: boolean, res?: dataOut) => void,
hideMsg: boolean = false
): Promise<dataOut> {
return new Promise((resolve, reject) => {
//网络超时
// let waitObj;
//@ts-ignore 本地开发,直接取数据
if (location.port == '8081') {
const netInfo = netName.split(".");
const url = `../../mock/miniTb/${netInfo[0]}/${netInfo[1]}.json`;
fetchAsync(url)
.then((data) => {
//清除超时
// clearWait(waitObj)
//记录数据
dataRecord[netName] = data;
//统一错误信息提示
if (!hideMsg && !data.success) showToast(data.message || "网络异常")
//回调
callback && callback(data.success, data);
resolve(data)
console.log(
`\n%c[ mock ]\n`
+ `NAME : ${netName} \n`
+ `STATE : %o \n`
+ `PARAM : %o \n`
+ `%cDATA : %o \n`
, `${data.success ? 'color:green' : 'color:red'}`
, data.success
, parameter
, `${data.success ? 'color:green' : 'color:red'}`
, data
);
}, () => {
resolve({ success: false, data: null });
})
return
}
let fun = function (e: { type: string, data: dataOut }) {
//清除超时记录
// clearWait(waitObj)
//移除事件
GDispatcher.removeEventListener(netName, fun);
var d = e.data;
//记录数据
dataRecord[netName] = d;
//统一错误信息提示,d.data为了区分网络超时
if (!hideMsg && !d.success) showToast(d.message || "网络超时")
//执行回调
callback && callback(d.success, d);
resolve(d)
console.log(
`\n%c[ request ]\n`
+ `NAME : ${netName} \n`
+ `STATE : %o \n`
+ `PARAM : %o \n`
+ `%cDATA : %o \n`
, `${d.success ? 'color:green' : 'color:red'}`
, d.success
, parameter
, `${d.success ? 'color:green' : 'color:red'}`
, d
);
}
//添加事件接收接口返回信息
GDispatcher.addEventListener(netName, fun);
//用事件方式吧,派发事件发接口,,,,注意很多独有的事件名别重了,onHide,onShow,onMessage等 放到最后,因为有同步的情况
GDispatcher.dispatchEvent({ type: "onMessage" }, { netName, parameter })
})
}
\ No newline at end of file
export class Tools {
static PageData: {
isFirstGame: boolean,
liveCard: number
} = {
isFirstGame: false,
liveCard: 1
}
}
\ No newline at end of file
// @ts-ignore
const app = getApp()
const audioIns = app?.audioContext
if (audioIns) {
audioIns.onPlay(() => {
console.log('播放')
})
audioIns.onError(() => {
console.log('audio error')
})
}
export function PlayAudio() {
audioIns && audioIns.play()
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment