Commit e4815058 authored by wjf's avatar wjf

k

parent 2c8b7486
......@@ -1601,10 +1601,7 @@ var Lottie = (function (_super) {
else if (xs.indexOf("cycle") >= 0 && data[data.length - 1].t < this.rawData.op) {
var rr = xs.replace(/[^0-9]/ig, "");
var num = Math.round((this.rawData.op - data[data.length - 1 - rr].t) / (data[data.length - 1].t - data[data.length - 1 - rr].t));
objArr = objArr.slice(-(xs.replace(/[^0-9]/ig, "")));
if (dis["layerData"].nm == "bonus_light_11.png") {
console.log(dis.alpha);
}
objArr = objArr.slice(-rr);
while (--num) {
for (var o = 0; o < objArr.length; o++) {
tween.to(objArr[o].obj, objArr[o].deltaTime);
......@@ -1712,7 +1709,8 @@ var Main = (function () {
FYGE.Tween.flush();
stage.flush();
}
self.requestID = FYGE.getRequestAnimationFrame()(loop);
my ? self.requestID = canvas.requestAnimationFrame(loop) :
self.requestID = window.requestAnimationFrame(loop);
}
}
Main.prototype.onAddToStage = function () {
......@@ -1737,10 +1735,12 @@ var Main = (function () {
};
Main.prototype.run = function () {
this._pause = false;
exports.GDispatcher.dispatchEvent(G_EVENT_1.G_EVENT.ON_SHOW);
FYGE.Tween._lastTime = null;
exports.GDispatcher.dispatchEvent({ type: G_EVENT_1.G_EVENT.ON_SHOW });
};
Main.prototype.pause = function () {
exports.GDispatcher.dispatchEvent(G_EVENT_1.G_EVENT.ON_HIDE);
this._pause = true;
exports.GDispatcher.dispatchEvent({ type: G_EVENT_1.G_EVENT.ON_HIDE });
};
Main.prototype.addGlobalEvent = function (name, fun, thisObj, once) {
if (once === void 0) { once = false; }
......@@ -1759,7 +1759,8 @@ var Main = (function () {
};
Main.prototype.destroy = function () {
FYGE.Tween.removeAllTweens();
FYGE.getCancelAnimationFrame()(this.requestID);
my ? canvas.cancelAnimationFrame(this.requestID) :
window.cancelAnimationFrame(this.requestID);
layers_1.destroyLayers();
ctrls_1.destroyAllCtrls();
this.stage.destroy();
......@@ -11307,7 +11308,6 @@ var fc;
function sendTbNet(netName, parameter, callback, hideMsg) {
if (hideMsg === void 0) { hideMsg = false; }
return new Promise(function (resolve, reject) {
var waitObj;
if (!my) {
var url = "../../mock/miniTb/" + netName + ".json";
fetchAsync(url)
......@@ -11327,7 +11327,6 @@ function sendTbNet(netName, parameter, callback, hideMsg) {
return;
}
var fun = function (e) {
ctrls_1.clearWait(waitObj);
Main_1.GDispatcher.removeEventListener(netName, fun);
var d = e.data;
dataRecord[netName] = d;
......@@ -11342,16 +11341,6 @@ function sendTbNet(netName, parameter, callback, hideMsg) {
+ "%cDATA : %o \n", "" + (d.success ? 'color:green' : 'color:red'), d.success, parameter, "" + (d.success ? 'color:green' : 'color:red'), d);
};
Main_1.GDispatcher.addEventListener(netName, fun);
waitObj = ctrls_1.wait(function () {
if (netName != TbNetName.favorShop &&
netName != TbNetName.getUserAddress &&
netName != TbNetName.authorize &&
netName != TbNetName.getAdoptName &&
netName != TbNetName.trackingReport &&
netName != TbNetName.reportAnalytics) {
fun({ type: netName, data: { success: false } });
}
}, 10000);
Main_1.GDispatcher.dispatchEvent({ type: "onMessage" }, { netName: netName, parameter: parameter });
});
}
......@@ -18201,7 +18190,6 @@ var Scene_1 = __webpack_require__(/*! ../../module/views/Scene */ "./module/view
var Tools_1 = __webpack_require__(/*! ../Tools */ "./src/Tools.ts");
var ProgressBarS_1 = __webpack_require__(/*! ../common/ProgressBarS */ "./src/common/ProgressBarS.ts");
var RES_1 = __webpack_require__(/*! ../../module/RES */ "./module/RES.ts");
var Main_1 = __webpack_require__(/*! ../Main */ "./src/Main.ts");
var TaoBaoNet_1 = __webpack_require__(/*! ../TaoBaoNet */ "./src/TaoBaoNet.ts");
var ctrls_1 = __webpack_require__(/*! ../../module/ctrls */ "./module/ctrls/index.ts");
var MapScene_1 = __webpack_require__(/*! ./map/MapScene */ "./src/scene/map/MapScene.ts");
......@@ -18279,20 +18267,20 @@ var LoadingScene = (function (_super) {
switch (_a.label) {
case 0:
_super.prototype.start.call(this);
Main_1.GDispatcher.addEventListener(FYGE.Event.PROGRESS, this.progressEvent, this);
Main_1.GDispatcher.dispatchEvent(FYGE.Event.PROGRESS, 0.2);
this.addEventListener(FYGE.Event.PROGRESS, this.progressEvent, this);
this.dispatchEvent(FYGE.Event.PROGRESS, 0.2);
return [4, TaoBaoNet_1.sendTbNet(TaoBaoNet_1.TbNetName.getAppData)];
case 1:
data = (_a.sent()).data;
Tools_1.Tools.globalData = data;
Main_1.GDispatcher.dispatchEvent(FYGE.Event.PROGRESS, 0.3);
this.dispatchEvent(FYGE.Event.PROGRESS, 0.3);
Tools_1.Tools.checkPermission();
return [4, Tools_1.Tools.getIndex()];
case 2:
getIndexSuccesss = _a.sent();
if (!getIndexSuccesss)
return [2];
Main_1.GDispatcher.dispatchEvent(FYGE.Event.PROGRESS, 0.3);
this.dispatchEvent(FYGE.Event.PROGRESS, 0.3);
return [4, TaoBaoNet_1.sendTbNet(TaoBaoNet_1.TbNetName.getActivityBaseInfoById)];
case 3:
baseInfo = _a.sent();
......@@ -18301,7 +18289,7 @@ var LoadingScene = (function (_super) {
for (k in Tools_1.Tools.baseInfo.levelPrize) {
Tools_1.Tools.baseInfo.prizeLevels.push(+k.split('_')[1]);
}
Main_1.GDispatcher.dispatchEvent(FYGE.Event.PROGRESS, 0.5);
this.dispatchEvent(FYGE.Event.PROGRESS, 0.5);
return [4, Promise.all([
'map',
'mapCrabEffect',
......@@ -18313,7 +18301,7 @@ var LoadingScene = (function (_super) {
}))];
case 4:
_a.sent();
Main_1.GDispatcher.dispatchEvent(FYGE.Event.PROGRESS, 1);
this.dispatchEvent(FYGE.Event.PROGRESS, 1);
return [2];
}
});
......@@ -18321,11 +18309,12 @@ var LoadingScene = (function (_super) {
};
LoadingScene.prototype.progressEvent = function (e) {
var _this = this;
var pro = e.data;
FYGE.Tween.get(this.progressBar, null, null, true)
.to({ value: e.data }, 2000)
.to({ value: pro }, 2000)
.call(function () {
if (e.data >= 1) {
Main_1.GDispatcher.removeEventListener(FYGE.Event.PROGRESS, _this.progressEvent, _this);
if (pro >= 1) {
_this.removeEventListener(FYGE.Event.PROGRESS, _this.progressEvent, _this);
ctrls_1.changeScene(MapScene_1.MapScene, { from: "loading" });
}
});
......@@ -22730,11 +22719,9 @@ var Tool = (function () {
Tool.indexToRcMap10 = [];
Tool.indexPositions10 = [];
Tool.ExplosiveMatchArr = [
[0, -2],
[-1, -1], [0, -1], [1, -1],
[-2, 0], [-1, 0], [1, 0], [2, 0],
[-1, 0], [1, 0],
[-1, 1], [0, 1], [1, 1],
[0, 2],
];
return Tool;
}());
This diff is collapsed.
var fs = require("fs");
var iconv = require('iconv-lite');
//暂时用作测试用
return
var data = iconv.decode(fs.readFileSync("./lotties/bb.json"), "utf-8");//GBK
//反序列化
data = JSON.parse(data);
......
var fs = require("fs");
var iconv = require('iconv-lite');
var path = require('path');
//用于处理带base64图片的lottie文件,取出图片,同名lottie文件夹,写入代码"./src/lotties/"中;
var pathName = "./lottiesT"
//读文件夹
var files = fs.readdirSync(pathName);
//对每个json文件作处理
files.forEach(function (lottiesFileName) {
//后缀不是json的,不处理
if (path.extname(lottiesFileName).indexOf(".json") < 0) return;
//读数据
var data = iconv.decode(fs.readFileSync(pathName + "/" + lottiesFileName), "utf-8");//GBK
//反序列化
data = JSON.parse(data);
//存图片
var assets = data.assets;
if (!assets || !assets.length) return;
//删除属性
delete data.assets;
var imgOutPath = pathName + "/" + data.nm
//建文件夹data.nm
if (!fs.existsSync(imgOutPath)) fs.mkdirSync(imgOutPath);
assets.forEach((e) => {
//没有base64数据
if (!e.p) return
let id = e.id;
let uuid = guid();
//存图片
var base64 = e.p.replace(/^data:image\/\w+;base64,/, "");//去掉图片base64码前面部分data:image/png;base64
var dataBuffer = new Buffer(base64, 'base64'); //把base64码转成buffer对象,
fs.writeFile(imgOutPath + "/" + uuid + ".png", dataBuffer);
//修改用到id的所有refId
data.layers.forEach((l) => { l.refId === id && (l.refId = uuid) })
})
//开始删东西
delete data.ddd;
//遍历删除图层东西
for (var i = 0; i < data.layers.length; i++) {
var l = data.layers[i];
//是否3d,后缀,sr,ap,开始时间,混合模式,特效
["ddd", "cl", "sr", "ao", "st", "bm", "ef"].forEach((e) => { delete l[e]; });
//ks删除
["o", "r", "p", "a", "s"].forEach((e) => {
var d = l.ks[e];
//ix不知道干嘛用,删了
delete d.ix;
//删除k里数据
if (d.k.length && typeof d.k[0] == "object") {
d.k.forEach((ee) => {
["i", "o", "ti", "to"].forEach((eee) => { delete ee[eee]; })
})
}
})
}
//导出代码到src的lotties文件夹,名字就是lottie动画名字,资源名字临时处理了,首页加载动画用图层的nm,bonustime用refid
var endPath = './src/lotties';
if (!fs.existsSync(endPath)) fs.mkdirSync(endPath);
//导出对象直接用lottie动画名字
var endFile = `export const ${data.nm} = ${JSON.stringify(data, "", "\t")}`
//文件名字用lottie动画名字
fs.writeFileSync(endPath + "/" + data.nm + ".ts", endFile);
})
function guid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0,
v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
......@@ -25,6 +25,7 @@ export class Main {
stage: FYGE.Stage;
private requestID;
private _pause: boolean;
private canvas: HTMLCanvasElement
constructor(canvas: HTMLCanvasElement) {
var sysInfo;
//@ts-ignore 存在my就初始化
......@@ -44,6 +45,7 @@ export class Main {
FYGE.RENDERER_TYPE.CANVAS
);
this.stage = stage;
this.canvas = canvas;//赋值下,为了下面的destroy的cancelAnimationFrame
//开始循环
// FYGE.Stage.flushAll();
//stage初始化
......@@ -62,7 +64,10 @@ export class Main {
// stats.end();
}
//@ts-ignore
self.requestID = FYGE.getRequestAnimationFrame()(loop);
// self.requestID = FYGE.getRequestAnimationFrame()(loop);
//为了兼容多page的canvas
my ? self.requestID = canvas.requestAnimationFrame(loop) :
self.requestID = window.requestAnimationFrame(loop);
}
}
......@@ -107,16 +112,16 @@ export class Main {
//在小程序显示时调用onShow
run() {
this._pause = false
this._pause = false;
//@ts-ignore Tween计时清零
// FYGE.Tween._lastTime = null //下面的_pause 不执行,先去掉,试试有没有问题
FYGE.Tween._lastTime = null;
GDispatcher.dispatchEvent(G_EVENT.ON_SHOW);
GDispatcher.dispatchEvent({ type: G_EVENT.ON_SHOW });
}
//在小程序隐藏时调用onHide
pause() {
// this._pause = true;//先去掉吧
GDispatcher.dispatchEvent(G_EVENT.ON_HIDE);
this._pause = true;
GDispatcher.dispatchEvent({ type: G_EVENT.ON_HIDE });
}
/**
......@@ -158,7 +163,10 @@ export class Main {
FYGE.Tween.removeAllTweens()
// removeAllTimeoutId();//这个再看,尽量用tween的修改
//停掉计时器
FYGE.getCancelAnimationFrame()(this.requestID);
// FYGE.getCancelAnimationFrame()(this.requestID);
//@ts-ignore 为了兼容多page的canvas
my ? this.canvas.cancelAnimationFrame(this.requestID) :
window.cancelAnimationFrame(this.requestID);
//层级销毁
destroyLayers()
//销毁控制器
......
......@@ -177,7 +177,7 @@ export function sendTbNet(
): Promise<dataOut> {
return new Promise((resolve, reject) => {
//网络超时
let waitObj;
// let waitObj;
//@ts-ignore 本地开发,直接取数据
if (!my) {
var url = "../../mock/miniTb/" + netName + ".json";
......@@ -212,7 +212,7 @@ export function sendTbNet(
let fun = function (e: { type: string, data: dataOut }) {
//清除超时记录
clearWait(waitObj)
// clearWait(waitObj)
//移除事件
GDispatcher.removeEventListener(netName, fun);
......@@ -240,19 +240,19 @@ export function sendTbNet(
//添加事件接收接口返回信息
GDispatcher.addEventListener(netName, fun);
//网络超时
waitObj = wait(() => {
//是用户操作,不设置超时
if (netName != TbNetName.favorShop &&//关注店铺用户操作
netName != TbNetName.getUserAddress && // 获取地址
netName != TbNetName.authorize && // 授权
netName != TbNetName.getAdoptName && //领养名字获取
netName != TbNetName.trackingReport && //埋点接口也不考虑超时
netName != TbNetName.reportAnalytics //淘宝自定义埋点也不考虑超时
) {
fun({ type: netName, data: { success: false } })
}
}, 10000)
//网络超时,已经可以返回云函数调用失败,有机会把这删了,不需要了
// waitObj = wait(() => {
// //是用户操作,不设置超时
// if (netName != TbNetName.favorShop &&//关注店铺用户操作
// netName != TbNetName.getUserAddress && // 获取地址
// netName != TbNetName.authorize && // 授权
// netName != TbNetName.getAdoptName && //领养名字获取
// netName != TbNetName.trackingReport && //埋点接口也不考虑超时
// netName != TbNetName.reportAnalytics //淘宝自定义埋点也不考虑超时
// ) {
// fun({ type: netName, data: { success: false } })
// }
// }, 10000)
//用事件方式吧,派发事件发接口,,,,注意很多独有的事件名别重了,onHide,onShow,onMessage等 放到最后,因为有同步的情况
GDispatcher.dispatchEvent({ type: "onMessage" }, { netName, parameter })
......
......@@ -2,7 +2,6 @@ import { Scene } from "../../module/views/Scene";
import { Tools } from "../Tools";
import { ProgressBarS } from "../common/ProgressBarS";
import { RES } from "../../module/RES";
import { GDispatcher } from "../Main";
import { sendTbNet, TbNetName } from "../TaoBaoNet";
import { changeScene } from "../../module/ctrls";
import { MapScene } from "./map/MapScene";
......@@ -93,14 +92,14 @@ export class LoadingScene extends Scene {
async start() {
super.start()
GDispatcher.addEventListener(FYGE.Event.PROGRESS, this.progressEvent, this)
this.addEventListener(FYGE.Event.PROGRESS, this.progressEvent, this)
//首次进度一点
GDispatcher.dispatchEvent(FYGE.Event.PROGRESS, 0.2)
this.dispatchEvent(FYGE.Event.PROGRESS, 0.2)
//获取app数据
const { data } = await sendTbNet(TbNetName.getAppData);
Tools.globalData = data;
GDispatcher.dispatchEvent(FYGE.Event.PROGRESS, 0.3)
this.dispatchEvent(FYGE.Event.PROGRESS, 0.3)
//询问读取权限,不阻止进程
Tools.checkPermission();
//获取首页数据
......@@ -108,7 +107,7 @@ export class LoadingScene extends Scene {
//失败不进入
if (!getIndexSuccesss) return;
GDispatcher.dispatchEvent(FYGE.Event.PROGRESS, 0.3);
this.dispatchEvent(FYGE.Event.PROGRESS, 0.3);
// 游戏基本信息
const baseInfo = await sendTbNet(TbNetName.getActivityBaseInfoById);
......@@ -118,7 +117,7 @@ export class LoadingScene extends Scene {
Tools.baseInfo.prizeLevels.push(+k.split('_')[1]);
}
GDispatcher.dispatchEvent(FYGE.Event.PROGRESS, 0.5);
this.dispatchEvent(FYGE.Event.PROGRESS, 0.5);
//首次进入,地图页面需要引导
// if (Tools.gameData.isFristLogin) {
......@@ -134,17 +133,18 @@ export class LoadingScene extends Scene {
return RES.loadGroup(e)
}))
GDispatcher.dispatchEvent(FYGE.Event.PROGRESS, 1);
this.dispatchEvent(FYGE.Event.PROGRESS, 1);
}
// private lastP=0
progressEvent(e: FYGE.Event) {
let pro = e.data;
FYGE.Tween.get(this.progressBar, null, null, true)
.to({ value: e.data }, 2000/**(p-this.lastP)*/)
.to({ value: pro }, 2000/**(p-this.lastP)*/)
.call(() => {
if (e.data >= 1) {
GDispatcher.removeEventListener(FYGE.Event.PROGRESS, this.progressEvent, this);
changeScene(MapScene, {from: "loading"})
if (pro >= 1) {
this.removeEventListener(FYGE.Event.PROGRESS, this.progressEvent, this);
changeScene(MapScene, { from: "loading" })
}
})
// this.lastP=p
......
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