Commit ca7e8dcf authored by linzhiguo's avatar linzhiguo

+ 基本逻辑完成

parent ce304201
export class WL01{
title : string;
audio_url : string;
time:string;
mouses : Array<Rat> = [];
}
export class Rat{
word : string;
audio_url : string;
}
@import '../style/common_mixin.css';
.model-content {
width: 100%;
height: 100%;
}
.radioPaire {
float: left;
margin: 3px;
border-style: dashed;
border-color: #000;
border-width: 1px;
}
.border {
border-radius: 20px;
border-style: dashed;
padding: 20px;
margin: 20px;
/*width: 500px; */
/*//border-radius: 20px;*/
/*//border-width: 2px;*/
/*//border-color: #000000;*/
}
.border-lite {
border: 2px dashed #ddd;
border-radius: 0.5rem;
padding: 10px;
margin: 10px;
}
<div class="model-content">
<div style="padding: 10px;">
<nz-divider nzText="主题" nzOrientation="center"></nz-divider>
<div nz-row style="width: 800;">
<div style="display: flex; margin-bottom: 10px;">
<div style="flex:1;margin-left: 10px;">
标题
</div>
<div style="flex:5">
<input type="text" nz-input placeholder="" [(ngModel)]="item.title" (blur)="saveItem()"/>
</div>
</div>
<div style="display: flex; margin-bottom: 10px;">
<div style="flex:1;margin-left: 10px;">
音频
</div>
<div style="flex:5">
<app-audio-recorder [audioUrl]="item.audio_url" (audioUploaded)="onAudioUploadSuccess($event, item, 'audio_url')" ></app-audio-recorder>
</div>
</div>
<div style="display: flex; margin-bottom: 10px;">
<div style="flex:1; margin-left: 10px;">
时间
</div>
<div style="flex:5">
<input type="text" nz-input placeholder="" [(ngModel)]="item.time" (blur)="saveItem()"/>
</div>
</div>
</div>
<nz-divider nzOrientation="left"></nz-divider>
<div class="card-config">
<div *ngFor="let data of item.mouses; let i = index" class="card-item" style="padding: 0.5vw;" >
<div class="card-item-content border">
<div class="card-item-content">
<div class="title" >
题目-<strong>{{ i + 1 }}</strong>
</div>
<div style="text-align: right; padding-right: 20px;">
<button nz-button nzType="danger" (click)="delRat(i)" >
<span>删除此题</span>
</button>
</div>
<div class="section" >
<div class="section-content">
<div style="flex-wrap:wrap; width: 800px;display: flex;" >
<div style="width: 300px;" align='center'>
<span>图1: </span>
<app-upload-image-with-preview
[picUrl]="item.pic_url"
(imageUploaded)="onImageUploadSuccess($event, 'pic_url')">
</app-upload-image-with-preview>
<div style="display: flex; margin-bottom: 10px;">
<div style="flex:1">
文字
</div>
<div style="flex:5">
<input type="text" nz-input placeholder="" [(ngModel)]="data.word" (blur)="saveItem()"/>
</div>
</div>
<div style="width: 300px; margin-top: 5px;" align='center'>
<span>图2: </span>
<app-upload-image-with-preview
[picUrl]="item.pic_url_2"
(imageUploaded)="onImageUploadSuccess($event, 'pic_url_2')">
</app-upload-image-with-preview>
<div style="display: flex; margin-bottom: 10px;">
<div style="flex:1">
音频
</div>
<div style="flex:5">
<app-audio-recorder [audioUrl]="data.audio_url" (audioUploaded)="onAudioUploadSuccess($event, data, 'audio_url')" ></app-audio-recorder>
</div>
</div>
<div style="width: 300px; margin-top: 15px;">
<span>文本: </span>
<input type="text" nz-input [(ngModel)]="item.text" (blur)="save()">
</div>
<div style="margin-top: 5px">
<span>音频: </span>
<app-audio-recorder
[audioUrl]="item.audio_url"
(audioUploaded)="onAudioUploadSuccess($event, 'audio_url')"
></app-audio-recorder>
<div style="flex:20">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-item" style="padding: 0.5vw;" >
<button nz-button nzType="primary" class="add-btn" (click)="addRat()">
<i nz-icon nzType="plus-circle" nzTheme="outline"></i>
新建题目
</button>
</div>
</div>
@import "../style/common_mixin";
.model-content {
.card-config {
width: 100%;
height: 100%;
margin-left: 10px;
display: flex;
flex-wrap: wrap;
.card-item{
flex:1;
.border {
border-radius: 20px;
border-style: dashed;
padding:20px;
width: 360px;
}
.card-item-content{
.title {
font-size: 24px;
width: 100%;
text-align: center;
}
.section{
border-top: 1px solid ;
padding: 10px 0;
.section-title{
font-size: 24px;
width: 100%;
}
.section-content{
display: flex;
margin: 5px 0 10px 0;
}
}
.pic-sound-box {
width: 50%;
display: flex;
flex-direction: column;
}
.add-btn-box {
display: flex;
align-items: center;
justify-content: center;
height: 20vw;
padding: 10px;
padding-top: 5vw;
}
}
}
}
}
import { Component, EventEmitter, Input, OnDestroy, OnChanges, OnInit, Output, ApplicationRef, ChangeDetectorRef } from '@angular/core';
import { JsonPipe } from '@angular/common';
import {Component, EventEmitter, Input, OnDestroy, OnChanges, OnInit, Output, ApplicationRef, ChangeDetectorRef} from '@angular/core';
import { WL01, Rat } from './wl01';
import { JsonPipe } from '@angular/common';
@Component({
selector: 'app-form',
templateUrl: './form.component.html',
styleUrls: ['./form.component.css']
styleUrls: ['./form.component.scss']
})
export class FormComponent implements OnInit, OnChanges, OnDestroy {
// 储存数据用
saveKey = "test_001";
saveKey = "WL01";
// 储存对象
item;
constructor(private appRef: ApplicationRef, private changeDetectorRef: ChangeDetectorRef) {
}
createShell() {
this.item.wordList.push({
word: '',
audio: '',
backWord: '',
backWordAudio: '',
});
this.save();
}
@Output()
update = new EventEmitter();
constructor(private appRef: ApplicationRef, private changeDetectorRef: ChangeDetectorRef) {
removeShell(idx) {
this.item.wordList.splice(idx, 1);
this.save();
}
ngOnInit() {
this.item = {};
//this.item = new Course();
this.item = new WL01();
// 获取存储的数据
(<any>window).courseware.getData((data) => {
......@@ -43,72 +35,81 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
if (data) {
this.item = data;
}
//console.log(data);
this.init();
this.changeDetectorRef.markForCheck();
this.changeDetectorRef.detectChanges();
this.refresh();
}, this.saveKey);
//console.log(this.item);
}
ngOnChanges() {
}
ngOnDestroy() {
}
init() {
init() {
if(!this.item){
this.item = new WL01();
}
}
/**
* 储存图片数据
* @param e
*/
onImageUploadSuccess(e, key) {
this.item[key] = e.url;
this.save();
initData() {
}
/**
* 储存音频数据
* @param e
*/
onAudioUploadSuccess(e, key) {
this.item[key] = e.url;
onImageUploadSuccess(e, item, key) {
item[key] = e.url;
this.save();
}
onWordAudioUploadSuccess(e, idx) {
this.item.wordList[idx].audio = e.url;
onAudioUploadSuccess(e, item, key) {
item[key] = e.url;
this.save();
}
onBackWordAudioUploadSuccess(e, idx) {
this.item.wordList[idx].backWordAudio = e.url;
saveItem() {
this.save();
}
/**
* 储存数据
*/
save() {
(<any>window).courseware.setData(this.item, null, this.saveKey);
this.refresh();
console.log('this.item = ' + JSON.stringify(this.item));
}
/**
* 刷新 渲染页面
*/
refresh() {
setTimeout(() => {
this.appRef.tick();
}, 1);
}
addRat(){
let rat = new Rat();
if (!this.item.mouses)
this.item.mouses = new Array<Rat>();
this.item.mouses.push(rat);
this.save();
}
delRat(index){
if (index !== -1){
this.item.mouses.splice(index, 1);;
this.save();
}
}
}
This diff is collapsed.
{
"ver": "1.1.0",
"uuid": "c551970e-b095-45f3-9f1d-25cde8b8deb1",
"uuid": "fabe0aa8-cd02-446b-843d-b57b30e55e66",
"subMetas": {}
}
\ No newline at end of file
This diff is collapsed.
import { onHomeworkFinish } from "../script/util";
import { onHomeworkFinish, playAudioByUrl, RandomInt } from "../script/util";
import { defaultData } from "../script/defaultData";
cc.Class({
......@@ -6,6 +6,22 @@ cc.Class({
extends: cc.Component,
properties: {
mouses:{
default:[],
type:cc.Node
},
title:{
default:null,
type:cc.Label
},
timer:{
default:null,
type:cc.Label
},
timer1:{
default:null,
type:cc.Label
}
},
// 生命周期 onLoad
......@@ -65,6 +81,24 @@ cc.Class({
this.data = JSON.parse(JSON.stringify(this.data))
this.preloadItem()
})
this.adjustMousePosition();
},
adjustMousePosition(){
let item, len = this.mouses.length;
let rx = (this._frameSize.width/ this._frameSize.height)/(this._designSize.width/this._designSize.height);
rx = Math.max(rx, 1);
for(let i = 0; i < len; i++){
item = this.mouses[i];
item.x *= rx;
//item.active = false;
item._y0 = item.y;
item._y1 = item.y - item.height*2;
item.y = item._y1;
}
},
getData(func) {
......@@ -132,192 +166,223 @@ cc.Class({
// this.initListener();
},
_cantouch: null,
initData() {
// 所有全局变量 默认都是null
this._cantouch = true;
},
audioBtn: null,
initAudio() {
const audioNode = cc.find('Canvas/res/audio');
// const audioNode = cc.find('res/audio');
const getAudioByResName = (resName) => {
return audioNode.getChildByName(resName).getComponent(cc.AudioSource);
}
// const getAudioByResName = (resName) => {
// return audioNode.getChildByName(resName).getComponent(cc.AudioSource);
// }
this.audioBtn = getAudioByResName('btn');
// this.audioBtn = getAudioByResName('btn');
},
initView() {
this._touched = false;
this.initBg();
this.initPic();
this.initBtn();
this.initIcon();
},
initBg() {
const bgNode = cc.find('Canvas/bg');
bgNode.scale = this._mapScaleMax;
},
pic1: null,
pic2: null,
initPic() {
const canvas = cc.find('Canvas');
const maxW = canvas.width * 0.7;
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 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);
});
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);
});
},
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);
})
},
curPage: null,
initBtn() {
this.curPage = 0;
const bottomPart = cc.find('Canvas/bottomPart');
bottomPart.zIndex = 5; // 提高层级
this._flower = cc.find('Canvas/flower');
this._flower.active = false;
this._hammer = cc.find('Canvas/hammer');
bottomPart.x = bottomPart.parent.width / 2;
bottomPart.y = -bottomPart.parent.height / 2;
const leftBtnNode = bottomPart.getChildByName('btn_left');
//节点中添加了button组件 则可以添加click事件监听
leftBtnNode.on('click', () => {
if (!this._cantouch) {
return;
this.title.string = this.data.title;
if (this.data.audio_url && this.data.audio_url!=""){
playAudioByUrl(this.data.audio_url);
}
if (this.curPage == 0) {
return;
}
this.curPage = 0
this.leftMove();
// 游戏结束时需要调用这个方法通知系统作业完成
onHomeworkFinish();
cc.audioEngine.play(this.audioBtn.clip, false, 0.8)
this.updateFlagArea(()=>{
this.playTimer(()=>{
this.nextMouse();
})
});
const rightBtnNode = bottomPart.getChildByName('btn_right');
//节点中添加了button组件 则可以添加click事件监听
rightBtnNode.on('click', () => {
if (!this._cantouch) {
this.node.on(cc.Node.EventType.TOUCH_START, (event)=>{
if (!this._touched)
return;
let item, len = this.mouses.length;
for(let i = 0; i < len; i++){
item = this.mouses[i];
if (item.active && cc.rect(item.getBoundingBoxToWorld()).contains(event.touch._point)){
let canvas = cc.find('Canvas');
let pos = canvas.convertToNodeSpaceAR(cc.v2(event.touch._point.x, event.touch._point.y))
this._hammer.x = pos.x;
this._hammer.y = pos.y;
//let mouse = item.getComponent(cc.js.getClassByName('Mouse'));
this.hitMouse(item, ()=>{
this.moveDown(item, ()=>{
this._hammer.y = -1000;
this.tryFinished();
});
});
// mouse.moveUp(()=>{
// });
}
if (this.curPage == 1) {
return;
}
}, this);
},
this.curPage = 1
this.rightMove();
updateFlagArea(cb){
let flag_area = cc.find('Canvas/flag_area');
flag_area.removeAllChildren();
let node = cc.find('res/img/icon_0');
let mouses = this.data.mouses;
let item, len = mouses.length;
let space = 4;
let _w = node.width;
let starx = len * (_w + space) - space;
starx = (starx * 0.5) * -1 - _w/2;
for(let i = 0; i < len; i++){
item = cc.instantiate(node);
flag_area.addChild(item);
item.y = 0;
item.x = starx + i * (_w + space);
}
cc.audioEngine.play(this.audioBtn.clip, false, 0.5)
})
this._flag_index = 0;
cb && cb();
},
leftMove() {
this._cantouch = false;
const len = this.pic1.parent.width;
cc.tween(this.pic1)
.to(1, { x: this.pic1.baseX }, { easing: 'cubicInOut' })
.start();
nextMouse(){
let item, len = this.mouses.length;
let mouse_id = RandomInt(len)
let info = this.data.mouses[this._flag_index];
if (this._time_ani){
this._time_ani.stop();
this._time_ani = null;
}
cc.tween(this.pic2)
.to(1, { x: this.pic2.baseX }, { easing: 'cubicInOut' })
.call(() => {
this._cantouch = true;
for(let i = 0; i < len; i++){
item = this.mouses[i];
item.y = item._y1;
item.active = false;
if (mouse_id == i){
item.active = true;
let mouse = item.getComponent(cc.js.getClassByName('Mouse'));
mouse.init();
mouse.setTitle(info.word);
mouse.audio = info.audio_url;
mouse.playAudio();
this.moveUp(mouse.node, ()=>{
this._time_ani = cc.tween(this.node)
.delay(this.data.time)
.call(()=>{
this.moveDown(mouse.node, ()=>{
this.tryFinished();
});
})
.start();
});
}
}
},
rightMove() {
this._cantouch = false;
const len = this.pic1.parent.width;
cc.tween(this.pic1)
.to(1, { x: this.pic1.baseX - len }, { easing: 'cubicInOut' })
moveUp(node, cb){
cc.tween(node)
.to(0.3, {y :node._y0})
.call(()=>{
cb && cb();
this._touched = true;
})
.start();
},
cc.tween(this.pic2)
.to(1, { x: this.pic2.baseX - len }, { easing: 'cubicInOut' })
.call(() => {
this._cantouch = true;
moveDown(node, cb){
this._touched = false;
cc.tween(node)
.to(0.3, {y :node._y1})
.call(()=>{
cb && cb();
})
.start();
},
// update (dt) {},
hitMouse(node, cb){
if (this._time_ani){
this._time_ani.stop();
this._time_ani = null;
}
let mouse = node.getComponent(cc.js.getClassByName('Mouse'));
mouse.hit();
this.updateFlag();
cc.tween(this.node)
.delay(0.1)
.call(()=>{
this.moveDown(node, ()=>{
cb && cb();
});
})
.start();
},
updateFlag(){
if (this._flag_index >= this.data.mouses.length)
return;
let area = cc.find('Canvas/flag_area');
let flag = area.children[this._flag_index].getComponent(cc.Sprite);
let icon = cc.find('res/img/icon_1').getComponent(cc.Sprite);
flag.spriteFrame = icon.spriteFrame;
cc.tween(flag.node)
.to(0.1, {scale: 1.2},{ easing: 'quadIn' })
.to(0.2, {scale: 0.8},{ easing: 'quadOut' })
.to(0.1, {scale: 1},{ easing: 'quadIn' })
.start();
},
tryFinished(){
this._flag_index ++;
if (this._flag_index >= this.data.mouses.length){
console.log("over");
this._flower.active = true;
return;
}
this.nextMouse();
},
playTimer(cb){
this.timer.node.active = true;
this.setTimerString('3');
cc.tween(this.timer.node)
.to(0.25, {scale: 1.2},{ easing: 'quadIn' })
.to(0.5, {scale: 0.8},{ easing: 'quadOut' })
.to(0.25, {scale: 1},{ easing: 'quadIn' })
.call(()=>{
this.setTimerString('2');
})
.to(0.25, {scale: 1.2},{ easing: 'quadIn' })
.to(0.5, {scale: 0.8},{ easing: 'quadOut' })
.to(0.25, {scale: 1},{ easing: 'quadIn' })
.call(()=>{
this.setTimerString('1');
})
.to(0.25, {scale: 1.2},{ easing: 'quadIn' })
.to(0.5, {scale: 0.8},{ easing: 'quadOut' })
.to(0.25, {scale: 1},{ easing: 'quadIn' })
.call(()=>{
this.timer.node.active = false;
cb && cb();
})
.start();
},
setTimerString(str){
this.timer.string = str;
this.timer1.string = str;
},
// update (dt) {},
// ------------------------------------------------
getSprNode(resName) {
......
export const defaultData =
{"mouses":[{"word":"a","audio_url":"http://staging-teach.cdn.ireadabc.com/dd360bbbcf5817eea26ac5fa3341ef5d.mp3"},{"word":"O"},{"word":"u","audio_url":"http://staging-teach.cdn.ireadabc.com/f228f396d2007fc20ab07763ebeda22e.mp3"},{"word":"i","audio_url":"http://staging-teach.cdn.ireadabc.com/43349451985083b94a58c6870b49f115.mp3"},{"word":"E"},{"word":"Y","audio_url":"http://staging-teach.cdn.ireadabc.com/a812f773f22fdb5fa0de04bc7979f6d7.mp3"}],"title":"weioewowe","time":"4","audio_url":"http://staging-teach.cdn.ireadabc.com/738ef124b1882d10b31d59fb2fbd7eb7.mp3"}
;
import {playAudioByUrl} from "../script/util";
cc.Class({
extends: cc.Component,
name: "Mouse",
properties: {
normalPic:{
default:null,
type: cc.Sprite,
},
showTitle:{
default:null,
type: cc.Label
},
aniNode:{
default:null,
type:cc.Node
}
},
init(){
this.normalPic.enabled = true;
this.showTitle.enabled = true;
this.aniNode.active = false;
},
setTitle(text){
this.showTitle.string = text;
},
playAudio(){
if (this.audio && this.audio!=""){
playAudioByUrl(this.audio);
}
},
hit(){
this.normalPic.enabled = false;
this.showTitle.enabled = false;
this.aniNode.active = true;
}
});
\ No newline at end of file
{
"ver": "1.0.8",
"uuid": "bacfc16b-df7a-4d08-ae94-ff5c0dcf934e",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "e1b4d971-9876-4832-803a-5a321964a78b",
"uuid": "c71543a2-f660-47f1-a6f5-8d3cbd07284d",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
......@@ -13,8 +13,8 @@
"subMetas": {
"bg": {
"ver": "1.0.4",
"uuid": "8288e3d4-4c75-4b27-8f01-f7014417f4dd",
"rawTextureUuid": "e1b4d971-9876-4832-803a-5a321964a78b",
"uuid": "2a93edce-f263-423e-b506-b3c5e2abdb32",
"rawTextureUuid": "c71543a2-f660-47f1-a6f5-8d3cbd07284d",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
......
{
"ver": "2.3.5",
"uuid": "efa5fa09-a4dd-4bfc-ab7e-17c19f85408f",
"uuid": "792d646a-cc13-4aac-afa8-bb58667f3b27",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 366,
"height": 336,
"width": 199,
"height": 77,
"platformSettings": {},
"subMetas": {
"1orange": {
"cloud_0": {
"ver": "1.0.4",
"uuid": "43d1e79d-6de8-4dcb-b8ce-d767df7913aa",
"rawTextureUuid": "efa5fa09-a4dd-4bfc-ab7e-17c19f85408f",
"uuid": "6b22010a-4cd6-4f62-8df0-17bfd961943d",
"rawTextureUuid": "792d646a-cc13-4aac-afa8-bb58667f3b27",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": -0.5,
"trimX": 0,
"trimX": 1,
"trimY": 1,
"width": 366,
"height": 335,
"rawWidth": 366,
"rawHeight": 336,
"width": 197,
"height": 76,
"rawWidth": 199,
"rawHeight": 77,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
......
{
"ver": "2.3.5",
"uuid": "d582359e-924e-4ee9-9964-1fc4bb417e71",
"uuid": "3e09dfbe-9f02-411f-af29-42be00074b2e",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 61,
"height": 67,
"width": 143,
"height": 52,
"platformSettings": {},
"subMetas": {
"btn_right": {
"cloud_1": {
"ver": "1.0.4",
"uuid": "e5a2dbaa-a677-4a32-90d7-a1b057d7fb59",
"rawTextureUuid": "d582359e-924e-4ee9-9964-1fc4bb417e71",
"uuid": "9140bcf7-fa75-4905-bac3-615e4da14b1c",
"rawTextureUuid": "3e09dfbe-9f02-411f-af29-42be00074b2e",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 0.5,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 60,
"height": 66,
"rawWidth": 61,
"rawHeight": 67,
"width": 143,
"height": 52,
"rawWidth": 143,
"rawHeight": 52,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
......
{
"ver": "2.3.5",
"uuid": "18d07592-51a9-421e-8972-0f67b68d29e1",
"uuid": "e9ffc210-708d-4743-a8a4-e6b6f16d6184",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 144,
"height": 144,
"width": 185,
"height": 61,
"platformSettings": {},
"subMetas": {
"icon": {
"cloud_2": {
"ver": "1.0.4",
"uuid": "6fbc30a8-3c49-44ae-8ba4-7f56f385b78a",
"rawTextureUuid": "18d07592-51a9-421e-8972-0f67b68d29e1",
"uuid": "c3988e4f-0967-4044-8acf-d0bf9de4565a",
"rawTextureUuid": "e9ffc210-708d-4743-a8a4-e6b6f16d6184",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": -0.5,
"trimX": 3,
"trimY": 2,
"width": 138,
"height": 141,
"rawWidth": 144,
"rawHeight": 144,
"offsetX": 0.5,
"offsetY": 0,
"trimX": 1,
"trimY": 0,
"width": 184,
"height": 61,
"rawWidth": 185,
"rawHeight": 61,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
......
{
"ver": "2.3.5",
"uuid": "7019e31c-160f-46f9-ab0e-2019d146efc5",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 277,
"height": 151,
"platformSettings": {},
"subMetas": {
"fg_left": {
"ver": "1.0.4",
"uuid": "fb60fa1a-5a56-4e86-af09-93bdde7de75b",
"rawTextureUuid": "7019e31c-160f-46f9-ab0e-2019d146efc5",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 277,
"height": 151,
"rawWidth": 277,
"rawHeight": 151,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "96c30e07-ebb8-4409-bfd6-72e873347dc7",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 660,
"height": 134,
"platformSettings": {},
"subMetas": {
"fg_right": {
"ver": "1.0.4",
"uuid": "1c058ca9-e481-44b1-862b-ad7e55c18003",
"rawTextureUuid": "96c30e07-ebb8-4409-bfd6-72e873347dc7",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 660,
"height": 134,
"rawWidth": 660,
"rawHeight": 134,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "ce45954f-7d5f-4293-bc02-ba4242caca5f",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 264,
"height": 248,
"platformSettings": {},
"subMetas": {
"flower": {
"ver": "1.0.4",
"uuid": "a96f0eef-cba3-4867-90d3-83f97c050cd3",
"rawTextureUuid": "ce45954f-7d5f-4293-bc02-ba4242caca5f",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 264,
"height": 248,
"rawWidth": 264,
"rawHeight": 248,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "5f0e3670-8b46-4e8f-8d2e-67dca9735914",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1280,
"height": 627,
"platformSettings": {},
"subMetas": {
"ground": {
"ver": "1.0.4",
"uuid": "1504c8bc-b6f0-435b-b7ef-5377d488d52e",
"rawTextureUuid": "5f0e3670-8b46-4e8f-8d2e-67dca9735914",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"height": 627,
"rawWidth": 1280,
"rawHeight": 627,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "a844e147-7696-448c-b14b-4742f2790aeb",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1280,
"height": 460,
"platformSettings": {},
"subMetas": {
"ground_1": {
"ver": "1.0.4",
"uuid": "931d98f3-4d5e-448c-aced-2553322bdfd9",
"rawTextureUuid": "a844e147-7696-448c-b14b-4742f2790aeb",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"height": 460,
"rawWidth": 1280,
"rawHeight": 460,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "1da6d2c0-d4a5-46a8-a052-77a65d181dd3",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1280,
"height": 328,
"platformSettings": {},
"subMetas": {
"ground_2": {
"ver": "1.0.4",
"uuid": "a4b69fd3-7ca7-428e-8502-409889ee919a",
"rawTextureUuid": "1da6d2c0-d4a5-46a8-a052-77a65d181dd3",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"height": 328,
"rawWidth": 1280,
"rawHeight": 328,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "82c85996-e5df-4e3e-9482-ee0e3e9979b2",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1280,
"height": 241,
"platformSettings": {},
"subMetas": {
"ground_3": {
"ver": "1.0.4",
"uuid": "4b6d6425-bd7e-4033-81d1-0330edb56d70",
"rawTextureUuid": "82c85996-e5df-4e3e-9482-ee0e3e9979b2",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"height": 241,
"rawWidth": 1280,
"rawHeight": 241,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "e928839c-fb6c-4949-9658-7c95da39771c",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1280,
"height": 191,
"platformSettings": {},
"subMetas": {
"ground_4": {
"ver": "1.0.4",
"uuid": "414a15d9-a208-4e01-940c-e06022632e5b",
"rawTextureUuid": "e928839c-fb6c-4949-9658-7c95da39771c",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"height": 191,
"rawWidth": 1280,
"rawHeight": 191,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "0885ad0b-4369-4fec-a270-0a808bd68db2",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1280,
"height": 111,
"platformSettings": {},
"subMetas": {
"ground_5": {
"ver": "1.0.4",
"uuid": "9a34e584-ce4c-4727-ad36-cc85c593c0dc",
"rawTextureUuid": "0885ad0b-4369-4fec-a270-0a808bd68db2",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"height": 111,
"rawWidth": 1280,
"rawHeight": 111,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "22e98c9f-4ea1-437f-9cc0-b79e69b619ce",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 221,
"height": 270,
"platformSettings": {},
"subMetas": {
"hammer": {
"ver": "1.0.4",
"uuid": "7f74a135-92ba-4c8f-afa3-e456c8443039",
"rawTextureUuid": "22e98c9f-4ea1-437f-9cc0-b79e69b619ce",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 221,
"height": 270,
"rawWidth": 221,
"rawHeight": 270,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "9a79969a-0506-48d4-bc98-3c05d109b027",
"uuid": "8c6dc36a-e085-44cf-8076-fd36d6bb36aa",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 61,
"height": 67,
"width": 40,
"height": 30,
"platformSettings": {},
"subMetas": {
"btn_left": {
"icon_0": {
"ver": "1.0.4",
"uuid": "ce19457d-e8f3-4c38-ae3e-d4b99208ddb5",
"rawTextureUuid": "9a79969a-0506-48d4-bc98-3c05d109b027",
"uuid": "f621cffd-d037-44bf-9a08-6255948a6102",
"rawTextureUuid": "8c6dc36a-e085-44cf-8076-fd36d6bb36aa",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
......@@ -22,10 +22,10 @@
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 61,
"height": 67,
"rawWidth": 61,
"rawHeight": 67,
"width": 40,
"height": 30,
"rawWidth": 40,
"rawHeight": 30,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
......
{
"ver": "2.3.5",
"uuid": "0a9eb862-52ac-4a11-8f74-e52de66c391d",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 42,
"height": 32,
"platformSettings": {},
"subMetas": {
"icon_1": {
"ver": "1.0.4",
"uuid": "a7afe200-f143-4c66-a290-3756e1cc5c49",
"rawTextureUuid": "0a9eb862-52ac-4a11-8f74-e52de66c391d",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 42,
"height": 32,
"rawWidth": 42,
"rawHeight": 32,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "43396c35-6652-4af3-90fc-8fd6057d5528",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 273,
"height": 253,
"platformSettings": {},
"subMetas": {
"mouse_0": {
"ver": "1.0.4",
"uuid": "60b0326a-67e3-4795-aab8-8229b40a3ac2",
"rawTextureUuid": "43396c35-6652-4af3-90fc-8fd6057d5528",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 273,
"height": 253,
"rawWidth": 273,
"rawHeight": 253,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "51ed7491-08f0-45d6-a2a9-6fc2dc261617",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 309,
"height": 360,
"platformSettings": {},
"subMetas": {
"mouse_1": {
"ver": "1.0.4",
"uuid": "78c0b15f-070d-4974-bbc3-532b15c5a845",
"rawTextureUuid": "51ed7491-08f0-45d6-a2a9-6fc2dc261617",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 309,
"height": 360,
"rawWidth": 309,
"rawHeight": 360,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "b9f3ca99-1b40-4fb4-a982-6637a45d5168",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 478,
"height": 137,
"platformSettings": {},
"subMetas": {
"title": {
"ver": "1.0.4",
"uuid": "1f8e324c-8047-4966-a6fd-d4dcebe79dad",
"rawTextureUuid": "b9f3ca99-1b40-4fb4-a982-6637a45d5168",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 478,
"height": 137,
"rawWidth": 478,
"rawHeight": 137,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "f0680ae0-c079-45ef-abd7-9e63d90b982b",
"downloadMode": 0,
"duration": 0.130612,
"subMetas": {}
}
\ No newline at end of file
This diff is collapsed.
export const defaultData = {
"pic_url": "http://staging-teach.cdn.ireadabc.com/ed94332a503c31e0908bd4c6923a2665.png",
"pic_url_2": "http://staging-teach.cdn.ireadabc.com/5fb60317ade0195d35ad8034d5370a7f.png",
"text": "This is a test label.",
"audio_url": "http://staging-teach.cdn.ireadabc.com/f47f1d7b5c160fe1c59500d180346240.mp3"
}
\ 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