Commit 6e8deec1 authored by 范雪寒's avatar 范雪寒
parents 44973cb8 377a1fce
...@@ -1030,14 +1030,14 @@ ...@@ -1030,14 +1030,14 @@
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
"x": 0.5, "x": 0.48,
"y": 0.5 "y": 0.5
}, },
"_trs": { "_trs": {
"__type__": "TypedArray", "__type__": "TypedArray",
"ctor": "Float64Array", "ctor": "Float64Array",
"array": [ "array": [
0, -25.600000000000023,
0, 0,
0, 0,
0, 0,
...@@ -3822,8 +3822,8 @@ ...@@ -3822,8 +3822,8 @@
"__type__": "TypedArray", "__type__": "TypedArray",
"ctor": "Float64Array", "ctor": "Float64Array",
"array": [ "array": [
450.324, 445.858,
-195.849, -212.224,
0, 0,
0, 0,
0, 0,
...@@ -3993,8 +3993,8 @@ ...@@ -3993,8 +3993,8 @@
], ],
"_srcBlendFactor": 770, "_srcBlendFactor": 770,
"_dstBlendFactor": 771, "_dstBlendFactor": 771,
"_string": "加载资源", "_string": "获取设备信息",
"_N$string": "加载资源", "_N$string": "获取设备信息",
"_fontSize": 20, "_fontSize": 20,
"_lineHeight": 40, "_lineHeight": 40,
"_enableWrapText": false, "_enableWrapText": false,
...@@ -4177,7 +4177,7 @@ ...@@ -4177,7 +4177,7 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 462.25, "width": 440,
"height": 50.4 "height": 50.4
}, },
"_anchorPoint": { "_anchorPoint": {
...@@ -4229,8 +4229,8 @@ ...@@ -4229,8 +4229,8 @@
], ],
"_srcBlendFactor": 770, "_srcBlendFactor": 770,
"_dstBlendFactor": 771, "_dstBlendFactor": 771,
"_string": "线上测试1:请输入课件ID", "_string": "线上测试:请输入课件ID",
"_N$string": "线上测试1:请输入课件ID", "_N$string": "线上测试:请输入课件ID",
"_fontSize": 40, "_fontSize": 40,
"_lineHeight": 40, "_lineHeight": 40,
"_enableWrapText": true, "_enableWrapText": true,
...@@ -6780,6 +6780,33 @@ ...@@ -6780,6 +6780,33 @@
"_N$reverse": false, "_N$reverse": false,
"_id": "bc3W7j5EVJRaoW20bSToA3" "_id": "bc3W7j5EVJRaoW20bSToA3"
}, },
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 20
},
"_enabled": true,
"alignMode": 2,
"_target": null,
"_alignFlags": 45,
"_left": 0,
"_right": 0,
"_top": 0,
"_bottom": 0,
"_verticalCenter": 0,
"_horizontalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 1058.88,
"_originalHeight": 469.62,
"_id": "c87OiuHMRI7YOL5SUoikbx"
},
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "ConsoleNode", "_name": "ConsoleNode",
......
const testMockData = {"eof":1,"file":"/storage/emulated/0/Android/data/com.example.oxford/cache/shengtong/gradeVoice.mp3","audioUrl":"https://staging-teach.cdn.ireadabc.com/db48d49e122ba65aa7c5ee56963418a6.mp3","result":{"duration":"2.470","fluency":100,"integrity":100,"kernel_version":"3.6.7","overall":99,"pronunciation":99,"resource_version":"2.3.6","rhythm":0,"speed":78},"tokenId":"621c32543327932cfc000002"};
const recordMockData = {"text":"what can i do for you","audioUrl":"https://staging-teach.cdn.ireadabc.com/368ad56174f85e2ff1f39f12bac5c693.mp3"};
export function initAir(_this) { export function initAir(_this) {
const realAir = { const realAir = {
...@@ -85,6 +87,9 @@ export function initAir(_this) { ...@@ -85,6 +87,9 @@ export function initAir(_this) {
_this.log(`===成功调用getAnswer=== queryObj == ${JSON.stringify(queryObj)}`); _this.log(`===成功调用getAnswer=== queryObj == ${JSON.stringify(queryObj)}`);
callback && callback(null); callback && callback(null);
}, },
addStar() {
_this.log(`===成功调用addStar===`);
},
getTemplates(callback) { getTemplates(callback) {
_this.log(`===成功调用getTemplates===`); _this.log(`===成功调用getTemplates===`);
callback && callback(null); callback && callback(null);
...@@ -102,8 +107,10 @@ export function initAir(_this) { ...@@ -102,8 +107,10 @@ export function initAir(_this) {
window.courseware.hasCalledStartRecord = true; window.courseware.hasCalledStartRecord = true;
window.courseware.callOcMethod("startRecord", { isSpeechToText }); window.courseware.callOcMethod("startRecord", { isSpeechToText });
}, },
stopRecord(callback) { stopRecord(callback1, callback2) {
// 传两个参数是为了兼容以前
window.courseware.hasCalledStartRecord = false; window.courseware.hasCalledStartRecord = false;
const callback = callback1 || callback2;
_this.log(`===成功调用stopRecord===`); _this.log(`===成功调用stopRecord===`);
if (!callback) { if (!callback) {
// 不传回调函数就表示取消评测 // 不传回调函数就表示取消评测
...@@ -160,16 +167,21 @@ export function initAir(_this) { ...@@ -160,16 +167,21 @@ export function initAir(_this) {
_this.log(`===成功调用getEngineInfo===`); _this.log(`===成功调用getEngineInfo===`);
// 调用原生获取机器信息 // 调用原生获取机器信息
window.air.getEngineInfoCallback = (res) => { window.air.getEngineInfoCallback = (res) => {
window.air.engineInfo = res; if(typeof(res) == 'string') {
callback && callback(JSON.stringify(res)); window.air.engineInfo = res;
callback && callback(res);
} else {
window.air.engineInfo = JSON.stringify(res);
callback && callback(JSON.stringify(res));
}
window.air.getEngineInfoCallback = null; window.air.getEngineInfoCallback = null;
}; };
window.courseware.callOcMethod("getEngineInfo", {}); window.courseware.callOcMethod("getEngineInfo", {});
}, },
openOsmo() { openOsmo(params = {}) {
window.courseware.hasCalledOpenOsmo = true; window.courseware.hasCalledOpenOsmo = true;
_this.log(`===成功调用openOsmo===`); _this.log(`===成功调用openOsmo===${JSON.stringify(params)}`);
window.courseware.callOcMethod("openOsmo", {}); window.courseware.callOcMethod("openOsmo", params);
}, },
closeOsmo() { closeOsmo() {
window.courseware.hasCalledOpenOsmo = false; window.courseware.hasCalledOpenOsmo = false;
...@@ -216,9 +228,17 @@ export function initAir(_this) { ...@@ -216,9 +228,17 @@ export function initAir(_this) {
} else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_WINDOWS) { } else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_WINDOWS) {
console.log('汪汪汪') console.log('汪汪汪')
} else { } else {
console.error('非源生环境'); console.error(`非源生环境,网页版不支持${method}方法,将返回此方法的Mock数据以便于网页版调试使用`);
if(method == 'getEngineInfo'){ if(method == 'getEngineInfo'){
window.air.getEngineInfoCallback({isDev: 1}); window.air.getEngineInfoCallback({isDev: 1, uuid: 'debug-xxxxxx-xxxxxx'});
} else if (method == 'startTest') {
} else if (method == 'stopTest') {
window.air.testCallBack(testMockData);
} else if (method == 'startRecord') {
} else if (method == 'stopRecord') {
window.air.recordCallBack(recordMockData);
} else{
console.error(`${method}方法还没有Mock数据,请联系技术支持人员添加`);
} }
} }
}, },
......
import { initAir } from "./air"; import { initAir } from "./air";
cc.Class({ cc.Class({
extends: cc.Component, extends: cc.Component,
properties: {}, properties: {
},
callNetworkApiPost(baseUrl, uri, data, callBack) {
this.getBaseUrl((baseUrl) => { callNetworkApiPost(baseUrl, uri, data, callBack) {
const xhr = new XMLHttpRequest(); this.getBaseUrl((baseUrl) => {
const url = `${baseUrl}${uri}`; const xhr = new XMLHttpRequest();
xhr.open("POST", url, true); const url = `${baseUrl}${uri}`;
xhr.setRequestHeader("content-type", "application/json"); xhr.open("POST", url, true);
xhr.onreadystatechange = () => { xhr.setRequestHeader('content-type', 'application/json');
if (xhr.readyState == 4) { xhr.onreadystatechange = () => {
callBack(JSON.parse(xhr.responseText)); if (xhr.readyState == 4) {
} callBack(JSON.parse(xhr.responseText));
}; }
xhr.send(JSON.stringify(data)); }
}); xhr.send(JSON.stringify(data));
}, });
},
callNetworkApiGet(baseUrl, uri, data, callBack) {
this.getBaseUrl((baseUrl) => { callNetworkApiGet(baseUrl, uri, data, callBack) {
let queryStr = "?"; this.getBaseUrl((baseUrl) => {
const params = []; let queryStr = '?';
for (const key in data) { const params = [];
if (Object.hasOwnProperty.call(data, key)) { for (const key in data) {
params.push(`${key}=${data[key]}`); if (Object.hasOwnProperty.call(data, key)) {
} params.push(`${key}=${data[key]}`);
} }
queryStr += params.join("&"); }
const xhr = new XMLHttpRequest(); queryStr += params.join("&");
xhr.onreadystatechange = () => { const xhr = new XMLHttpRequest();
if (xhr.readyState == 4 && xhr.status >= 200 && xhr.status < 400) { xhr.onreadystatechange = () => {
callBack(xhr.responseText); if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) {
} callBack(xhr.responseText);
}; }
const url = `${baseUrl}${uri}${queryStr}`; };
console.log("url = " + url); const url = `${baseUrl}${uri}${queryStr}`;
xhr.open("GET", url, true); console.log('url = ' + url);
xhr.send(); xhr.open('GET', url, true);
}); xhr.send();
}, });
},
callNetworkApiGetLocal(baseUrl, uri, data, callBack) {
let queryStr = "?"; callNetworkApiGetLocal(baseUrl, uri, data, callBack) {
const params = []; let queryStr = '?';
for (const key in data) { const params = [];
if (Object.hasOwnProperty.call(data, key)) { for (const key in data) {
params.push(`${key}=${data[key]}`); if (Object.hasOwnProperty.call(data, key)) {
} params.push(`${key}=${data[key]}`);
} }
queryStr += params.join("&"); }
const xhr = new XMLHttpRequest(); queryStr += params.join("&");
xhr.onreadystatechange = () => { const xhr = new XMLHttpRequest();
if (xhr.readyState == 4 && xhr.status >= 200 && xhr.status < 400) { xhr.onreadystatechange = () => {
callBack(xhr.responseText); if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) {
} callBack(xhr.responseText);
}; }
const url = `${baseUrl}${uri}${queryStr}`; };
console.log("url = " + url); const url = `${baseUrl}${uri}${queryStr}`;
xhr.open("GET", url, true); console.log('url = ' + url);
xhr.send(); xhr.open('GET', url, true);
}, xhr.send();
},
// 需要预加载的数量
preloadCount: null, // 需要预加载的数量
// 统计已加载的数量 preloadCount: null,
loadedCount: null, // 统计已加载的数量
loadedCount: null,
// 统一释放异步资源的方法
onLoad() { // 统一释放异步资源的方法
this.preloadCount = 0; onLoad() {
this.loadedCount = 0; this.preloadCount = 0;
initAir(this); this.loadedCount = 0;
// this.preloadAll(); const ui = cc.find('middleLayer/ui');
}, ui.scale = Math.min(1, cc.view.getFrameSize().width/ui.width, cc.view.getFrameSize().height/ui.height);
initAir(this);
getBaseUrl(callback) { // this.preloadAll();
if (window.air.engineInfo) { },
if (window.air.engineInfo.isDev == 1) {
callback("https://staging-teach.ireadabc.com"); getBaseUrl(callback) {
} else { if(window.air.engineInfo){
callback("https://iteachabc.com"); const {isDev} = JSON.parse(window.air.engineInfo);
} if(isDev==1){
} else { callback('https://staging-teach.ireadabc.com');
window.courseware.getEngineInfo(() => { }else{
if (window.air.engineInfo.isDev == 1) { callback('https://iteachabc.com');
callback("https://staging-teach.ireadabc.com"); }
} else { }else{
callback("https://iteachabc.com"); window.courseware.getEngineInfo(()=>{
} const {isDev} = JSON.parse(window.air.engineInfo);
}); if(isDev==1){
} callback('https://staging-teach.ireadabc.com');
}, }else{
callback('https://iteachabc.com');
start() { }
this.node.zIndex = 9999; });
cc.game.addPersistRootNode(this.node); }
this.initListener(); },
const addressText = cc.find("middleLayer/ui/address"); start() {
const str = cc.sys.localStorage.getItem("ip"); this.node.zIndex = 9999;
console.log("str = " + str); cc.game.addPersistRootNode(this.node);
if (str) { this.initListener();
addressText.getComponent(cc.EditBox).string = str;
} const addressText = cc.find('middleLayer/ui/address');
const str = cc.sys.localStorage.getItem('ip');
const nameText = cc.find("middleLayer/ui/bundleName"); console.log('str = ' + str);
const bundleName = cc.sys.localStorage.getItem("bundleName"); if (str) {
if (bundleName) { addressText.getComponent(cc.EditBox).string = str;
nameText.getComponent(cc.EditBox).string = bundleName; }
}
const nameText = cc.find('middleLayer/ui/bundleName');
const courseIdNode = cc.find("middleLayer/ui/courseId"); const bundleName = cc.sys.localStorage.getItem('bundleName');
const courseId = cc.sys.localStorage.getItem("courseId"); if (bundleName) {
if (courseId) { nameText.getComponent(cc.EditBox).string = bundleName;
courseIdNode.getComponent(cc.EditBox).string = courseId; }
}
const courseIdNode = cc.find('middleLayer/ui/courseId');
const courseId = cc.sys.localStorage.getItem('courseId');
const uiNode = cc.find("middleLayer/ui"); if (courseId) {
uiNode.parent.getComponent(cc.Widget).updateAlignment(); courseIdNode.getComponent(cc.EditBox).string = courseId;
const scale = Math.min( }
uiNode.parent.width / uiNode.width,
uiNode.parent.height / uiNode.height global.middleLayer = cc.find('middleLayer').getComponent('middleLayer');
);
console.log('scale = ' + scale); middleLayer.log("middleLayer.log('像这样在这里打log')");
uiNode.scale = scale; },
global.middleLayer = cc.find("middleLayer").getComponent("middleLayer"); preloadAll() {
if (window.preloadBundleAndSourcesFlag) {
middleLayer.log("middleLayer.log('像这样在这里打log')"); // 只加载一次就行了
}, return;
}
preloadAll() { window.preloadBundleAndSourcesFlag = true;
if (window.preloadBundleAndSourcesFlag) { cc.find("middleLayer/ui/ProgressLabel").active = true;
// 只加载一次就行了 cc.find('middleLayer/ui/loadingProgress').active = true;
return; let platform = "web_desktop";
} if (cc.sys.os == cc.sys.OS_IOS) {
window.preloadBundleAndSourcesFlag = true; platform = "ios";
cc.find("middleLayer/ui/ProgressLabel").active = true; } else if (cc.sys.os == cc.sys.OS_ANDROID) {
cc.find("middleLayer/ui/loadingProgress").active = true; platform = "android";
let platform = "web_desktop"; }
if (cc.sys.os == cc.sys.OS_IOS) { this.callNetworkApiGet(`http://staging-teach.ireadabc.com`, `/api/syllabus/v1/allbundles`, { orgid: 483, platform }, (datastr) => {
platform = "ios"; const data = JSON.parse(datastr);
} else if (cc.sys.os == cc.sys.OS_ANDROID) { if (data.rows && data.rows.length > 0) {
platform = "android"; this.preloadCount += data.rows.length;
} }
this.callNetworkApiGet( this.callNetworkApiGet(`http://staging-teach.ireadabc.com`, `/api/syllabus/v1/allresources`, { orgid: 483 }, (datastr1) => {
`http://staging-teach.ireadabc.com`, const data1 = JSON.parse(datastr1);
`/api/syllabus/v1/allbundles`, if (data1.rows && data1.rows.length > 0) {
{ orgid: 483, platform }, this.preloadCount += data1.rows.length;
(datastr) => { }
const data = JSON.parse(datastr); console.log('data.rows = ' + JSON.stringify(data.rows));
if (data.rows && data.rows.length > 0) { this.batchPreloadScene(data.rows);
this.preloadCount += data.rows.length; this.preloadSource(data1.rows);
} });
this.callNetworkApiGet( });
`http://staging-teach.ireadabc.com`, },
`/api/syllabus/v1/allresources`,
{ orgid: 483 }, preloadSourceImman() {
(datastr1) => { // 测试用
const data1 = JSON.parse(datastr1); cc.find("middleLayer/ui/ProgressLabel").active = true;
if (data1.rows && data1.rows.length > 0) { cc.find('middleLayer/ui/loadingProgress').active = true;
this.preloadCount += data1.rows.length; this.callNetworkApiGet(`http://staging-teach.ireadabc.com`, `/api/courseware/v1/getresources`, { courseid: 20894 }, (datastr1) => {
} const data1 = JSON.parse(datastr1);
console.log("data.rows = " + JSON.stringify(data.rows)); if (data1.rows && data1.rows.length > 0) {
this.batchPreloadScene(data.rows); this.preloadCount += data1.rows.length;
this.preloadSource(data1.rows); }
} this.log('data1.rows = ' + JSON.stringify(data1.rows));
); this.preloadSource(data1.rows);
} });
); },
},
batchPreloadScene(scenes = []) {
preloadSourceImman() { const expects = [
// 测试用 // 'op_03_2',
cc.find("middleLayer/ui/ProgressLabel").active = true; // 'OP10_online',
cc.find("middleLayer/ui/loadingProgress").active = true; ];
this.callNetworkApiGet( const _this = this;
`http://staging-teach.ireadabc.com`, let i = 0;
`/api/courseware/v1/getresources`, const load = function () {
{ courseid: 20894 }, const scene = scenes[i];
(datastr1) => { if (expects.includes(scene.sceneName)) {
const data1 = JSON.parse(datastr1); _this.loadedCount++;
if (data1.rows && data1.rows.length > 0) { _this.updateProcessBar();
this.preloadCount += data1.rows.length; i++;
} if (i < scenes.length) {
this.log("data1.rows = " + JSON.stringify(data1.rows)); setTimeout(() => {
this.preloadSource(data1.rows); load();
} }, 1);
); }
}, return;
}
batchPreloadScene(scenes = []) { cc.assetManager.loadBundle(scene.bondleUrl, { version: scene.version }, (err, bundle) => {
const expects = [ console.log(`${scene.bondleUrl}---场景开始loadBundle----`);
// 'op_03_2', if (!bundle) {
// 'OP10_online', _this.loadedCount++;
]; _this.updateProcessBar();
const _this = this; i++;
let i = 0; if (i < scenes.length) {
const load = function () { setTimeout(() => {
const scene = scenes[i]; load();
if (expects.includes(scene.sceneName)) { }, 1);
_this.loadedCount++; }
_this.updateProcessBar(); return;
i++; }
if (i < scenes.length) { bundle.preloadScene(scene.sceneName, () => { }, () => {
setTimeout(() => { console.log(`${scene.sceneName}场景预加载结束`);
load(); _this.loadedCount++;
}, 1); _this.updateProcessBar();
} i++;
return; if (i < scenes.length) {
} setTimeout(() => {
cc.assetManager.loadBundle( load();
scene.bondleUrl, }, 1);
{ version: scene.version }, }
(err, bundle) => { });
console.log(`${scene.bondleUrl}---场景开始loadBundle----`); });
if (!bundle) { }
_this.loadedCount++;
_this.updateProcessBar(); if (scenes && scenes.length > 0) {
i++; load();
if (i < scenes.length) { }
setTimeout(() => { },
load();
}, 1); preloadSource(array) {
} const rows = array || [];
return; const batchLoad = () => {
} let tempArr = rows.splice(0, 10);
bundle.preloadScene( let len = tempArr.length;
scene.sceneName, for (let i = 0; i < tempArr.length; i++) {
() => {}, cc.assetManager.loadRemote(tempArr[i], (err, texture) => {
() => { if (err) {
console.log(`${scene.sceneName}场景预加载结束`); console.log(err)
_this.loadedCount++; }
_this.updateProcessBar(); this.loadedCount++;
i++; this.updateProcessBar();
if (i < scenes.length) { if (i === len - 1) {
setTimeout(() => { batchLoad();
load(); }
}, 1); });
} }
} }
); batchLoad();
} },
);
}; updateProcessBar() {
const label = cc.find("middleLayer/ui/ProgressLabel").getComponent(cc.Label);
if (scenes && scenes.length > 0) { const loadingProgress = cc.find('middleLayer/ui/loadingProgress');
load(); label.string = `正在加载:${this.loadedCount} / ${this.preloadCount}`;
} if (this.loadedCount > this.preloadCount * 0.99) {
}, cc.find("middleLayer/ui/ProgressLabel").active = false;
loadingProgress.active = false;
preloadSource(array) { this.showLog("资源全部加载完成");
const rows = array || []; }
const batchLoad = () => { loadingProgress.getComponent(cc.ProgressBar).progress = this.loadedCount / this.preloadCount;
let tempArr = rows.splice(0, 10); },
let len = tempArr.length;
for (let i = 0; i < tempArr.length; i++) { asyncDelayLog(str) {
cc.assetManager.loadRemote(tempArr[i], (err, texture) => { console.log(str);
if (err) { return new Promise((resolve, reject) => {
console.log(err); setTimeout(() => {
} resolve();
this.loadedCount++; }, 1);
this.updateProcessBar(); });
if (i === len - 1) { },
batchLoad();
} initListener() {
}); const exitBtn = cc.find('middleLayer/ExitBtn');
} exitBtn.on('click', () => {
}; cc.find('middleLayer/BtnRight').active = false;
batchLoad(); cc.find('middleLayer/BtnLeft').active = false;
},
cc.tween(exitBtn)
updateProcessBar() { .to(0.1, { scaleX: 0.4, scaleY: 0.6 })
const label = cc .to(0.1, { scaleX: 0.6, scaleY: 0.4 })
.find("middleLayer/ui/ProgressLabel") .to(0.1, { scaleX: 0.5, scaleY: 0.5 })
.getComponent(cc.Label); .call(() => {
const loadingProgress = cc.find("middleLayer/ui/loadingProgress"); exitBtn.active = false;
label.string = `正在加载:${this.loadedCount} / ${this.preloadCount}`; cc.game.removePersistRootNode(this.node);
if (this.loadedCount > this.preloadCount * 0.99) { // cc.director.getScene().destroy();
cc.find("middleLayer/ui/ProgressLabel").active = false; cc.audioEngine.stopAll();
loadingProgress.active = false; window.courseware.freeAllOcMethod();
this.showLog("资源全部加载完成"); const flag = cc.director.loadScene("debug_shell", null, null, (err, scene) => {
} });
loadingProgress.getComponent(cc.ProgressBar).progress = if(!flag){
this.loadedCount / this.preloadCount; // 没有壳的情况下,直接加载中间层场景
}, cc.director.loadScene("middleLayer_for_debug", null, null, (err, scene) => {
});
asyncDelayLog(str) { }
console.log(str); })
return new Promise((resolve, reject) => { .start();
setTimeout(() => { });
resolve();
}, 1); cc.find('middleLayer/BtnRight').on('click', () => {
}); this.goNextPage();
}, });
initListener() { cc.find('middleLayer/BtnLeft').on('click', () => {
const exitBtn = cc.find("middleLayer/ExitBtn"); this.goPrePage();
exitBtn.on("click", () => { });
cc.find("middleLayer/BtnRight").active = false;
cc.find("middleLayer/BtnLeft").active = false; cc.find('middleLayer/ui/BtnOpenOsmo').on('click', () => {
window.courseware.openOsmo();
cc.tween(exitBtn) });
.to(0.1, { scaleX: 0.4, scaleY: 0.6 })
.to(0.1, { scaleX: 0.6, scaleY: 0.4 }) cc.find('middleLayer/ui/BtnCloseOsmo').on('click', () => {
.to(0.1, { scaleX: 0.5, scaleY: 0.5 }) window.courseware.closeOsmo();
.call(() => { });
exitBtn.active = false;
cc.game.removePersistRootNode(this.node); cc.find('middleLayer/ui/BtnOpenRecord').on('click', () => {
// cc.director.getScene().destroy(); window.courseware.startRecord(1);
cc.audioEngine.stopAll(); });
window.courseware.freeAllOcMethod();
cc.director.loadScene("debug_shell", null, null, (err, scene) => {}); cc.find('middleLayer/ui/BtnCloseRecord').on('click', () => {
}) window.courseware.stopRecord(res => {
.start(); this.log('--------录音返回结果 stopRecord ------------');
}); this.log(res)
this.log('------------------------------');
cc.find("middleLayer/BtnRight").on("click", () => { this.log(`录音的文本是${JSON.parse(res).text}`);
this.goNextPage(); this.log(`录音的音频URL是${JSON.parse(res).audioUrl}`);
}); });
});
cc.find("middleLayer/BtnLeft").on("click", () => {
this.goPrePage(); cc.find('middleLayer/ui/BtnOpenTest').on('click', () => {
}); window.courseware.startTest('apple');
});
cc.find("middleLayer/ui/BtnOpenOsmo").on("click", () => {
window.courseware.openOsmo(); cc.find('middleLayer/ui/BtnCloseTest').on('click', () => {
}); window.courseware.stopTest(res => {
this.log('--------录音评测返回结果 stopTest ---------');
cc.find("middleLayer/ui/BtnCloseOsmo").on("click", () => { this.log(res)
window.courseware.closeOsmo(); this.log('------------------------------');
}); this.log(`录音apple的评分是${JSON.parse(res).result.overall}`);
this.log(`录音apple的音频URL是${JSON.parse(res).audioUrl}`);
cc.find("middleLayer/ui/BtnOpenRecord").on("click", () => { });
window.courseware.startRecord(1); });
});
const BtnStartLocal = cc.find('middleLayer/ui/BtnStartLocal');
cc.find("middleLayer/ui/BtnCloseRecord").on("click", () => { BtnStartLocal.on('click', () => {
window.courseware.stopRecord((res) => { const addressText = cc.find('middleLayer/ui/address');
this.log("--------录音返回结果 stopRecord ------------"); const str = addressText.getComponent(cc.EditBox).string;
this.log(JSON.stringify(res)); cc.sys.localStorage.setItem('ip', str);
this.log("------------------------------"); const address = str.split(':')[0];
}); const port = str.split(':')[0] | 8081;
}); this.localMode = true;
this.loadLocalBundle(address, port);
cc.find("middleLayer/ui/BtnOpenTest").on("click", () => { this.showWaitingLetters();
window.courseware.startTest(""); this.hideUI();
}); this.showDebugUI();
});
cc.find("middleLayer/ui/BtnCloseTest").on("click", () => {
window.courseware.stopTest((res) => { const BtnStartOnline = cc.find('middleLayer/ui/BtnStartOnline');
this.log("--------录音评测返回结果 stopTest ---------"); BtnStartOnline.on('click', () => {
this.log(JSON.stringify(res)); const nameText = cc.find('middleLayer/ui/bundleName');
this.log("------------------------------"); const bundleName = nameText.getComponent(cc.EditBox).string;
}); cc.sys.localStorage.setItem('bundleName', bundleName);
}); this.loadOnlineBundle(bundleName);
this.showDebugUI();
const BtnStartLocal = cc.find("middleLayer/ui/BtnStartLocal"); });
BtnStartLocal.on("click", () => {
const addressText = cc.find("middleLayer/ui/address"); const BtnStartCourseWare = cc.find('middleLayer/ui/BtnStartCourseWare');
const str = addressText.getComponent(cc.EditBox).string; BtnStartCourseWare.on('click', () => {
cc.sys.localStorage.setItem("ip", str); const courseIdNode = cc.find('middleLayer/ui/courseId');
const address = str.split(":")[0]; const courseId = courseIdNode.getComponent(cc.EditBox).string;
const port = str.split(":")[0] | 8081; cc.sys.localStorage.setItem('courseId', courseId);
this.localMode = true; this.loadOnlineCourseWare(courseId);
this.loadLocalBundle(address, port); this.showDebugUI();
this.showWaitingLetters(); });
this.hideUI();
this.showDebugUI(); const BtnLoad = cc.find('middleLayer/ui/BtnLoad');
}); BtnLoad.on('click', () => {
const BtnStartOnline = cc.find("middleLayer/ui/BtnStartOnline"); // 测试获取设备信息
BtnStartOnline.on("click", () => { window.courseware.getEngineInfo(res => {
const nameText = cc.find("middleLayer/ui/bundleName"); this.log('--------getEngineInfo返回结果---------');
const bundleName = nameText.getComponent(cc.EditBox).string; this.log(res)
cc.sys.localStorage.setItem("bundleName", bundleName); this.log('------------------------------');
this.loadOnlineBundle(bundleName); });
this.showDebugUI();
}); // 测试预加载资源
// this.preloadCount = 0;
const BtnStartCourseWare = cc.find("middleLayer/ui/BtnStartCourseWare"); // this.loadedCount = 0;
BtnStartCourseWare.on("click", () => { // cc.find("middleLayer/ui/ProgressLabel").active = true;
const courseIdNode = cc.find("middleLayer/ui/courseId"); // cc.find('middleLayer/ui/loadingProgress').active = true;
const courseId = courseIdNode.getComponent(cc.EditBox).string; // // this.preloadAll();
cc.sys.localStorage.setItem("courseId", courseId); // this.preloadSourceImman();
this.loadOnlineCourseWare(courseId); });
this.showDebugUI();
}); const btnClose = cc.find('middleLayer/ConsoleNode/BtnClose');
const btnOpen = cc.find('middleLayer/ConsoleNode/BtnOpen');
const BtnLoad = cc.find("middleLayer/ui/BtnLoad"); const consoleNode = cc.find('middleLayer/ConsoleNode/Console');
BtnLoad.on("click", () => { const consoleBg = cc.find('middleLayer/ConsoleNode/bg');
this.preloadCount = 0; btnOpen.on('click', () => {
this.loadedCount = 0; btnClose.active = true;
cc.find("middleLayer/ui/ProgressLabel").active = true; btnOpen.active = false;
cc.find("middleLayer/ui/loadingProgress").active = true; consoleNode.active = true;
// this.preloadAll(); consoleBg.active = true;
this.preloadSourceImman(); });
});
btnClose.on('click', () => {
const btnClose = cc.find("middleLayer/ConsoleNode/BtnClose"); btnClose.active = false;
const btnOpen = cc.find("middleLayer/ConsoleNode/BtnOpen"); btnOpen.active = true;
const consoleNode = cc.find("middleLayer/ConsoleNode/Console"); consoleNode.active = false;
const consoleBg = cc.find("middleLayer/ConsoleNode/bg"); consoleBg.active = false;
btnOpen.on("click", () => { });
btnClose.active = true; },
btnOpen.active = false;
consoleNode.active = true; goPrePage() {
consoleBg.active = true; this.goTarIndexPage(this.courseIndex - 1);
}); },
goNextPage() {
btnClose.on("click", () => { this.goTarIndexPage(this.courseIndex + 1);
btnClose.active = false; },
btnOpen.active = true; goTarIndexPage(index) {
consoleNode.active = false; if (!this.courses || index == this.courseIndex || index < 0 || index > this.courses.length - 1) {
consoleBg.active = false; return;
}); }
},
window.courseware.freeAllOcMethod();
goPrePage() {
this.goTarIndexPage(this.courseIndex - 1); this.courseIndex = index;
}, this.courseItem = this.courses[this.courseIndex];
goNextPage() { if (this.courseIndex == 0) {
this.goTarIndexPage(this.courseIndex + 1); cc.find('middleLayer/BtnLeft').active = false;
}, } else {
goTarIndexPage(index) { cc.find('middleLayer/BtnLeft').active = false;
if ( }
!this.courses || if (this.courseIndex == this.courses.length - 1) {
index == this.courseIndex || cc.find('middleLayer/BtnRight').active = false;
index < 0 || } else {
index > this.courses.length - 1 cc.find('middleLayer/BtnRight').active = true;
) { }
return; this.loadPageBundle();
} },
log(str) {
window.courseware.freeAllOcMethod(); const logStr = `${new Date().toLocaleString()}: ${str}`;
console.log(logStr);
this.courseIndex = index; const content = cc.instantiate(cc.find('middleLayer/ConsoleNode/content'));
this.courseItem = this.courses[this.courseIndex]; content.active = true;
if (this.courseIndex == 0) { const label = content.getChildByName('label');
cc.find("middleLayer/BtnLeft").active = false; label.getComponent(cc.Label).string = logStr;
} else { const consoleContent = cc.find('middleLayer/ConsoleNode/Console/content');
cc.find("middleLayer/BtnLeft").active = false; consoleContent.addChild(content);
} consoleContent.getComponent(cc.Layout).updateLayout();
if (this.courseIndex == this.courses.length - 1) { },
cc.find("middleLayer/BtnRight").active = false; hideUI() {
} else { cc.find('middleLayer/ui').active = false;
cc.find("middleLayer/BtnRight").active = true; },
} loadOnlineBundle(bundleName) {
this.loadPageBundle(); this.hideUI();
}, this.showWaitingLetters();
log(str) { this.callNetworkApiGet(`http://staging-teach.ireadabc.com`, `/api/template/v1/${bundleName}`, {}, (datastr) => {
const logStr = `${new Date().toLocaleString()}: ${str}`; const data = JSON.parse(datastr);
console.log(logStr); let configData = null;
const content = cc.instantiate(cc.find("middleLayer/ConsoleNode/content")); if (cc.sys.os == cc.sys.OS_IOS) {
content.active = true; configData = data.data.conf.ios;
const label = content.getChildByName("label"); } else if (cc.sys.os == cc.sys.OS_ANDROID) {
label.getComponent(cc.Label).string = logStr; configData = data.data.conf.android;
const consoleContent = cc.find("middleLayer/ConsoleNode/Console/content"); } else {
consoleContent.addChild(content); configData = data.data.conf.web_desktop;
consoleContent.getComponent(cc.Layout).updateLayout(); }
}, const sceneName = configData.sceneName;
hideUI() { const version = configData.version;
cc.find("middleLayer/ui").active = false; const bondleUrl = configData.bondleUrl;
}, this.loadBundle(sceneName, version, bondleUrl);
loadOnlineBundle(bundleName) { });
this.hideUI(); },
this.showWaitingLetters(); courses: null,
this.callNetworkApiGet( courseIndex: 0,
`http://staging-teach.ireadabc.com`, courseItem: null,
`/api/template/v1/${bundleName}`, loadOnlineCourseWare(courseId, linkFlag) {
{}, this.hideUI();
(datastr) => { this.showWaitingLetters();
const data = JSON.parse(datastr);
let configData = null; let api = `/api/courseware/v1/${courseId}/list`;
if (cc.sys.os == cc.sys.OS_IOS) { if (linkFlag === true) {
configData = data.data.conf.ios; api = `/api/courseware/v1/${courseId}/eq/level/list`;
} else if (cc.sys.os == cc.sys.OS_ANDROID) { }
configData = data.data.conf.android; this.callNetworkApiGet(`http://staging-teach.ireadabc.com`, api, {}, (datastr) => {
} else { const data = JSON.parse(datastr);
configData = data.data.conf.web_desktop; if (data.rows && data.rows.length > 0) {
} this.courses = data.rows;
const sceneName = configData.sceneName; this.courseIndex = data.index || 0;
const version = configData.version; this.courseItem = data.rows[this.courseIndex];
const bondleUrl = configData.bondleUrl; }
this.loadBundle(sceneName, version, bondleUrl); if (this.courses && this.courses.length > 1 && this.courseIndex <= this.courses.length - 1) {
} cc.find('middleLayer/BtnRight').active = true;
); }
}, if (this.courseIndex > 0) {
courses: null, cc.find('middleLayer/BtnLeft').active = false;
courseIndex: 0, }
courseItem: null, this.reWriteAir();
loadOnlineCourseWare(courseId, linkFlag) { this.loadPageBundle();
this.hideUI(); });
this.showWaitingLetters(); },
loadLocalBundle(address, port) {
let api = `/api/courseware/v1/${courseId}/list`; this.callNetworkApiGetLocal(`http://${address}:${port}`, '/dist/config.json', {}, (datastr) => {
if (linkFlag === true) { const data = JSON.parse(datastr);
api = `/api/courseware/v1/${courseId}/eq/level/list`; let sceneName = '';
} let version = '';
this.callNetworkApiGet( let bondleUrl = '';
`http://staging-teach.ireadabc.com`, if (cc.sys.os == cc.sys.OS_IOS) {
api, sceneName = data.ios.sceneName;
{}, version = data.ios.version;
(datastr) => { bondleUrl = `http://${address}:${port}/dist/ios/${sceneName}/`;
const data = JSON.parse(datastr); } else if (cc.sys.os == cc.sys.OS_ANDROID) {
if (data.rows && data.rows.length > 0) { sceneName = data.android.sceneName;
this.courses = data.rows; version = data.android.version;
this.courseIndex = data.index || 0; bondleUrl = `http://${address}:${port}/dist/android/${sceneName}/`;
this.courseItem = data.rows[this.courseIndex]; } else {
} sceneName = data.android.sceneName;
if ( version = "";
this.courses && bondleUrl = `http://${address}:${port}/dist/web_desktop/`;
this.courses.length > 1 && }
this.courseIndex <= this.courses.length - 1 this.loadBundle(sceneName, version, bondleUrl);
) { });
cc.find("middleLayer/BtnRight").active = true; },
} loadPageBundle() {
if (this.courseIndex > 0) { let sceneName, version, bondleUrl = "";
cc.find("middleLayer/BtnLeft").active = false; if (cc.sys.os == cc.sys.OS_IOS) {
} sceneName = this.courseItem.conf.ios.sceneName;
this.reWriteAir(); version = this.courseItem.conf.ios.version;
this.loadPageBundle(); bondleUrl = this.courseItem.conf.ios.bondleUrl;
} } else if (cc.sys.os == cc.sys.OS_ANDROID) {
); sceneName = this.courseItem.conf.android.sceneName;
}, version = this.courseItem.conf.android.version;
loadLocalBundle(address, port) { bondleUrl = this.courseItem.conf.android.bondleUrl;
this.callNetworkApiGetLocal( } else {
`http://${address}:${port}`, sceneName = this.courseItem.conf.web_desktop.sceneName;
"/dist/config.json", version = this.courseItem.conf.web_desktop.version;
{}, bondleUrl = this.courseItem.conf.web_desktop.bondleUrl;
(datastr) => { }
const data = JSON.parse(datastr);
let sceneName = ""; this.loadBundle(sceneName, version, bondleUrl);
let version = ""; },
let bondleUrl = ""; loadBundle(sceneName, version, bondleUrl) {
if (cc.sys.os == cc.sys.OS_IOS) { this.currentBundleInfo = { sceneName, version, bondleUrl };
sceneName = data.ios.sceneName; this.showMask();
version = data.ios.version; this.showWaitingLetters();
bondleUrl = `http://${address}:${port}/dist/ios/${sceneName}/`; cc.assetManager.loadBundle(bondleUrl, { version: version }, async (err, bundle) => {
} else if (cc.sys.os == cc.sys.OS_ANDROID) { if (err) {
sceneName = data.android.sceneName; return this.asyncDelayLog(err);
version = data.android.version; }
bondleUrl = `http://${address}:${port}/dist/android/${sceneName}/`; bundle.loadScene(sceneName, null, null, (err, scene) => {
} else { if (err) {
sceneName = data.android.sceneName; this.asyncDelayLog('err: ', err);
version = ""; }
bondleUrl = `http://${address}:${port}/dist/web_desktop/`; cc.audioEngine.stopAll();
} cc.director.runScene(scene, null, () => {
this.loadBundle(sceneName, version, bondleUrl); console.log('sceneName = ' + sceneName);
} const Canvas = cc.find('Canvas');
); const middleLayer = cc.find('middleLayer');
}, cc.find('middleLayer/ExitBtn').active = true;
loadPageBundle() { this.hideWaitingLetters();
let sceneName, this.hideMask();
version, Canvas.getComponent(cc.Widget).updateAlignment();
bondleUrl = ""; middleLayer.scale = Canvas.width / middleLayer.width;
if (cc.sys.os == cc.sys.OS_IOS) { // this.showLog('middleLayer.scale = ' + middleLayer.scale);
sceneName = this.courseItem.conf.ios.sceneName; });
version = this.courseItem.conf.ios.version; });
bondleUrl = this.courseItem.conf.ios.bondleUrl; });
} else if (cc.sys.os == cc.sys.OS_ANDROID) { },
sceneName = this.courseItem.conf.android.sceneName;
version = this.courseItem.conf.android.version; reloadBundle() {
bondleUrl = this.courseItem.conf.android.bondleUrl; const { sceneName, version, bondleUrl } = this.currentBundleInfo;
} else {
sceneName = this.courseItem.conf.web_desktop.sceneName; this.loadBundle(sceneName, version, bondleUrl);
version = this.courseItem.conf.web_desktop.version; },
bondleUrl = this.courseItem.conf.web_desktop.bondleUrl;
} showMask() {
const mask = cc.find('middleLayer/mask');
this.loadBundle(sceneName, version, bondleUrl); mask.active = true;
}, cc.tween(mask)
loadBundle(sceneName, version, bondleUrl) { .set({ opacity: 0 })
this.currentBundleInfo = { sceneName, version, bondleUrl }; .to(0.5, { opacity: 0 })
this.showMask(); .start();
this.showWaitingLetters(); },
cc.assetManager.loadBundle(
bondleUrl, hideMask() {
{ version: version }, const mask = cc.find('middleLayer/mask');
async (err, bundle) => { mask.stopAllActions();
if (err) { cc.tween(mask)
return this.asyncDelayLog(err); .set({ opacity: 0 })
} .to(0.5, { opacity: 0 })
bundle.loadScene(sceneName, null, null, (err, scene) => { .call(() => {
if (err) { mask.active = false;
this.asyncDelayLog("err: ", err); })
} .start();
cc.audioEngine.stopAll(); },
cc.director.runScene(scene, null, () => {
console.log("sceneName = " + sceneName); reWriteAir() {
const Canvas = cc.find("Canvas"); window.courseware.getData = (callback) => {
const middleLayer = cc.find("middleLayer"); let data = null;
cc.find("middleLayer/ExitBtn").active = true; if (this.courseItem.data) {
this.hideWaitingLetters(); data = JSON.parse(this.courseItem.data);
this.hideMask(); }
Canvas.getComponent(cc.Widget).updateAlignment(); this.log("===成功调用getData===" + this.courseItem.data);
middleLayer.scale = Canvas.width / middleLayer.width; callback && callback(data);
// this.showLog('middleLayer.scale = ' + middleLayer.scale); }
}); window.courseware.nextPage = () => {
}); this.goNextPage();
} }
); window.courseware.beforePage = () => {
}, this.goPrePage();
}
reloadBundle() { window.courseware.sendAnswer = (answerObj) => {
const { sceneName, version, bondleUrl } = this.currentBundleInfo; this.log("===成功调用sendAnswer===" + JSON.stringify(answerObj));
this.callNetworkApiPost(`http://staging-teach.ireadabc.com`, `/api/oxford/courseware/v1/${this.courseItem.id}/saveanswer`, answerObj, (data) => {
this.loadBundle(sceneName, version, bondleUrl); answerObj.callback && answerObj.callback(JSON.stringify(data.row));
}, });
}
showMask() { window.courseware.getAnswer = (queryObj, callback) => {
const mask = cc.find("middleLayer/mask"); this.log("===成功调用getAnswer===" + JSON.stringify(queryObj));
mask.active = true; this.callNetworkApiGet(`http://staging-teach.ireadabc.com`, `/api/oxford/courseware/v1/${this.courseItem.id}/getanswer`, queryObj, (datastr) => {
cc.tween(mask).set({ opacity: 0 }).to(0.5, { opacity: 0 }).start(); const data = JSON.parse(datastr);
}, callback && callback(JSON.stringify(data.rows));
});
hideMask() { }
const mask = cc.find("middleLayer/mask"); },
mask.stopAllActions();
cc.tween(mask) callNativeFunction(param) {
.set({ opacity: 0 }) const paramStr = JSON.stringify(param);
.to(0.5, { opacity: 0 }) if (cc.sys.isNative && cc.sys.os == cc.sys.OS_IOS) {
.call(() => { return jsb.reflection.callStaticMethod('CocosMng', 'cocosWithNativeProtocol:', paramStr);
mask.active = false; } else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_ANDROID) {
}) return jsb.reflection.callStaticMethod('com/iplayabc/cocos/AppActivity', 'cocosWithNativeProtocol', '(Ljava/lang/String;)Ljava/lang/String;', paramStr);
.start(); } else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_WINDOWS) {
}, console.log('汪汪汪')
} else {
reWriteAir() { console.error('非源生环境11');
window.courseware.getData = (callback) => { }
let data = null; },
if (this.courseItem.data) {
data = JSON.parse(this.courseItem.data);
}
this.log("===成功调用getData===" + this.courseItem.data); showWaitingLetters() {
callback && callback(data);
}; if (this.isShowWaiting) {
window.courseware.nextPage = () => { return;
this.goNextPage(); }
}; this.isShowWaiting = true;
window.courseware.beforePage = () => {
this.goPrePage(); const layout = cc.find('middleLayer/layout');
}; layout.removeAllChildren();
window.courseware.sendAnswer = (answerObj) => {
this.log("===成功调用sendAnswer===" + JSON.stringify(answerObj)); const canvas = cc.find("Canvas");
this.callNetworkApiPost( const bg = layout.addComponent(cc.Graphics);
`http://staging-teach.ireadabc.com`, bg.fillRect(-canvas.width / 2, -canvas.height / 2, canvas.width, canvas.height);
`/api/oxford/courseware/v1/${this.courseItem.id}/saveanswer`,
answerObj,
(data) => { const laodingLayer = cc.find('middleLayer/loadingLayer');
answerObj.callback && answerObj.callback(JSON.stringify(data.row)); laodingLayer.active = true;
} const loading = cc.find('middleLayer/loadingLayer/loading');
); const anim = loading.getComponent(cc.Animation)
}; anim.play('loading')
window.courseware.getAnswer = (queryObj, callback) => {
this.log("===成功调用getAnswer===" + JSON.stringify(queryObj)); const script = cc.find('middleLayer/loadingLayer/progress').getComponent('progressScript');
this.callNetworkApiGet( script.setProgress(0);
`http://staging-teach.ireadabc.com`,
`/api/oxford/courseware/v1/${this.courseItem.id}/getanswer`, const id = setInterval(() => {
queryObj, // console.log('changeObj.value: ', changeObj.value);
(datastr) => { script.setProgress(changeObj.value);
const data = JSON.parse(datastr); }, 1);
callback && callback(JSON.stringify(data.rows));
} const changeObj = {value: 0};
); cc.tween(changeObj)
}; .to(5, {value: 0.9})
}, .call(() => {
clearInterval(id);
callNativeFunction(param) { })
const paramStr = JSON.stringify(param); .start();
if (cc.sys.isNative && cc.sys.os == cc.sys.OS_IOS) {
return jsb.reflection.callStaticMethod(
"CocosMng",
"cocosWithNativeProtocol:", // const colorList = this.getRainbowColorList();
paramStr // const layout = cc.find('middleLayer/layout');
); // layout.removeAllChildren();
} else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_ANDROID) { // layout.active = true;
return jsb.reflection.callStaticMethod( // const str = 'Now Loading...';
"com/iplayabc/cocos/AppActivity", // str.split('').forEach((word, idx) => {
"cocosWithNativeProtocol", // const node = new cc.Node();
"(Ljava/lang/String;)Ljava/lang/String;", // const label = node.addComponent(cc.Label);
paramStr // label.string = word;
); // node.parent = layout;
} else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_WINDOWS) { // node.color = colorList[idx];
console.log("汪汪汪"); // cc.tween(node)
} else { // .delay(idx / 4)
console.error("非源生环境"); // .by(0.3, { y: 50 }, { easing: 'sineOut' })
} // .by(0.3, { y: -50 }, { easing: 'sineIn' })
}, // .delay((str.length - idx) / 4)
// .union()
showWaitingLetters() { // .repeatForever()
if (this.isShowWaiting) { // .start();
return; // });
} // const totalWidth = layout.children.reduce((width, node, idx) => {
this.isShowWaiting = true; // return width + node.width;
// }, 0);
const layout = cc.find("middleLayer/layout"); // layout.width = totalWidth;
layout.removeAllChildren();
},
const canvas = cc.find("Canvas");
const bg = layout.addComponent(cc.Graphics); hideWaitingLetters() {
bg.fillRect(
-canvas.width / 2, const layout = cc.find('middleLayer/layout');
-canvas.height / 2, layout.active = false;
canvas.width,
canvas.height const laodingLayer = cc.find('middleLayer/loadingLayer');
); laodingLayer.active = false;
},
const laodingLayer = cc.find("middleLayer/loadingLayer");
laodingLayer.active = true; showLog(str) {
const loading = cc.find("middleLayer/loadingLayer/loading"); if (!this.logList) {
const anim = loading.getComponent(cc.Animation); this.logList = [];
anim.play("loading"); }
this.logList.push(str);
const script = cc console.log(str);
.find("middleLayer/loadingLayer/progress")
.getComponent("progressScript"); if (this.logList.length == 1) {
script.setProgress(0); this.showOneLog();
}
const id = setInterval(() => { },
console.log("changeObj.value: ", changeObj.value);
script.setProgress(changeObj.value); showDebugUI() {
}, 1); cc.find('middleLayer/ConsoleNode/BtnOpen').active = true;
},
const changeObj = { value: 0 };
cc.tween(changeObj) showOneLog() {
.to(5, { value: 0.9 }) const str = this.logList[0];
.call(() => { if (str === undefined) {
clearInterval(id); return;
}) }
.start(); const node = new cc.Node();
node.anchorX = 0.5;
// const colorList = this.getRainbowColorList(); const label = node.addComponent(cc.RichText);
// const layout = cc.find('middleLayer/layout'); label.string = `<outline color=black width=3>${str}</outline>`;
// layout.removeAllChildren(); label.maxWidth = this.node.width / 2;
// layout.active = true; node.x = this.node.width / 4;
// const str = 'Now Loading...'; node.y = -this.node.height / 2;
// str.split('').forEach((word, idx) => { node.parent = this.node;
// const node = new cc.Node(); cc.tween(node)
// const label = node.addComponent(cc.Label); .to(5, { y: this.node.height })
// label.string = word; .removeSelf()
// node.parent = layout; .start();
// node.color = colorList[idx]; setTimeout(() => {
// cc.tween(node) this.logList.shift();
// .delay(idx / 4) this.showOneLog();
// .by(0.3, { y: 50 }, { easing: 'sineOut' }) }, 1000);
// .by(0.3, { y: -50 }, { easing: 'sineIn' }) },
// .delay((str.length - idx) / 4)
// .union() exit() {
// .repeatForever() cc.game.removePersistRootNode(this.node);
// .start(); cc.director.loadScene("emptyScene", () => {
// }); this.callNativeFunction({ name: 'exit', value: '' });
// const totalWidth = layout.children.reduce((width, node, idx) => { });
// return width + node.width; },
// }, 0);
// layout.width = totalWidth; getRainbowColorList() {
}, return [
cc.color(255, 255, 0),
hideWaitingLetters() { cc.color(128, 255, 0),
const layout = cc.find("middleLayer/layout"); cc.color(0, 255, 0),
layout.active = false; cc.color(0, 0, 0),
const laodingLayer = cc.find("middleLayer/loadingLayer"); cc.color(0, 255, 128),
laodingLayer.active = false; cc.color(0, 255, 255),
},
cc.color(0, 128, 255),
showLog(str) { cc.color(0, 0, 255),
if (!this.logList) { cc.color(128, 0, 255),
this.logList = []; cc.color(255, 0, 255),
} cc.color(255, 0, 128),
this.logList.push(str);
console.log(str); cc.color(255, 0, 0),
cc.color(255, 128, 0),
if (this.logList.length == 1) { cc.color(255, 255, 0),
this.showOneLog(); ];
} }
},
showDebugUI() {
cc.find("middleLayer/ConsoleNode/BtnOpen").active = true;
},
showOneLog() {
const str = this.logList[0];
if (str === undefined) {
return;
}
const node = new cc.Node();
node.anchorX = 0.5;
const label = node.addComponent(cc.RichText);
label.string = `<outline color=black width=3>${str}</outline>`;
label.maxWidth = this.node.width / 2;
node.x = this.node.width / 4;
node.y = -this.node.height / 2;
node.parent = this.node;
cc.tween(node).to(5, { y: this.node.height }).removeSelf().start();
setTimeout(() => {
this.logList.shift();
this.showOneLog();
}, 1000);
},
exit() {
cc.game.removePersistRootNode(this.node);
cc.director.loadScene("emptyScene", () => {
this.callNativeFunction({ name: "exit", value: "" });
});
},
getRainbowColorList() {
return [
cc.color(255, 255, 0),
cc.color(128, 255, 0),
cc.color(0, 255, 0),
cc.color(0, 0, 0),
cc.color(0, 255, 128),
cc.color(0, 255, 255),
cc.color(0, 128, 255),
cc.color(0, 0, 255),
cc.color(128, 0, 255),
cc.color(255, 0, 255),
cc.color(255, 0, 128),
cc.color(255, 0, 0),
cc.color(255, 128, 0),
cc.color(255, 255, 0),
];
},
}); });
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