Commit 999c8319 authored by 范雪寒's avatar 范雪寒

feat:

parent e1745b1c
This source diff could not be displayed because it is too large. You can view the blob instead.
import { asyncDelay, onHomeworkFinish } from "../script/util";
import { asyncCallNetworkApiGet, asyncCallNetworkApiPost, asyncDelay, buttonOnClick, jumpToCourseWare, onHomeworkFinish, seekChildByName } from "../script/util";
import { MyCocosSceneComponent } from "../script/MyCocosSceneComponent";
const { ccclass, property } = cc._decorator;
......@@ -7,189 +7,149 @@ const { ccclass, property } = cc._decorator;
export default class SceneComponent extends MyCocosSceneComponent {
addPreloadImage() {
// TODO 根据自己的配置预加载图片资源
this._imageResList.push({ url: this.data.pic_url });
this._imageResList.push({ url: this.data.pic_url_2 });
// this._imageResList.push({ url: this.data.pic_url });
}
addPreloadAudio() {
// TODO 根据自己的配置预加载音频资源
this._audioResList.push({ url: this.data.audio_url });
}
addPreloadAnima() {
}
onLoadEnd() {
// TODO 加载完成后的逻辑写在这里, 下面的代码仅供参考
this.initData();
this.initView();
async onLoadEnd() {
await this.initData();
await this.initView();
this.initListener();
}
_cantouch = null;
initData() {
// 所有全局变量 默认都是null
this._cantouch = true;
rows;
kidInfo;
async initData() {
const middleLayer = cc.find('middleLayer');
if (!middleLayer) {
this.rows = [
{ id: 1, locked: false, name: 1 },
{ id: 1, locked: false, name: 1 },
{ id: 1, locked: true, name: 1 },
];
return;
}
initView() {
this.initBg();
this.initPic();
this.initBtn();
this.initIcon();
}
const middleLayerComponent = middleLayer.getComponent('middleLayer');
initBg() {
const bgNode = cc.find('Canvas/bg');
bgNode.scale = this._mapScaleMax;
const userInfo = await middleLayerComponent.getUserInfo();
if (!userInfo) {
return;
}
pic1 = null;
pic2 = null;
initPic() {
const canvas = cc.find('Canvas');
const maxW = canvas.width * 0.7;
console.log('userInfo = ' + JSON.stringify(userInfo));
this.kidInfo = userInfo;
this.getSprNodeByUrl(this.data.pic_url, (sprNode) => {
const picNode1 = sprNode;
picNode1.scale = maxW / picNode1.width;
picNode1.baseX = picNode1.x;
canvas.addChild(picNode1);
this.pic1 = picNode1;
const folderId = middleLayerComponent.getData('NJ_ShaMo');
console.log('folderId = ' + folderId);
const labelNode = new cc.Node();
labelNode.color = cc.Color.YELLOW;
const label = labelNode.addComponent(cc.Label);
label.string = this.data.text;
label.fontSize = 60;
label.lineHeight = 60;
label.font = cc.find('Canvas/res/font/BRLNSDB').getComponent('cc.Label').font;
picNode1.addChild(labelNode);
const resStr = await asyncCallNetworkApiGet('/api/syllabus/v1/list', {
pid: folderId
});
this.getSprNodeByUrl(this.data.pic_url_2, (sprNode) => {
const picNode2 = sprNode;
picNode2.scale = maxW / picNode2.width;
canvas.addChild(picNode2);
picNode2.x = canvas.width;
picNode2.baseX = picNode2.x;
this.pic2 = picNode2;
const labelNode = new cc.Node();
const label = labelNode.addComponent(cc.RichText);
const size = 60
label.font = cc.find('Canvas/res/font/BRLNSDB').getComponent(cc.Label).font;
label.string = `<outline color=#751e00 width=4><size=${size}><color=#ffffff>${this.data.text}</color></size></outline>`
label.lineHeight = size;
picNode2.addChild(labelNode);
});
console.log('resStr = ' + resStr);
const res = JSON.parse(resStr);
this.rows = res.rows.map((row, idx) => {
let locked = true;
if (idx == 0) {
locked = false;
}
initIcon() {
const iconNode = this.getSprNode('icon');
iconNode.zIndex = 5;
iconNode.anchorX = 1;
iconNode.anchorY = 1;
iconNode.parent = cc.find('Canvas');
iconNode.x = iconNode.parent.width / 2 - 10;
iconNode.y = iconNode.parent.height / 2 - 10;
iconNode.on(cc.Node.EventType.TOUCH_START, () => {
this.playAudioByUrl(this.data.audio_url);
})
if (userInfo.unlock_syllabuses?.includes(row.id)) {
locked = false;
}
return {
id: row.id,
locked: locked,
name: row.name
};
});
}
curPage = null;
initBtn() {
this.curPage = 0;
const bottomPart = cc.find('Canvas/bottomPart');
bottomPart.zIndex = 5; // 提高层级
async initView() {
const bg = cc.find('Canvas/touchboard/contant/bg');
for (let i = 0; i < 36; i++) {
const btn = seekChildByName(bg, `btn_${i}`);
const row = this.rows[i];
if (row && !row.locked) {
this.changeNodeColor(btn);
} else {
this.changeNodeGray(btn);
}
}
}
bottomPart.x = bottomPart.parent.width / 2;
bottomPart.y = -bottomPart.parent.height / 2;
changeNodeGray(node) {
const sprite: cc.Sprite = node.getComponent(cc.Sprite);
if (sprite) {
node.color = cc.color(200, 200, 200);
// let material = cc.Material.createWithBuiltin('2d-gray-sprite', 0);
// let variant1 = cc.MaterialVariant.create(material, sprite);
// sprite.setMaterial(0, variant1);
}
const leftBtnNode = bottomPart.getChildByName('btn_left');
//节点中添加了button组件 则可以添加click事件监听
leftBtnNode.on('click', () => {
if (!this._cantouch) {
return;
node.children.forEach(child => {
this.changeNodeGray(child);
});
}
if (this.curPage == 0) {
return;
changeNodeColor(node) {
const sprite: cc.Sprite = node.getComponent(cc.Sprite);
if (sprite) {
node.color = cc.color(255, 255, 255);
// let material = cc.Material.createWithBuiltin('2d-sprite', 0);
// let variant1 = cc.MaterialVariant.create(material, sprite);
// sprite.setMaterial(0, variant1);
}
this.curPage = 0
this.leftMove();
this.playLocalAudio('btn');
})
node.children.forEach(child => {
this.changeNodeColor(child);
});
}
const rightBtnNode = bottomPart.getChildByName('btn_right');
//节点中添加了button组件 则可以添加click事件监听
rightBtnNode.on('click', () => {
if (!this._cantouch) {
initListener() {
const bg = cc.find('Canvas/touchboard/contant/bg');
for (let i = 0; i < 36; i++) {
const btn = seekChildByName(bg, `btn_${i}`);
const row = this.rows[i];
buttonOnClick(btn, async () => {
const middleLayer = cc.find('middleLayer');
if (!middleLayer) {
return;
}
if (this.curPage == 1) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
if (!row) {
middleLayerComponent.showTips("未解锁 [101]");
return;
}
this.curPage = 1
this.rightMove();
// 游戏结束时需要调用这个方法通知系统作业完成
onHomeworkFinish();
this.playLocalAudio('btn');
})
}
leftMove() {
this._cantouch = false;
const len = this.pic1.parent.width;
cc.tween(this.pic1)
.to(1, { x: this.pic1.baseX }, { easing: 'cubicInOut' })
.start();
cc.tween(this.pic2)
.to(1, { x: this.pic2.baseX }, { easing: 'cubicInOut' })
.call(() => {
this._cantouch = true;
})
.start();
if (row.locked) {
middleLayerComponent.showTips("未解锁");
return;
}
rightMove() {
this._cantouch = false;
const len = this.pic1.parent.width;
cc.tween(this.pic1)
.to(1, { x: this.pic1.baseX - len }, { easing: 'cubicInOut' })
.start();
cc.tween(this.pic2)
.to(1, { x: this.pic2.baseX - len }, { easing: 'cubicInOut' })
.call(() => {
this._cantouch = true;
})
.start();
if (i == 0) {
// 如果是第一个文件夹,则上报一个解锁
await asyncCallNetworkApiPost('/api/oxford/v1/kid/unlock', {
kidid: this.kidInfo.id,
syllabusid: row.id,
token: cc.sys.localStorage.getItem('token')
});
}
// update (dt) {},
const resStr = await asyncCallNetworkApiGet('/api/syllabus/v1/list', {
pid: this.rows[i].id
});
initListener() {
const res = JSON.parse(resStr);
const guideRow = res.rows.find(row => row.name == '指读索引');
if (!guideRow) {
middleLayerComponent.showTips("未配置‘指读索引’");
return;
}
playLocalAudio(audioName) {
const audio = cc.find(`Canvas/res/audio/${audioName}`).getComponent(cc.AudioSource);
return new Promise((resolve, reject) => {
const id = cc.audioEngine.playEffect(audio.clip, false);
cc.audioEngine.setFinishCallback(id, () => {
resolve(id);
middleLayerComponent.setData('NJ_game_select', {
folderId: this.rows[i].id,
courseId: guideRow.id,
nextForderId: this.rows[i + 1]?.id
});
})
jumpToCourseWare(guideRow.id);
});
}
}
}
......@@ -94,13 +94,13 @@ export function getScaleRateBy2Node(baseNode, targetNode, maxFlag = true) {
}
}
export function getDistance (start, end){
export function getDistance(start, end) {
var pos = cc.v2(start.x - end.x, start.y - end.y);
var dis = Math.sqrt(pos.x*pos.x + pos.y*pos.y);
var dis = Math.sqrt(pos.x * pos.x + pos.y * pos.y);
return dis;
}
export function playAudioByUrl(audio_url, cb=null) {
export function playAudioByUrl(audio_url, cb = null) {
if (audio_url) {
cc.assetManager.loadRemote(audio_url, (err, audioClip) => {
const audioId = cc.audioEngine.play(audioClip, false, 0.8);
......@@ -114,21 +114,21 @@ export function playAudioByUrl(audio_url, cb=null) {
}
export function btnClickAnima(btn, time=0.15, rate=1.05) {
export function btnClickAnima(btn, time = 0.15, rate = 1.05) {
btn.tmpScale = btn.scale;
btn.on(cc.Node.EventType.TOUCH_START, () => {
cc.tween(btn)
.to(time / 2, {scale: btn.scale * rate})
.to(time / 2, { scale: btn.scale * rate })
.start()
})
btn.on(cc.Node.EventType.TOUCH_CANCEL, () => {
cc.tween(btn)
.to(time / 2, {scale: btn.tmpScale})
.to(time / 2, { scale: btn.tmpScale })
.start()
})
btn.on(cc.Node.EventType.TOUCH_END, () => {
cc.tween(btn)
.to(time / 2, {scale: btn.tmpScale})
.to(time / 2, { scale: btn.tmpScale })
.start()
})
}
......@@ -179,7 +179,7 @@ export async function asyncDelay(time) {
try {
cc.tween(cc.find('Canvas'))
.delay(time)
.call(()=>{
.call(() => {
resolve(null);
})
.start();
......@@ -238,7 +238,7 @@ export async function asyncLoadDragonBoneAnime(node, { skeJsonData: { url: skeJs
Promise.all([loadTexture, loadTexJsonData, loadSkeJsonData]).then(([texture, atlasJson, dragonBonesJson]) => {
const atlas = new dragonBones.DragonBonesAtlasAsset();
atlas.atlasJson = JSON.stringify(atlasJson);
atlas.texture = texture;
atlas.texture = <any>texture;
const asset = new dragonBones.DragonBonesAsset();
asset.dragonBonesJson = JSON.stringify(dragonBonesJson);
......@@ -246,7 +246,7 @@ export async function asyncLoadDragonBoneAnime(node, { skeJsonData: { url: skeJs
dragonDisplay.dragonAtlasAsset = atlas;
dragonDisplay.dragonAsset = asset;
let armatureNames = dragonBonesJson.armature.map(data => data.name);
let armatureNames = (<any>dragonBonesJson).armature.map(data => data.name);
if (armatureNames.length > 0) {
dragonDisplay.armatureName = armatureNames[0];
......@@ -444,7 +444,7 @@ export function httpHeadCall(requsetUrl: string, callback) {
}
}
export function onHomeworkFinish(data = "", callback = ()=>{}) {
export function onHomeworkFinish(data = "", callback = () => { }) {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
......@@ -464,3 +464,116 @@ export function callMiddleLayerFunction(apiName: string, data: any, callback: Fu
}
}
export function asyncCallNetworkApiGet(apiName, data): Promise<any> {
return new Promise((resolve, reject) => {
callNetworkApiGet(apiName, data, (res => {
resolve(res);
}));
});
}
export function asyncCallNetworkApiPost(uri, data): Promise<any> {
return new Promise((resolve, reject) => {
callNetworkApiPost(uri, data, (res) => {
resolve(res);
});
});
}
export function callNetworkApiPost(uri, data, callBack) {
const middleLayer = cc.find('middleLayer')?.getComponent('middleLayer');
if (middleLayer) {
middleLayer.callNetworkApiPost(uri, data, callBack);
return;
}
const baseUrl = 'http://staging-openapi.iteachabc.com';
const xhr = new XMLHttpRequest();
const url = `${baseUrl}${uri}`;
xhr.open("POST", url, true);
xhr.setRequestHeader('content-type', 'application/json');
xhr.onreadystatechange = () => {
if (xhr.readyState == 4) {
callBack(JSON.parse(xhr.responseText));
}
}
xhr.send(JSON.stringify(data));
}
export function callNetworkApiGet(uri, data, callBack) {
const middleLayer = cc.find('middleLayer')?.getComponent('middleLayer');
if (middleLayer) {
middleLayer.callNetworkApiGet(uri, data, callBack);
return;
}
const baseUrl = 'http://staging-openapi.iteachabc.com';
let queryStr = '?';
const params = [];
for (const key in data) {
if (Object.hasOwnProperty.call(data, key)) {
params.push(`${key}=${data[key]}`);
}
}
queryStr += params.join("&");
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => {
if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) {
callBack(xhr.responseText);
}
};
const url = `${baseUrl}${uri}${queryStr}`;
console.log('url = ' + url);
xhr.open('GET', url, true);
xhr.send();
}
export function jumpToBundle(bundleName: string) {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
middleLayerComponent.loadOnlineBundle(bundleName);
} else {
console.log('jump to bundle: ' + bundleName);
}
}
export function jumpToCourseWare(courseWareId: number) {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
middleLayerComponent.loadOnlineCourseWare(courseWareId);
} else {
console.log('jump to CourseWare: ' + courseWareId);
}
}
export function buttonOnClick(button: cc.Node, callback: Function, scale = 1.0) {
button.addComponent(cc.Button);
button.on('click', () => {
if (button['cantClick']) {
return;
}
button['cantClick'] = true;
cc.tween(button)
.to(0.1, { scale: scale * 1.1 })
.to(0.1, { scale: scale })
.call(() => {
button['cantClick'] = false;
callback && callback();
})
.start();
});
}
export function seekChildByName(node, name) {
if (node.name == name) {
return node;
}
for (let i = 0; i < node.children.length; i++) {
const child = node.children[i];
const result = seekChildByName(child, name);
if (result) {
return result;
}
}
return null;
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "fcfd9eae-8830-46c5-a9f2-1dc3f4fe166f",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {
"ios": false,
"android": false
},
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "844f4813-c7c5-4126-b2d8-d9da02468349",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.1.0",
"uuid": "cd56f1cd-1521-480e-8b26-0ed578d0aaee",
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "7bb717b5-c708-488b-afeb-78a47b279c17",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"ver": "1.2.9",
"uuid": "23649694-b154-4b37-a02b-1e5b268e21b8",
"asyncLoadAssets": false,
"autoReleaseAssets": true,
"subMetas": {}
}
\ No newline at end of file
import { asyncCallNetworkApiGet, asyncCallNetworkApiPost, asyncDelay, buttonOnClick, jumpToCourseWare, onHomeworkFinish, seekChildByName } from "../script/util";
import { MyCocosSceneComponent } from "../script/MyCocosSceneComponent";
const { ccclass, property } = cc._decorator;
@ccclass
export default class SceneComponent extends MyCocosSceneComponent {
addPreloadImage() {
// this._imageResList.push({ url: this.data.pic_url });
}
rows;
kidInfo;
async initData() {
const middleLayer = cc.find('middleLayer');
if (!middleLayer) {
this.rows = [
{ id: 1, locked: false, name: 1 },
{ id: 1, locked: false, name: 1 },
{ id: 1, locked: true, name: 1 },
];
return;
}
const middleLayerComponent = middleLayer.getComponent('middleLayer');
const userInfo = await middleLayerComponent.getUserInfo();
if (!userInfo) {
return;
}
console.log('userInfo = ' + JSON.stringify(userInfo));
this.kidInfo = userInfo;
const folderId = middleLayerComponent.getData('NJ_ShaMo');
console.log('folderId = ' + folderId);
const resStr = await asyncCallNetworkApiGet('/api/syllabus/v1/list', {
pid: folderId
});
console.log('resStr = ' + resStr);
const res = JSON.parse(resStr);
this.rows = res.rows.map((row, idx) => {
let locked = true;
if (idx == 0) {
locked = false;
}
if (userInfo.unlock_syllabuses?.includes(row.id)) {
locked = false;
}
return {
id: row.id,
locked: locked,
name: row.name
};
});
}
async onLoadEnd() {
await this.initData();
await this.initView();
this.initListener();
}
async initView() {
const bg = cc.find('Canvas/touchboard/contant/bg');
for (let i = 0; i < 36; i++) {
const btn = seekChildByName(bg, `btn_${i}`);
const row = this.rows[i];
if (row && !row.locked) {
this.changeNodeColor(btn);
} else {
this.changeNodeGray(btn);
}
}
}
changeNodeGray(node) {
const sprite: cc.Sprite = node.getComponent(cc.Sprite);
if (sprite) {
node.color = cc.color(200, 200, 200);
// let material = cc.Material.createWithBuiltin('2d-gray-sprite', 0);
// let variant1 = cc.MaterialVariant.create(material, sprite);
// sprite.setMaterial(0, variant1);
}
node.children.forEach(child => {
this.changeNodeGray(child);
});
}
changeNodeColor(node) {
const sprite: cc.Sprite = node.getComponent(cc.Sprite);
if (sprite) {
node.color = cc.color(255, 255, 255);
// let material = cc.Material.createWithBuiltin('2d-sprite', 0);
// let variant1 = cc.MaterialVariant.create(material, sprite);
// sprite.setMaterial(0, variant1);
}
node.children.forEach(child => {
this.changeNodeColor(child);
});
}
initListener() {
const bg = cc.find('Canvas/touchboard/contant/bg');
for (let i = 0; i < 36; i++) {
const btn = seekChildByName(bg, `btn_${i}`);
const row = this.rows[i];
buttonOnClick(btn, async () => {
const middleLayer = cc.find('middleLayer');
if (!middleLayer) {
return;
}
const middleLayerComponent = middleLayer.getComponent('middleLayer');
if (!row) {
middleLayerComponent.showTips("未解锁 [101]");
return;
}
if (row.locked) {
middleLayerComponent.showTips("未解锁");
return;
}
if (i == 0) {
// 如果是第一个文件夹,则上报一个解锁
await asyncCallNetworkApiPost('/api/oxford/v1/kid/unlock', {
kidid: this.kidInfo.id,
syllabusid: row.id,
token: cc.sys.localStorage.getItem('token')
});
}
const resStr = await asyncCallNetworkApiGet('/api/syllabus/v1/list', {
pid: this.rows[i].id
});
const res = JSON.parse(resStr);
const guideRow = res.rows.find(row => row.name == '指读索引');
if (!guideRow) {
middleLayerComponent.showTips("未配置‘指读索引’");
return;
}
middleLayerComponent.setData('NJ_game_select', {
folderId: this.rows[i].id,
courseId: guideRow.id,
nextForderId: this.rows[i + 1]?.id
});
jumpToCourseWare(guideRow.id);
});
}
}
}
{
"ver": "1.0.8",
"uuid": "502ee5b4-7934-437a-9fd1-83fe709f56c4",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "7ee19faf-9e0c-425c-9851-e6c34c893e09",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
import { defaultData } from "../script/defaultData";
export class MyCocosSceneComponent extends cc.Component {
// 生命周期 onLoad
onLoad() {
this.initSceneData();
this.initSize();
}
_imageResList = null;
_audioResList = null;
_animaResList = null;
initSceneData() {
this._imageResList = [];
this._audioResList = [];
this._animaResList = [];
}
_designSize = null; // 设计分辨率
_frameSize = null; // 屏幕分辨率
_mapScaleMin = null; // 场景中常用缩放(取大值)
_mapScaleMax = null; // 场景中常用缩放(取小值)
_cocosScale = null; // cocos 自缩放 (较少用到)
initSize() {
// 注意cc.winSize只有在适配后(修改fitHeight/fitWidth后)才能获取到正确的值,因此使用cc.getFrameSize()来获取初始的屏幕大小
let screen_size = cc.view.getFrameSize().width / cc.view.getFrameSize().height
let design_size = cc.Canvas.instance.designResolution.width / cc.Canvas.instance.designResolution.height
let f = screen_size >= design_size
cc.Canvas.instance.fitHeight = f
cc.Canvas.instance.fitWidth = !f
const frameSize = cc.view.getFrameSize();
this._frameSize = frameSize;
this._designSize = cc.view.getDesignResolutionSize();
let sx = cc.winSize.width / frameSize.width;
let sy = cc.winSize.height / frameSize.height;
this._cocosScale = Math.min(sx, sy);
sx = frameSize.width / this._designSize.width;
sy = frameSize.height / this._designSize.height;
this._mapScaleMin = Math.min(sx, sy) * this._cocosScale;
this._mapScaleMax = Math.max(sx, sy) * this._cocosScale;
cc.director['_scene'].width = frameSize.width;
cc.director['_scene'].height = frameSize.height;
}
data = null;
// 生命周期 start
start() {
if (window && (<any>window).courseware && (<any>window).courseware.getData) {
(<any>window).courseware.getData((data) => {
this.log('data:' + data);
this.data = data || this.getDefaultData();
this.data = JSON.parse(JSON.stringify(this.data));
this.preloadItem();
})
} else {
this.data = this.getDefaultData();
this.preloadItem();
}
}
getDefaultData() {
return defaultData;
}
preloadItem() {
this.addPreloadImage();
this.addPreloadAudio();
this.addPreloadAnima();
this.preload();
}
addPreloadImage() {
}
addPreloadAudio() {
}
addPreloadAnima() {
}
preload() {
const preloadArr = this._imageResList.concat(this._audioResList).concat(this._animaResList);
cc.assetManager.loadAny(preloadArr, null, null, (err, data) => {
if (window && window["air"]) {
// window["air"].onCourseInScreen = (next) => {
// window["air"].isCourseInScreen = true;
// this.onLoadEnd();
// next();
// };
this.onLoadEnd();
window["air"].hideAirClassLoading();
} else {
this.onLoadEnd();
}
cc.debug.setDisplayStats(false);
});
}
log (str) {
const node = cc.find('middleLayer');
if(node){
node.getComponent('middleLayer').log(str);
}else{
cc.log(str);
}
}
onLoadEnd() {
}
// ------------------------------------------------
getSprNode(resName) {
const sf = cc.find('Canvas/res/img/' + resName).getComponent(cc.Sprite).spriteFrame;
const node = new cc.Node();
node.addComponent(cc.Sprite).spriteFrame = sf;
return node;
}
getSpriteFrimeByUrl(url, cb) {
cc.loader.load({ url }, (err, img) => {
const spriteFrame = new cc.SpriteFrame(img)
if (cb) {
cb(spriteFrame);
}
})
}
getSprNodeByUrl(url, cb) {
const node = new cc.Node();
const spr = node.addComponent(cc.Sprite);
this.getSpriteFrimeByUrl(url, (sf) => {
spr.spriteFrame = sf;
if (cb) {
cb(node);
}
})
}
playAudioByUrl(audio_url, cb = null) {
if (audio_url) {
cc.assetManager.loadRemote(audio_url, (err, audioClip) => {
const audioId = cc.audioEngine.play(audioClip, false, 0.8);
if (cb) {
cc.audioEngine.setFinishCallback(audioId, () => {
cb();
});
}
});
}else{
cb && cb();
}
}
}
\ No newline at end of file
{
"ver": "1.0.8",
"uuid": "25491e31-99d2-46f6-bd6e-9151df4c5b0e",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
export const defaultData = {}
\ No newline at end of file
{
"ver": "1.0.8",
"uuid": "dcd4d3ed-9d75-4483-9619-f1607128aa90",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
export function getPosByAngle(angle, len) {
const radian = angle * Math.PI / 180;
const x = Math.sin(radian) * len;
const y = Math.cos(radian) * len;
return { x, y };
}
export function getAngleByPos(px, py, mx, my) {
const x = Math.abs(px - mx);
const y = Math.abs(py - my);
const z = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
const cos = y / z;
const radina = Math.acos(cos); // 用反三角函数求弧度
let angle = Math.floor(180 / (Math.PI / radina) * 100) / 100; // 将弧度转换成角度
if (mx > px && my > py) {// 鼠标在第四象限
angle = 180 - angle;
}
if (mx === px && my > py) {// 鼠标在y轴负方向上
angle = 180;
}
if (mx > px && my === py) {// 鼠标在x轴正方向上
angle = 90;
}
if (mx < px && my > py) {// 鼠标在第三象限
angle = 180 + angle;
}
if (mx < px && my === py) {// 鼠标在x轴负方向
angle = 270;
}
if (mx < px && my < py) {// 鼠标在第二象限
angle = 360 - angle;
}
// console.log('angle: ', angle);
return angle;
}
export function exchangeNodePos(baseNode, targetNode) {
return baseNode.convertToNodeSpaceAR(targetNode._parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y)));
}
export function RandomInt(a, b = 0) {
let max = Math.max(a, b);
let min = Math.min(a, b);
return Math.floor(Math.random() * (max - min) + min);
}
export function randomSortByArr(arr) {
const newArr = [];
const tmpArr = arr.concat();
while (tmpArr.length > 0) {
const randomIndex = Math.floor(tmpArr.length * Math.random());
newArr.push(tmpArr[randomIndex]);
tmpArr.splice(randomIndex, 1);
}
return newArr;
}
export function setSprNodeMaxLen(sprNode, maxW, maxH) {
const sx = maxW / sprNode.width;
const sy = maxH / sprNode.height;
const s = Math.min(sx, sy);
sprNode.scale = Math.round(s * 1000) / 1000;
}
export function localPosTolocalPos(baseNode, targetNode) {
const worldPos = targetNode.parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y));
const localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));
return localPos;
}
export function worldPosToLocalPos(worldPos, baseNode) {
const localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));
return localPos;
}
export function getScaleRateBy2Node(baseNode, targetNode, maxFlag = true) {
const worldRect1 = targetNode.getBoundingBoxToWorld();
const worldRect2 = baseNode.getBoundingBoxToWorld();
const sx = worldRect1.width / worldRect2.width;
const sy = worldRect1.height / worldRect2.height;
if (maxFlag) {
return Math.max(sx, sy);
} else {
return Math.min(sx, sy);
}
}
export function getDistance(start, end) {
var pos = cc.v2(start.x - end.x, start.y - end.y);
var dis = Math.sqrt(pos.x * pos.x + pos.y * pos.y);
return dis;
}
export function playAudioByUrl(audio_url, cb = null) {
if (audio_url) {
cc.assetManager.loadRemote(audio_url, (err, audioClip) => {
const audioId = cc.audioEngine.play(audioClip, false, 0.8);
if (cb) {
cc.audioEngine.setFinishCallback(audioId, () => {
cb();
});
}
});
}
}
export function btnClickAnima(btn, time = 0.15, rate = 1.05) {
btn.tmpScale = btn.scale;
btn.on(cc.Node.EventType.TOUCH_START, () => {
cc.tween(btn)
.to(time / 2, { scale: btn.scale * rate })
.start()
})
btn.on(cc.Node.EventType.TOUCH_CANCEL, () => {
cc.tween(btn)
.to(time / 2, { scale: btn.tmpScale })
.start()
})
btn.on(cc.Node.EventType.TOUCH_END, () => {
cc.tween(btn)
.to(time / 2, { scale: btn.tmpScale })
.start()
})
}
export function getSpriteFrimeByUrl(url, cb) {
cc.loader.load({ url }, (err, img) => {
const spriteFrame = new cc.SpriteFrame(img)
if (cb) {
cb(spriteFrame);
}
})
}
export function getSprNode(resName) {
const sf = cc.find('Canvas/res/img/' + resName).getComponent(cc.Sprite).spriteFrame;
const node = new cc.Node();
node.addComponent(cc.Sprite).spriteFrame = sf;
return node;
}
export function getSprNodeByUrl(url, cb) {
const node = new cc.Node();
const spr = node.addComponent(cc.Sprite);
getSpriteFrimeByUrl(url, (sf) => {
spr.spriteFrame = sf;
if (cb) {
cb(spr);
}
})
}
export function playAudio(audioClip, cb = null) {
if (audioClip) {
const audioId = cc.audioEngine.playEffect(audioClip, false);
if (cb) {
cc.audioEngine.setFinishCallback(audioId, () => {
cb();
});
}
}
}
export async function asyncDelay(time) {
return new Promise((resolve, reject) => {
try {
cc.tween(cc.find('Canvas'))
.delay(time)
.call(() => {
resolve(null);
})
.start();
} catch (e) {
reject(e);
}
})
}
export async function asyncLoadDragonBoneAnime(node, { skeJsonData: { url: skeJsonDataUrl }, texJsonData: { url: texJsonDataUrl }, texPngData: { url: texPngDataUrl } }) {
if (!texPngDataUrl || !texJsonDataUrl || !texPngDataUrl
|| texPngDataUrl == '' || texJsonDataUrl == '' || texPngDataUrl == '') {
return;
}
return new Promise((resolve, reject) => {
if (node.animaNode) {
node.animaNode.removeFromParent();
}
const animaNode = new cc.Node();
animaNode.name = 'animaNode';
animaNode.parent = node;
animaNode.active = true;
node.animaNode = animaNode;
const dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);
const loadTexture = new Promise((resolve, reject) => {
cc.assetManager.loadRemote(texPngDataUrl, (error, texture) => {
if (error) {
reject(error);
}
resolve(texture);
});
});
const loadTexJsonData = new Promise((resolve, reject) => {
cc.assetManager.loadAny({ url: texJsonDataUrl }, (error, atlasJson) => {
if (error) {
reject(error);
}
resolve(atlasJson);
});
});
const loadSkeJsonData = new Promise((resolve, reject) => {
cc.assetManager.loadAny({ url: skeJsonDataUrl }, (error, dragonBonesJson) => {
if (error) {
reject(error);
}
resolve(dragonBonesJson);
});
});
Promise.all([loadTexture, loadTexJsonData, loadSkeJsonData]).then(([texture, atlasJson, dragonBonesJson]) => {
const atlas: any = new dragonBones.DragonBonesAtlasAsset();
atlas.atlasJson = JSON.stringify(atlasJson);
atlas.texture = texture;
const asset = new dragonBones.DragonBonesAsset();
asset.dragonBonesJson = JSON.stringify(dragonBonesJson);
dragonDisplay.dragonAtlasAsset = atlas;
dragonDisplay.dragonAsset = asset;
let armatureNames = (<any>dragonBonesJson).armature.map(data => data.name);
if (armatureNames.length > 0) {
dragonDisplay.armatureName = armatureNames[0];
}
resolve(animaNode);
});
});
}
export class FireworkSettings {
baseNode; // 父节点
nodeList; // 火花节点的array
pos; // 发射点
side; // 发射方向
range; // 扩散范围
number; // 发射数量
scalseRange; // 缩放范围
constructor(baseNode, nodeList,
pos = cc.v2(0, 0),
side = cc.v2(0, 100),
range = 50,
number = 100,
scalseRange = 0
) {
this.baseNode = baseNode;
this.nodeList = nodeList;
this.pos = pos;
this.side = side;
this.range = range;
this.number = number;
this.scalseRange = scalseRange;
}
static copy(firework) {
return new FireworkSettings(
firework.baseNode,
firework.nodeList,
firework.pos,
firework.side,
firework.range,
firework.number,
);
}
}
export async function showFireworks(fireworkSettings) {
const { baseNode, nodeList, pos, side, range, number, scalseRange } = fireworkSettings;
new Array(number).fill(' ').forEach(async (_, i) => {
let rabbonNode = new cc.Node();
rabbonNode.parent = baseNode;
rabbonNode.x = pos.x;
rabbonNode.y = pos.y;
rabbonNode.angle = 60 * Math.random() - 30;
let node = cc.instantiate(nodeList[RandomInt(nodeList.length)]);
node.parent = rabbonNode;
node.active = true;
node.x = 0;
node.y = 0;
node.angle = 0;
node.scale = (Math.random() - 0.5) * scalseRange + 1;
const rate = Math.random();
const angle = Math.PI * (Math.random() * 2 - 1);
await asyncTweenBy(rabbonNode, 0.3, {
x: side.x * rate + Math.cos(angle) * range * rate,
y: side.y * rate + Math.sin(angle) * range * rate
}, {
easing: 'quadIn'
});
cc.tween(rabbonNode)
.by(8, { y: -2000 })
.start();
cc.tween(rabbonNode)
.to(5, { scale: (Math.random() - 0.5) * scalseRange + 1 })
.start();
rabbonFall(rabbonNode);
await asyncDelay(Math.random());
cc.tween(node)
.by(0.15, { x: -10, angle: -10 })
.by(0.3, { x: 20, angle: 20 })
.by(0.15, { x: -10, angle: -10 })
.union()
.repeatForever()
.start();
cc.tween(rabbonNode)
.delay(5)
.to(0.3, { opacity: 0 })
.call(() => {
node.stopAllActions();
node.active = false;
node.parent = null;
node = null;
})
.start();
});
}
async function rabbonFall(node) {
const time = 1 + Math.random();
const offsetX = RandomInt(-200, 200) * time;
await asyncTweenBy(node, time, { x: offsetX, angle: offsetX * 60 / 200 });
rabbonFall(node);
}
export async function asyncTweenTo(node, duration, obj, ease = undefined) {
return new Promise((resolve, reject) => {
try {
cc.tween(node)
.to(duration, obj, ease)
.call(() => {
resolve(null);
})
.start();
} catch (e) {
reject(e);
}
});
}
export async function asyncTweenBy(node, duration, obj, ease = undefined) {
return new Promise((resolve, reject) => {
try {
cc.tween(node)
.by(duration, obj, ease)
.call(() => {
resolve(null);
})
.start();
} catch (e) {
reject(e);
}
});
}
export function showTrebleFirework(baseNode, rabbonList) {
const middle = new FireworkSettings(baseNode, rabbonList);
middle.pos = cc.v2(0, -400);
middle.side = cc.v2(0, 1000);
middle.range = 200;
middle.number = 100;
middle.scalseRange = 0.4;
const left = FireworkSettings.copy(middle);
left.pos = cc.v2(-600, -400);
left.side = cc.v2(200, 1000);
const right = FireworkSettings.copy(middle);
right.pos = cc.v2(600, -400);
right.side = cc.v2(-200, 1000);
showFireworks(middle);
showFireworks(left);
showFireworks(right);
}
export function httpHeadCall(requsetUrl: string, callback) {
let xhr = new XMLHttpRequest();
console.log("Status: Send Post Request to " + requsetUrl);
try {
xhr.onreadystatechange = () => {
try {
console.log('xhr.readyState: ', xhr.readyState);
if (xhr.readyState == 4) {
if ((xhr.status >= 200 && xhr.status < 400)) {
callback(true);
} else {
callback(false);
}
}
} catch (e) {
console.log(e)
}
};
xhr.open("HEAD", requsetUrl, true);
xhr.send();
xhr.timeout = 15000;
xhr.onerror = (e) => {
callback(false);
};
xhr.ontimeout = (e) => {
callback(false);
};
} catch (e) {
console.log("Send Get Request error: ", e);
}
}
export function onHomeworkFinish(data = "", callback = () => { }) {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
middleLayerComponent.onHomeworkFinish(callback, data);
} else {
console.log('onHomeworkFinish', JSON.stringify(data));
}
}
export function callMiddleLayerFunction(apiName: string, data: any, callback: Function) {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
middleLayerComponent.callMiddleLayerFunction(apiName, data, callback);
} else {
console.log('callMiddleLayerFunction: ' + apiName);
}
}
export function asyncCallNetworkApiGet(apiName, data): Promise<any> {
return new Promise((resolve, reject) => {
callNetworkApiGet(apiName, data, (res => {
resolve(res);
}));
});
}
export function asyncCallNetworkApiPost(uri, data): Promise<any> {
return new Promise((resolve, reject) => {
callNetworkApiPost(uri, data, (res) => {
resolve(res);
});
});
}
export function callNetworkApiPost(uri, data, callBack) {
const middleLayer = cc.find('middleLayer')?.getComponent('middleLayer');
if (middleLayer) {
middleLayer.callNetworkApiPost(uri, data, callBack);
return;
}
const baseUrl = 'http://staging-openapi.iteachabc.com';
const xhr = new XMLHttpRequest();
const url = `${baseUrl}${uri}`;
xhr.open("POST", url, true);
xhr.setRequestHeader('content-type', 'application/json');
xhr.onreadystatechange = () => {
if (xhr.readyState == 4) {
callBack(JSON.parse(xhr.responseText));
}
}
xhr.send(JSON.stringify(data));
}
export function callNetworkApiGet(uri, data, callBack) {
const middleLayer = cc.find('middleLayer')?.getComponent('middleLayer');
if (middleLayer) {
middleLayer.callNetworkApiGet(uri, data, callBack);
return;
}
const baseUrl = 'http://staging-openapi.iteachabc.com';
let queryStr = '?';
const params = [];
for (const key in data) {
if (Object.hasOwnProperty.call(data, key)) {
params.push(`${key}=${data[key]}`);
}
}
queryStr += params.join("&");
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => {
if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) {
callBack(xhr.responseText);
}
};
const url = `${baseUrl}${uri}${queryStr}`;
console.log('url = ' + url);
xhr.open('GET', url, true);
xhr.send();
}
export function jumpToBundle(bundleName: string) {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
middleLayerComponent.loadOnlineBundle(bundleName);
} else {
console.log('jump to bundle: ' + bundleName);
}
}
export function jumpToCourseWare(courseWareId: number) {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
middleLayerComponent.loadOnlineCourseWare(courseWareId);
} else {
console.log('jump to CourseWare: ' + courseWareId);
}
}
export function buttonOnClick(button: cc.Node, callback: Function, scale = 1.0) {
button.addComponent(cc.Button);
button.on('click', () => {
if (button['cantClick']) {
return;
}
button['cantClick'] = true;
cc.tween(button)
.to(0.1, { scale: scale * 1.1 })
.to(0.1, { scale: scale })
.call(() => {
button['cantClick'] = false;
callback && callback();
})
.start();
});
}
export function seekChildByName(node, name) {
if (node.name == name) {
return node;
}
for (let i = 0; i < node.children.length; i++) {
const child = node.children[i];
const result = seekChildByName(child, name);
if (result) {
return result;
}
}
return null;
}
\ No newline at end of file
{
"ver": "1.0.8",
"uuid": "eb0250bb-22d6-4f88-a810-d8afdb6bdd77",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "6ed7d09a-147e-4e78-915c-bdcf995a9c25",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "9a334da3-bcb3-4837-a90a-170dc52f3e83",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 359,
"height": 172,
"platformSettings": {},
"subMetas": {
"STORY1": {
"ver": "1.0.4",
"uuid": "c1505162-2b12-4151-94c6-55008197c568",
"rawTextureUuid": "9a334da3-bcb3-4837-a90a-170dc52f3e83",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 359,
"height": 172,
"rawWidth": 359,
"rawHeight": 172,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "970ba8ae-d5b8-402b-94ea-e79a8f80d48c",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 359,
"height": 166,
"platformSettings": {},
"subMetas": {
"STORY2": {
"ver": "1.0.4",
"uuid": "ea6af8d6-4476-46a9-9332-6a2e4ef621bb",
"rawTextureUuid": "970ba8ae-d5b8-402b-94ea-e79a8f80d48c",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 359,
"height": 166,
"rawWidth": 359,
"rawHeight": 166,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "b9f1424f-7141-439e-855c-84e4b66dd7d1",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 359,
"height": 166,
"platformSettings": {},
"subMetas": {
"STORY3": {
"ver": "1.0.4",
"uuid": "8333fbda-8457-4ba8-a3f6-c44c24ff4c01",
"rawTextureUuid": "b9f1424f-7141-439e-855c-84e4b66dd7d1",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 359,
"height": 166,
"rawWidth": 359,
"rawHeight": 166,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "fbf9ed89-e5c0-483b-847f-acd98a73557e",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 359,
"height": 166,
"platformSettings": {},
"subMetas": {
"STORY4": {
"ver": "1.0.4",
"uuid": "6ab2aa1a-0f48-4c0d-96a0-eb23f304b83c",
"rawTextureUuid": "fbf9ed89-e5c0-483b-847f-acd98a73557e",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 359,
"height": 166,
"rawWidth": 359,
"rawHeight": 166,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "74785dd9-fb38-42f7-8b0d-717d4999faa9",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 359,
"height": 166,
"platformSettings": {},
"subMetas": {
"STORY5": {
"ver": "1.0.4",
"uuid": "25148b73-2108-4011-baea-f5c506e66ec5",
"rawTextureUuid": "74785dd9-fb38-42f7-8b0d-717d4999faa9",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 359,
"height": 166,
"rawWidth": 359,
"rawHeight": 166,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "004f7984-bcd6-41c9-9433-92bc3aaa2b95",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 359,
"height": 167,
"platformSettings": {},
"subMetas": {
"STORY6": {
"ver": "1.0.4",
"uuid": "f9e09814-9239-454c-a11d-294e8d526d12",
"rawTextureUuid": "004f7984-bcd6-41c9-9433-92bc3aaa2b95",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 359,
"height": 167,
"rawWidth": 359,
"rawHeight": 167,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "58e60cc0-6195-4b84-9c72-e0ce62e5f56f",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 359,
"height": 167,
"platformSettings": {},
"subMetas": {
"STORY7": {
"ver": "1.0.4",
"uuid": "4ab29166-7616-43cf-ad2c-f74718a68248",
"rawTextureUuid": "58e60cc0-6195-4b84-9c72-e0ce62e5f56f",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 359,
"height": 167,
"rawWidth": 359,
"rawHeight": 167,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "11466dfe-99c0-438b-a245-d39c887da9b8",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 359,
"height": 168,
"platformSettings": {},
"subMetas": {
"STORY8": {
"ver": "1.0.4",
"uuid": "564f3f54-979a-4c6f-b6c2-a06d308028c0",
"rawTextureUuid": "11466dfe-99c0-438b-a245-d39c887da9b8",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 359,
"height": 168,
"rawWidth": 359,
"rawHeight": 168,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "990f06c1-7656-4ca9-a84a-12182a0f8a0d",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 348,
"height": 140,
"platformSettings": {},
"subMetas": {
"U1": {
"ver": "1.0.4",
"uuid": "5dbd2074-7ac7-40ba-99c8-0126944409bb",
"rawTextureUuid": "990f06c1-7656-4ca9-a84a-12182a0f8a0d",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 348,
"height": 140,
"rawWidth": 348,
"rawHeight": 140,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "1c10959f-b9c9-47f7-ad2f-770b352e90c7",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 325,
"height": 121,
"platformSettings": {},
"subMetas": {
"U2": {
"ver": "1.0.4",
"uuid": "d81f0d7b-3fd8-4b51-95e9-3b4d3ae69542",
"rawTextureUuid": "1c10959f-b9c9-47f7-ad2f-770b352e90c7",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 325,
"height": 121,
"rawWidth": 325,
"rawHeight": 121,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "73dea9e0-9e64-4fea-babb-5d577931d0f6",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 325,
"height": 131,
"platformSettings": {},
"subMetas": {
"U3": {
"ver": "1.0.4",
"uuid": "bd4758bb-7f55-4202-9296-b1eb9d0afbce",
"rawTextureUuid": "73dea9e0-9e64-4fea-babb-5d577931d0f6",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 325,
"height": 131,
"rawWidth": 325,
"rawHeight": 131,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "a3822f48-4eb2-41c3-94de-a360d6cc9627",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 325,
"height": 133,
"platformSettings": {},
"subMetas": {
"U4": {
"ver": "1.0.4",
"uuid": "53112b4a-2617-413f-b1f0-92ba175d021d",
"rawTextureUuid": "a3822f48-4eb2-41c3-94de-a360d6cc9627",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 325,
"height": 133,
"rawWidth": 325,
"rawHeight": 133,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "b12633f0-a0f8-44ea-8cfc-264c01f80fe0",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 325,
"height": 118,
"platformSettings": {},
"subMetas": {
"U5": {
"ver": "1.0.4",
"uuid": "694fdadf-2e37-4d7e-b47d-cbb236dc21ad",
"rawTextureUuid": "b12633f0-a0f8-44ea-8cfc-264c01f80fe0",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 325,
"height": 118,
"rawWidth": 325,
"rawHeight": 118,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "dc2e1874-29d3-4bae-852b-5ca9da019120",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 325,
"height": 150,
"platformSettings": {},
"subMetas": {
"U6": {
"ver": "1.0.4",
"uuid": "513f3028-c5f3-4a2d-a05f-8354d0d99606",
"rawTextureUuid": "dc2e1874-29d3-4bae-852b-5ca9da019120",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 325,
"height": 150,
"rawWidth": 325,
"rawHeight": 150,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "162d0bc8-50f6-4a96-b813-c50e00b2f1d8",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 4000,
"height": 1200,
"platformSettings": {},
"subMetas": {
"bg": {
"ver": "1.0.4",
"uuid": "53c7958c-4a1c-475b-979f-a08d94788003",
"rawTextureUuid": "162d0bc8-50f6-4a96-b813-c50e00b2f1d8",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 4000,
"height": 1200,
"rawWidth": 4000,
"rawHeight": 1200,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "1ba813a6-687d-47bc-ab7a-74817ecf02df",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 329,
"height": 154,
"platformSettings": {},
"subMetas": {
"btn_bg": {
"ver": "1.0.4",
"uuid": "35f36683-6c6d-4710-ba9b-06845e6b0c67",
"rawTextureUuid": "1ba813a6-687d-47bc-ab7a-74817ecf02df",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 329,
"height": 154,
"rawWidth": 329,
"rawHeight": 154,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "576af187-3a11-434c-9304-4ba807427d67",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 327,
"height": 328,
"platformSettings": {},
"subMetas": {
"btn_bg2": {
"ver": "1.0.4",
"uuid": "ad1eb42f-7485-4ab7-830c-8a31b39aa13d",
"rawTextureUuid": "576af187-3a11-434c-9304-4ba807427d67",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 327,
"height": 328,
"rawWidth": 327,
"rawHeight": 328,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "449acde6-d8f4-491e-943f-6b3a554f44b4",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 462,
"height": 390,
"platformSettings": {},
"subMetas": {
"btn_box": {
"ver": "1.0.4",
"uuid": "43c2aad1-2860-4411-910d-421b346b9cdf",
"rawTextureUuid": "449acde6-d8f4-491e-943f-6b3a554f44b4",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 462,
"height": 390,
"rawWidth": 462,
"rawHeight": 390,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "da395406-83ca-4599-817f-f1b2a9d9ba27",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 688,
"height": 526,
"platformSettings": {},
"subMetas": {
"car": {
"ver": "1.0.4",
"uuid": "004b70d7-ba9b-4d3b-a908-d19222640819",
"rawTextureUuid": "da395406-83ca-4599-817f-f1b2a9d9ba27",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 688,
"height": 526,
"rawWidth": 688,
"rawHeight": 526,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "df90d2fb-00b9-46ad-bcb3-f99b0d446026",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "64e10b72-df42-49ee-800a-4a0265e292f6",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 451,
"height": 512,
"platformSettings": {},
"subMetas": {
"a": {
"ver": "1.0.4",
"uuid": "441c0636-1a86-4a73-82fe-7c4b2cd610cc",
"rawTextureUuid": "64e10b72-df42-49ee-800a-4a0265e292f6",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 451,
"height": 512,
"rawWidth": 451,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "e9bb0746-56a5-46ef-9447-f1fc2e50384a",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 296,
"height": 512,
"platformSettings": {},
"subMetas": {
"ad": {
"ver": "1.0.4",
"uuid": "6f40ae07-759e-4ed6-a4d9-d38ab88479e2",
"rawTextureUuid": "e9bb0746-56a5-46ef-9447-f1fc2e50384a",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 296,
"height": 512,
"rawWidth": 296,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "abe5bdca-323a-4670-803a-45ea18408b69",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 461,
"height": 512,
"platformSettings": {},
"subMetas": {
"ag": {
"ver": "1.0.4",
"uuid": "d2898450-23a0-49be-b2ed-855d92471234",
"rawTextureUuid": "abe5bdca-323a-4670-803a-45ea18408b69",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 461,
"height": 512,
"rawWidth": 461,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "b696bc5f-ec3b-40b7-9489-f1fb3c7b8607",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 658,
"height": 512,
"platformSettings": {},
"subMetas": {
"am": {
"ver": "1.0.4",
"uuid": "e625941c-d2f6-4bf8-b96c-1ea4def57557",
"rawTextureUuid": "b696bc5f-ec3b-40b7-9489-f1fb3c7b8607",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 657,
"height": 512,
"rawWidth": 658,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "7f997470-9367-414b-8d85-6e8eec4e949d",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 383,
"height": 512,
"platformSettings": {},
"subMetas": {
"an": {
"ver": "1.0.4",
"uuid": "3ee40d3f-af25-44c8-b0cc-ae2ecd5f1179",
"rawTextureUuid": "7f997470-9367-414b-8d85-6e8eec4e949d",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 383,
"height": 512,
"rawWidth": 383,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "78c84792-ea6f-4e3d-b72c-abdc99df04b3",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 843,
"height": 512,
"platformSettings": {},
"subMetas": {
"ap": {
"ver": "1.0.4",
"uuid": "c60d2089-9250-463e-a05f-76b5a8b717fc",
"rawTextureUuid": "78c84792-ea6f-4e3d-b72c-abdc99df04b3",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 843,
"height": 512,
"rawWidth": 843,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "a9bbe3c7-aa2e-433f-84e1-bc157f973c60",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 289,
"height": 512,
"platformSettings": {},
"subMetas": {
"at": {
"ver": "1.0.4",
"uuid": "08d75b1b-da0c-42b4-be2e-3bc8895ce2cf",
"rawTextureUuid": "a9bbe3c7-aa2e-433f-84e1-bc157f973c60",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 288,
"height": 512,
"rawWidth": 289,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "fbf7a03b-2819-443b-b820-7af7e5ee2199",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 482,
"height": 512,
"platformSettings": {},
"subMetas": {
"e": {
"ver": "1.0.4",
"uuid": "fe9aa43a-1c84-47ab-8b44-62afc58a96fe",
"rawTextureUuid": "fbf7a03b-2819-443b-b820-7af7e5ee2199",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 482,
"height": 512,
"rawWidth": 482,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "73793edc-17aa-4013-9d9b-085aa297ac9c",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 866,
"height": 512,
"platformSettings": {},
"subMetas": {
"ed": {
"ver": "1.0.4",
"uuid": "2397ea43-8b03-47ef-8582-e973617dfa6c",
"rawTextureUuid": "73793edc-17aa-4013-9d9b-085aa297ac9c",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 866,
"height": 512,
"rawWidth": 866,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "19f36f1a-935d-4162-a23a-81296e387b07",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 460,
"height": 512,
"platformSettings": {},
"subMetas": {
"en": {
"ver": "1.0.4",
"uuid": "7c92559f-683f-4ec8-9cbf-f5210ab1945d",
"rawTextureUuid": "19f36f1a-935d-4162-a23a-81296e387b07",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 460,
"height": 512,
"rawWidth": 460,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "9d33acc2-5dd4-4c24-b150-8efc4e8c30ac",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 785,
"height": 512,
"platformSettings": {},
"subMetas": {
"et": {
"ver": "1.0.4",
"uuid": "32e0bd26-53c9-45f5-90c3-032fc0785fd2",
"rawTextureUuid": "9d33acc2-5dd4-4c24-b150-8efc4e8c30ac",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 1,
"trimX": 0,
"trimY": 0,
"width": 785,
"height": 510,
"rawWidth": 785,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "6ec3a6db-7d4e-432c-a1fb-2f872dc218d4",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 435,
"height": 512,
"platformSettings": {},
"subMetas": {
"i": {
"ver": "1.0.4",
"uuid": "1bc4e450-e038-4b84-9f28-1e9b6eb684e0",
"rawTextureUuid": "6ec3a6db-7d4e-432c-a1fb-2f872dc218d4",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 435,
"height": 512,
"rawWidth": 435,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "5063280e-77a6-4a01-bac9-7b3a6596e5c9",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 412,
"height": 512,
"platformSettings": {},
"subMetas": {
"ib": {
"ver": "1.0.4",
"uuid": "3109cf0a-3032-44e1-8ba5-d530d6674a9c",
"rawTextureUuid": "5063280e-77a6-4a01-bac9-7b3a6596e5c9",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 412,
"height": 512,
"rawWidth": 412,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "ab521b9a-eceb-4707-8bab-2a0c4f0fb297",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 355,
"height": 512,
"platformSettings": {},
"subMetas": {
"id": {
"ver": "1.0.4",
"uuid": "36e377a1-4050-49e6-bb03-3448c62a6e05",
"rawTextureUuid": "ab521b9a-eceb-4707-8bab-2a0c4f0fb297",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 354,
"height": 512,
"rawWidth": 355,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "2b88a7c5-034c-46eb-96f3-407be2d95ba3",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 369,
"height": 512,
"platformSettings": {},
"subMetas": {
"ig": {
"ver": "1.0.4",
"uuid": "7326af7a-a9b2-42d0-9841-76b26757953f",
"rawTextureUuid": "2b88a7c5-034c-46eb-96f3-407be2d95ba3",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 369,
"height": 512,
"rawWidth": 369,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "a1cf17dc-5f22-4803-ae68-78df1b5810b5",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 269,
"height": 512,
"platformSettings": {},
"subMetas": {
"in": {
"ver": "1.0.4",
"uuid": "f6a8f8f2-711f-451f-a3c4-854054e38065",
"rawTextureUuid": "a1cf17dc-5f22-4803-ae68-78df1b5810b5",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 269,
"height": 512,
"rawWidth": 269,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "326cd980-9264-4bdb-bb7b-c6ede0f786aa",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 784,
"height": 512,
"platformSettings": {},
"subMetas": {
"ip": {
"ver": "1.0.4",
"uuid": "a7f5d96d-72e1-48b4-8275-ca83fd14c85d",
"rawTextureUuid": "326cd980-9264-4bdb-bb7b-c6ede0f786aa",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 784,
"height": 512,
"rawWidth": 784,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "a24b4e65-7121-42a2-bcb9-f09069b3b01c",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 371,
"height": 512,
"platformSettings": {},
"subMetas": {
"it": {
"ver": "1.0.4",
"uuid": "708bbeff-1d75-4e5d-99b8-cd867fbd994a",
"rawTextureUuid": "a24b4e65-7121-42a2-bcb9-f09069b3b01c",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 371,
"height": 512,
"rawWidth": 371,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "adb74651-bf3f-4afb-95c0-51a38808cbc7",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 358,
"height": 512,
"platformSettings": {},
"subMetas": {
"ix": {
"ver": "1.0.4",
"uuid": "548b2e5b-92cc-4d98-9fd1-7e79a4dc80bb",
"rawTextureUuid": "adb74651-bf3f-4afb-95c0-51a38808cbc7",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 358,
"height": 512,
"rawWidth": 358,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "7e9489bc-214a-4024-86b2-5f0ed915ea6d",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 458,
"height": 512,
"platformSettings": {},
"subMetas": {
"o": {
"ver": "1.0.4",
"uuid": "84f8e84f-9a55-419f-8d66-4bfdf4976730",
"rawTextureUuid": "7e9489bc-214a-4024-86b2-5f0ed915ea6d",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 458,
"height": 512,
"rawWidth": 458,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "f37f48e9-940e-4df3-9f8c-97d8ec9f1fd1",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 440,
"height": 512,
"platformSettings": {},
"subMetas": {
"op": {
"ver": "1.0.4",
"uuid": "2bc366ef-bc45-4a56-bc74-bec71d75c70e",
"rawTextureUuid": "f37f48e9-940e-4df3-9f8c-97d8ec9f1fd1",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 0,
"trimX": 4,
"trimY": 0,
"width": 431,
"height": 512,
"rawWidth": 440,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "1185a284-34b5-49fd-8265-a632e2b68687",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 708,
"height": 512,
"platformSettings": {},
"subMetas": {
"ot": {
"ver": "1.0.4",
"uuid": "8d17d39a-4d4a-45c5-b2dd-3db98c6d44d4",
"rawTextureUuid": "1185a284-34b5-49fd-8265-a632e2b68687",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 708,
"height": 512,
"rawWidth": 708,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "e2825c89-cc1d-482d-b36a-24f400fafad9",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 584,
"height": 512,
"platformSettings": {},
"subMetas": {
"u": {
"ver": "1.0.4",
"uuid": "60e108fd-2f96-4e5e-8c80-fec3f3275b45",
"rawTextureUuid": "e2825c89-cc1d-482d-b36a-24f400fafad9",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 584,
"height": 512,
"rawWidth": 584,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "520a599f-f017-44c6-9ea9-5f9ea43de73f",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 302,
"height": 512,
"platformSettings": {},
"subMetas": {
"ub": {
"ver": "1.0.4",
"uuid": "b67ec653-ebd9-40bc-8687-676bce685427",
"rawTextureUuid": "520a599f-f017-44c6-9ea9-5f9ea43de73f",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 302,
"height": 512,
"rawWidth": 302,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "a26b4fb0-9b81-4de0-8494-5def058b205e",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 837,
"height": 512,
"platformSettings": {},
"subMetas": {
"ud": {
"ver": "1.0.4",
"uuid": "3da22467-4e44-4ea0-9c5e-c33bfb88c18c",
"rawTextureUuid": "a26b4fb0-9b81-4de0-8494-5def058b205e",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 837,
"height": 512,
"rawWidth": 837,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "12e0e356-9e72-4de8-ac34-ba48587335f7",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 621,
"height": 512,
"platformSettings": {},
"subMetas": {
"ug": {
"ver": "1.0.4",
"uuid": "4b83ba95-d007-40c0-8955-c2d30406085c",
"rawTextureUuid": "12e0e356-9e72-4de8-ac34-ba48587335f7",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 621,
"height": 512,
"rawWidth": 621,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "cf2b6f42-13ed-4b80-99be-ce3874b52b89",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 312,
"height": 512,
"platformSettings": {},
"subMetas": {
"um": {
"ver": "1.0.4",
"uuid": "85093b6e-5ec3-405c-a297-5cc5cdc4c936",
"rawTextureUuid": "cf2b6f42-13ed-4b80-99be-ce3874b52b89",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 312,
"height": 512,
"rawWidth": 312,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "dd97a7d6-25da-4078-a915-e1767b662b50",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 768,
"height": 512,
"platformSettings": {},
"subMetas": {
"un": {
"ver": "1.0.4",
"uuid": "884e0efa-4e04-4c8c-b2d7-47239766abd7",
"rawTextureUuid": "dd97a7d6-25da-4078-a915-e1767b662b50",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 768,
"height": 512,
"rawWidth": 768,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "f17c7ef2-0cfa-4fe3-8faf-22f1129cc83a",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 471,
"height": 512,
"platformSettings": {},
"subMetas": {
"up": {
"ver": "1.0.4",
"uuid": "166d601e-195d-432c-b11b-6451af27fcf9",
"rawTextureUuid": "f17c7ef2-0cfa-4fe3-8faf-22f1129cc83a",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 471,
"height": 512,
"rawWidth": 471,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "429833a9-ca32-433b-90a1-b98b96a71512",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 438,
"height": 512,
"platformSettings": {},
"subMetas": {
"ut": {
"ver": "1.0.4",
"uuid": "86e57261-2454-4351-8f1c-f06467b2dd2c",
"rawTextureUuid": "429833a9-ca32-433b-90a1-b98b96a71512",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 438,
"height": 512,
"rawWidth": 438,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "fd9d0e92-e46a-4c59-8610-dd9360422584",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 266,
"height": 433,
"platformSettings": {},
"subMetas": {
"line": {
"ver": "1.0.4",
"uuid": "4751f88e-1d20-49e8-93df-5605aefa2bc6",
"rawTextureUuid": "fd9d0e92-e46a-4c59-8610-dd9360422584",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 266,
"height": 433,
"rawWidth": 266,
"rawHeight": 433,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "f77cf984-dadd-405a-8d38-d0586335b55d",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 334,
"height": 74,
"platformSettings": {},
"subMetas": {
"line_2": {
"ver": "1.0.4",
"uuid": "da5b43bf-169f-43c0-910b-17523a512795",
"rawTextureUuid": "f77cf984-dadd-405a-8d38-d0586335b55d",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 334,
"height": 74,
"rawWidth": 334,
"rawHeight": 74,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "cbcedbae-56cb-4006-8f27-4b7a23480628",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 277,
"height": 199,
"platformSettings": {},
"subMetas": {
"line_3": {
"ver": "1.0.4",
"uuid": "dc87e9b9-ea55-48b6-bcd0-11d1eac4e3a9",
"rawTextureUuid": "cbcedbae-56cb-4006-8f27-4b7a23480628",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 277,
"height": 199,
"rawWidth": 277,
"rawHeight": 199,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "d30e0dd1-7241-4751-990e-dfc2dc89c569",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 266,
"height": 644,
"platformSettings": {},
"subMetas": {
"line_long": {
"ver": "1.0.4",
"uuid": "2b0206ba-2698-4326-902f-7551f387c1b4",
"rawTextureUuid": "d30e0dd1-7241-4751-990e-dfc2dc89c569",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 266,
"height": 644,
"rawWidth": 266,
"rawHeight": 644,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "f71634b9-8573-4a68-b08e-9b0e89d86d7a",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 325,
"height": 151,
"platformSettings": {},
"subMetas": {
"u7": {
"ver": "1.0.4",
"uuid": "0ff76ffb-4173-4110-881d-29fb746fb0da",
"rawTextureUuid": "f71634b9-8573-4a68-b08e-9b0e89d86d7a",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 325,
"height": 151,
"rawWidth": 325,
"rawHeight": 151,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "e661f02a-d280-4d61-a4f1-a82d5c7de1cc",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 325,
"height": 133,
"platformSettings": {},
"subMetas": {
"u8": {
"ver": "1.0.4",
"uuid": "a6d1c451-b14f-4fdd-8acf-f0c313393560",
"rawTextureUuid": "e661f02a-d280-4d61-a4f1-a82d5c7de1cc",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 325,
"height": 133,
"rawWidth": 325,
"rawHeight": 133,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ 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