diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..935baed65ff7de0e8daca0e78bfcb10243eb0fe2 Binary files /dev/null and b/.DS_Store differ diff --git a/form/src/app/form/form.component.html b/form/src/app/form/form.component.html index 3836ff944244c9fac11d53e1301227e43db81b31..c07239d45cf36658f22d7be4473cd52667687489 100644 --- a/form/src/app/form/form.component.html +++ b/form/src/app/form/form.component.html @@ -1,36 +1,36 @@ <div class="model-content"> - <!-- <div class="border" style=" width: 520px; height: 120px;"> - <span style="height: 30px; font-size: 18px;">å•è¯éŸ³é¢‘:</span> - <br> - <app-audio-recorder [audioUrl]=" item.audio" (audioUploaded)="onAudioUploadSuccess($event)"> - </app-audio-recorder> - </div> - <div class="border" style="width: 520px;"> - <span style="height: 30px; font-size: 18px;">æ£ç¡®å—æ¯ï¼š</span> - <div> - <div *ngFor="let rightWord of item.rightWordList; let i = index"> - <div style="padding: 2px;"> - <input style="width: 150px;float: left;" type="text" nz-input [(ngModel)]="rightWord.word" (blur)="save()"> - <app-audio-recorder style="float: left;" [audioUrl]="rightWord.audio" - (audioUploaded)="onRightAudioUploadSuccess($event, i)"> - </app-audio-recorder> - <button style="float: right; margin-left: 10px; height: 32px; color: red;" nz-button nzType="dashed" - class="add-btn" (click)="removeRightWord(i)"> - <i nz-icon nzType="minus-circle" nzTheme="outline"></i> - åˆ é™¤å—æ¯ - </button> - </div> - <br> <br> - </div> + + <div style="padding: 10px;"> + + <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> + + <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> + + <div style="width: 300px; margin-top: 15px;"> + <span>文本: </span> + <input type="text" nz-input [(ngModel)]="item.text" (blur)="save()"> </div> - <div *ngIf="(item.rightWordList.length +item.wrongWordList.length < 5)"> - <button style="margin-left: 2px; margin-top: 2px; height: 32px;" nz-button nzType="dashed" class="add-btn" - (click)="addRightWord()"> - <i nz-icon nzType="plus-circle" nzTheme="outline"></i> - æ·»åŠ <span style="color: #44bb44;">æ£ç¡®</span>çš„å—æ¯ - </button> + + <div style="margin-top: 5px"> + <span>音频: </span> + <app-audio-recorder + [audioUrl]="item.audio_url" + (audioUploaded)="onAudioUploadSuccess($event, 'audio_url')" + ></app-audio-recorder> </div> + </div> - --> </div> diff --git a/form/src/app/form/form.component.ts b/form/src/app/form/form.component.ts index 082e3ececafbaecfd34e33722fae3e1549440a28..82a6e9121ba195cd3bf69b7c9744570ff9f97458 100644 --- a/form/src/app/form/form.component.ts +++ b/form/src/app/form/form.component.ts @@ -35,9 +35,7 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy { ngOnInit() { - this.item = { - wordList: [] - }; + this.item = {}; // 获å–å˜å‚¨çš„æ•°æ® (<any>window).courseware.getData((data) => { @@ -79,8 +77,8 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy { * 储å˜éŸ³é¢‘æ•°æ® * @param e */ - onAudioUploadSuccess(e) { - this.item.audio = e.url; + onAudioUploadSuccess(e, key) { + this.item[key] = e.url; this.save(); } @@ -99,6 +97,7 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy { */ save() { (<any>window).courseware.setData(this.item, null, this.saveKey); + this.refresh(); console.log('this.item = ' + JSON.stringify(this.item)); } diff --git a/play/assets/tmpGame/audios/btn.mp3 b/play/assets/tmpGame/audios/btn.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..57cac0ff985fa12770efb011d56d0054e5797930 Binary files /dev/null and b/play/assets/tmpGame/audios/btn.mp3 differ diff --git a/play/assets/tmpGame/audios/btn.mp3.meta b/play/assets/tmpGame/audios/btn.mp3.meta new file mode 100644 index 0000000000000000000000000000000000000000..4255f217d13c5f8788bff619f2345a38b5365a4e --- /dev/null +++ b/play/assets/tmpGame/audios/btn.mp3.meta @@ -0,0 +1,7 @@ +{ + "ver": "2.0.1", + "uuid": "f0680ae0-c079-45ef-abd7-9e63d90b982b", + "downloadMode": 0, + "duration": 0.130612, + "subMetas": {} +} \ No newline at end of file diff --git a/play/assets/tmpGame/fonts/BRLNSDB.TTF b/play/assets/tmpGame/fonts/BRLNSDB.TTF new file mode 100644 index 0000000000000000000000000000000000000000..e5f34b2f342ffcd820a8a0956af3ab36bb1f9e1f Binary files /dev/null and b/play/assets/tmpGame/fonts/BRLNSDB.TTF differ diff --git a/play/assets/tmpGame/fonts/BRLNSDB.TTF.meta b/play/assets/tmpGame/fonts/BRLNSDB.TTF.meta new file mode 100644 index 0000000000000000000000000000000000000000..4e0884f08320b065f1d4b477b5ee7693239bf8f4 --- /dev/null +++ b/play/assets/tmpGame/fonts/BRLNSDB.TTF.meta @@ -0,0 +1,5 @@ +{ + "ver": "1.1.0", + "uuid": "c551970e-b095-45f3-9f1d-25cde8b8deb1", + "subMetas": {} +} \ No newline at end of file diff --git a/play/assets/tmpGame/prefabs/TmpPreFab.js b/play/assets/tmpGame/prefabs/TmpPreFab.js deleted file mode 100644 index 40eedea1b6e4ef8a4c2fc21e8eb60d03c4b87be6..0000000000000000000000000000000000000000 --- a/play/assets/tmpGame/prefabs/TmpPreFab.js +++ /dev/null @@ -1,38 +0,0 @@ -// Learn cc.Class: -// - https://docs.cocos.com/creator/manual/en/scripting/class.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html - -cc.Class({ - extends: cc.Component, - - properties: { - // foo: { - // // ATTRIBUTES: - // default: null, // The default value will be used only when the component attaching - // // to a node for the first time - // type: cc.SpriteFrame, // optional, default is typeof default - // serializable: true, // optional, default is true - // }, - // bar: { - // get () { - // return this._bar; - // }, - // set (value) { - // this._bar = value; - // } - // }, - }, - - // LIFE-CYCLE CALLBACKS: - - // onLoad () {}, - - start () { - - }, - - // update (dt) {}, -}); diff --git a/play/assets/tmpGame/prefabs/TmpPreFab.prefab b/play/assets/tmpGame/prefabs/TmpPreFab.prefab deleted file mode 100644 index d8ba7cc0af9ca7cc2da926d7a357e623d791b2d5..0000000000000000000000000000000000000000 --- a/play/assets/tmpGame/prefabs/TmpPreFab.prefab +++ /dev/null @@ -1,97 +0,0 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false - }, - { - "__type__": "cc.Node", - "_name": "TmpPreFab", - "_objFlags": 0, - "_parent": null, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 2 - } - ], - "_prefab": { - "__id__": 3 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "94a7bm5aTlEp4XPFTNpUrmX", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__uuid__": "ec03214c-4419-4127-8e8f-39df8d2c3146" - }, - "fileId": "17t3fETWZIALDkDA1OlUg9", - "sync": false - } -] \ No newline at end of file diff --git a/play/assets/tmpGame/prefabs/TmpPreFab.prefab.meta b/play/assets/tmpGame/prefabs/TmpPreFab.prefab.meta deleted file mode 100644 index 5e5300b0b8fb7e3152c3e4c99c179e0f043d2c01..0000000000000000000000000000000000000000 --- a/play/assets/tmpGame/prefabs/TmpPreFab.prefab.meta +++ /dev/null @@ -1,8 +0,0 @@ -{ - "ver": "1.2.7", - "uuid": "ec03214c-4419-4127-8e8f-39df8d2c3146", - "optimizationPolicy": "AUTO", - "asyncLoadAssets": false, - "readonly": false, - "subMetas": {} -} \ No newline at end of file diff --git a/play/assets/tmpGame/scene/Scene.fire b/play/assets/tmpGame/scene/Scene.fire new file mode 100644 index 0000000000000000000000000000000000000000..3e7c9dc3d80d5a7f2861f81f99ab3c66cfa30439 --- /dev/null +++ b/play/assets/tmpGame/scene/Scene.fire @@ -0,0 +1,1303 @@ +[ + { + "__type__": "cc.SceneAsset", + "_name": "", + "_objFlags": 0, + "_native": "", + "scene": { + "__id__": 1 + } + }, + { + "__type__": "cc.Scene", + "_objFlags": 0, + "_parent": null, + "_children": [ + { + "__id__": 2 + } + ], + "_active": false, + "_components": [], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_is3DNode": true, + "_groupIndex": 0, + "groupIndex": 0, + "autoReleaseAssets": true, + "_id": "57ea7c61-9b8b-498a-b024-c98ee9124beb" + }, + { + "__type__": "cc.Node", + "_name": "Canvas", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 3 + }, + { + "__id__": 5 + }, + { + "__id__": 7 + }, + { + "__id__": 14 + } + ], + "_active": true, + "_components": [ + { + "__id__": 24 + }, + { + "__id__": 25 + }, + { + "__id__": 26 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1280, + "height": 720 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 640, + 360, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "a5esZu+45LA5mBpvttspPD" + }, + { + "__type__": "cc.Node", + "_name": "Main Camera", + "_objFlags": 0, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 4 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1280, + "height": 720 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 362.85545494732423, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "e1WoFrQ79G7r4ZuQE3HlNb" + }, + { + "__type__": "cc.Camera", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 3 + }, + "_enabled": true, + "_cullingMask": 4294967295, + "_clearFlags": 7, + "_backgroundColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_depth": -1, + "_zoomRatio": 1, + "_targetTexture": null, + "_fov": 60, + "_orthoSize": 10, + "_nearClip": 1, + "_farClip": 4096, + "_ortho": true, + "_rect": { + "__type__": "cc.Rect", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + "_renderStages": 1, + "_alignWithScreen": true, + "_id": "81GN3uXINKVLeW4+iKSlim" + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 6 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1280, + "height": 720 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "32MJMZ2HRGF4BOf533Avyi" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 5 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "8288e3d4-4c75-4b27-8f01-f7014417f4dd" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "97/S6HDq9MeqgmV1Zwnhbb" + }, + { + "__type__": "cc.Node", + "_name": "bottomPart", + "_objFlags": 0, + "_parent": { + "__id__": 2 + }, + "_children": [ + { + "__id__": 8 + }, + { + "__id__": 11 + } + ], + "_active": true, + "_components": [], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 635.132, + -356.326, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "8c7k8ep/ZFNpO263+1QHz9" + }, + { + "__type__": "cc.Node", + "_name": "btn_left", + "_objFlags": 0, + "_parent": { + "__id__": 7 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 9 + }, + { + "__id__": 10 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 61, + "height": 67 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -148.464, + 34, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "5ad2wLQLxIN5Eg7OHecSH6" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 8 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "ce19457d-e8f3-4c38-ae3e-d4b99208ddb5" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "84mqOgJ3JNqZrYVTEU8CjE" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 8 + }, + "_enabled": true, + "_normalMaterial": null, + "_grayMaterial": null, + "duration": 0.1, + "zoomScale": 1.2, + "clickEvents": [], + "_N$interactable": true, + "_N$enableAutoGrayEffect": false, + "_N$transition": 0, + "transition": 0, + "_N$normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_N$pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_N$hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_N$disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_N$normalSprite": null, + "_N$pressedSprite": null, + "pressedSprite": null, + "_N$hoverSprite": null, + "hoverSprite": null, + "_N$disabledSprite": null, + "_N$target": null, + "_id": "bcYN/4EKBJhbIAfovo9Ah1" + }, + { + "__type__": "cc.Node", + "_name": "btn_right", + "_objFlags": 0, + "_parent": { + "__id__": 7 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 12 + }, + { + "__id__": 13 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 60, + "height": 66 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -47.164, + 34, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "46i3stdzpHX6zQHTGnRsNE" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 11 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "e5a2dbaa-a677-4a32-90d7-a1b057d7fb59" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "42Sh8QS/BHn4WiGyPQPKPt" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 11 + }, + "_enabled": true, + "_normalMaterial": null, + "_grayMaterial": null, + "duration": 0.1, + "zoomScale": 1.2, + "clickEvents": [], + "_N$interactable": true, + "_N$enableAutoGrayEffect": false, + "_N$transition": 0, + "transition": 0, + "_N$normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_N$pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_N$hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_N$disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_N$normalSprite": null, + "_N$pressedSprite": null, + "pressedSprite": null, + "_N$hoverSprite": null, + "hoverSprite": null, + "_N$disabledSprite": null, + "_N$target": null, + "_id": "1aj32fYY1IxLesa77E70Qu" + }, + { + "__type__": "cc.Node", + "_name": "res", + "_objFlags": 0, + "_parent": { + "__id__": 2 + }, + "_children": [ + { + "__id__": 15 + }, + { + "__id__": 18 + }, + { + "__id__": 21 + } + ], + "_active": false, + "_components": [], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "0aAzbH6R1E+6AmGRrkKa5O" + }, + { + "__type__": "cc.Node", + "_name": "font", + "_objFlags": 0, + "_parent": { + "__id__": 14 + }, + "_children": [ + { + "__id__": 16 + } + ], + "_active": true, + "_components": [], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "9bLfcYeeNKrr524vzWchiM" + }, + { + "__type__": "cc.Node", + "_name": "BRLNSDB", + "_objFlags": 0, + "_parent": { + "__id__": 15 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 17 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "cfMLGsq0BMhJARv+ySMAxS" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 16 + }, + "_enabled": true, + "_materials": [], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_useOriginalSize": true, + "_string": "", + "_N$string": "", + "_fontSize": 40, + "_lineHeight": 40, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "c551970e-b095-45f3-9f1d-25cde8b8deb1" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 0, + "_N$verticalAlign": 0, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "9bNHNPu5lC7rQYyr8ai/sY" + }, + { + "__type__": "cc.Node", + "_name": "img", + "_objFlags": 0, + "_parent": { + "__id__": 14 + }, + "_children": [ + { + "__id__": 19 + } + ], + "_active": true, + "_components": [], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "53LUHHG2pEr79fyrvazXJs" + }, + { + "__type__": "cc.Node", + "_name": "icon", + "_objFlags": 0, + "_parent": { + "__id__": 18 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 20 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 138, + "height": 141 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "1blU2OArJIfoC9XfupGxJG" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 19 + }, + "_enabled": true, + "_materials": [], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "6fbc30a8-3c49-44ae-8ba4-7f56f385b78a" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "03GEWUEZJGyKormWgIWCtM" + }, + { + "__type__": "cc.Node", + "_name": "audio", + "_objFlags": 0, + "_parent": { + "__id__": 14 + }, + "_children": [ + { + "__id__": 22 + } + ], + "_active": true, + "_components": [], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "b823DIVC9L+Ihc3T9Bt7m3" + }, + { + "__type__": "cc.Node", + "_name": "btn", + "_objFlags": 0, + "_parent": { + "__id__": 21 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 23 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "3d0p0/uJZJIoRva5Br2iqv" + }, + { + "__type__": "cc.AudioSource", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 22 + }, + "_enabled": true, + "_clip": { + "__uuid__": "f0680ae0-c079-45ef-abd7-9e63d90b982b" + }, + "_volume": 1, + "_mute": false, + "_loop": false, + "playOnLoad": false, + "preload": false, + "_id": "0adN50f61DlbmppsPkOnjX" + }, + { + "__type__": "cc.Canvas", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "_designResolution": { + "__type__": "cc.Size", + "width": 1280, + "height": 720 + }, + "_fitWidth": false, + "_fitHeight": false, + "_id": "59Cd0ovbdF4byw5sbjJDx7" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 45, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_id": "29zXboiXFBKoIV4PQ2liTe" + }, + { + "__type__": "f4edeRi+NdAabqAkVYRwFjK", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "_id": "e687yyoRBIzZAOVRL8Sseh" + } +] \ No newline at end of file diff --git a/play/assets/tmpGame/scene/tmpScene.fire.meta b/play/assets/tmpGame/scene/Scene.fire.meta similarity index 100% rename from play/assets/tmpGame/scene/tmpScene.fire.meta rename to play/assets/tmpGame/scene/Scene.fire.meta diff --git a/play/assets/tmpGame/scene/tmpScene.fire b/play/assets/tmpGame/scene/tmpScene.fire deleted file mode 100644 index d80b14f3ca5e8e64f90ac04107a90cb58f3b870b..0000000000000000000000000000000000000000 --- a/play/assets/tmpGame/scene/tmpScene.fire +++ /dev/null @@ -1,370 +0,0 @@ -[ - { - "__type__": "cc.SceneAsset", - "_name": "", - "_objFlags": 0, - "_native": "", - "scene": { - "__id__": 1 - } - }, - { - "__type__": "cc.Scene", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - } - ], - "_active": false, - "_components": [], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_is3DNode": true, - "_groupIndex": 0, - "groupIndex": 0, - "autoReleaseAssets": true, - "_id": "57ea7c61-9b8b-498a-b024-c98ee9124beb" - }, - { - "__type__": "cc.Node", - "_name": "Canvas", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 3 - }, - { - "__id__": 5 - } - ], - "_active": true, - "_components": [ - { - "__id__": 7 - }, - { - "__id__": 8 - }, - { - "__id__": 9 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 960, - "height": 640 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 480, - 320, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "a5esZu+45LA5mBpvttspPD" - }, - { - "__type__": "cc.Node", - "_name": "Main Camera", - "_objFlags": 0, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 4 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 960, - "height": 640 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 511.82101363660325, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "e1WoFrQ79G7r4ZuQE3HlNb" - }, - { - "__type__": "cc.Camera", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 3 - }, - "_enabled": true, - "_cullingMask": 4294967295, - "_clearFlags": 7, - "_backgroundColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_depth": -1, - "_zoomRatio": 1, - "_targetTexture": null, - "_fov": 60, - "_orthoSize": 10, - "_nearClip": 1, - "_farClip": 4096, - "_ortho": true, - "_rect": { - "__type__": "cc.Rect", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - "_renderStages": 1, - "_alignWithScreen": true, - "_id": "81GN3uXINKVLeW4+iKSlim" - }, - { - "__type__": "cc.Node", - "_name": "MusicNode", - "_objFlags": 0, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 6 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "7dvmSP3MpJ9JVrZdBKlFPg" - }, - { - "__type__": "193f7Pj1dtKzIc1hLupu+6E", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 5 - }, - "_enabled": true, - "bgm": null, - "星星": null, - "爆炸": null, - "眩晕": null, - "ç ¸": null, - "移动": null, - "结æŸ": null, - "点击": null, - "_id": "12RCIBo/VE/qimm3KlDYPO" - }, - { - "__type__": "cc.Canvas", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "_designResolution": { - "__type__": "cc.Size", - "width": 960, - "height": 640 - }, - "_fitWidth": false, - "_fitHeight": true, - "_id": "59Cd0ovbdF4byw5sbjJDx7" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "alignMode": 1, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_id": "29zXboiXFBKoIV4PQ2liTe" - }, - { - "__type__": "b94c9j3n9FOLpOrY/uISJik", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "_id": "267A85TkVOKKVTUUoX8JjJ" - } -] \ No newline at end of file diff --git a/play/assets/tmpGame/scene/tmpScene.js b/play/assets/tmpGame/scene/tmpScene.js deleted file mode 100644 index 40eedea1b6e4ef8a4c2fc21e8eb60d03c4b87be6..0000000000000000000000000000000000000000 --- a/play/assets/tmpGame/scene/tmpScene.js +++ /dev/null @@ -1,38 +0,0 @@ -// Learn cc.Class: -// - https://docs.cocos.com/creator/manual/en/scripting/class.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html - -cc.Class({ - extends: cc.Component, - - properties: { - // foo: { - // // ATTRIBUTES: - // default: null, // The default value will be used only when the component attaching - // // to a node for the first time - // type: cc.SpriteFrame, // optional, default is typeof default - // serializable: true, // optional, default is true - // }, - // bar: { - // get () { - // return this._bar; - // }, - // set (value) { - // this._bar = value; - // } - // }, - }, - - // LIFE-CYCLE CALLBACKS: - - // onLoad () {}, - - start () { - - }, - - // update (dt) {}, -}); diff --git a/play/assets/tmpGame/scene/tmpScene.js.meta b/play/assets/tmpGame/scene/tmpScene.js.meta deleted file mode 100644 index aee2d74f96f136d1412abb3163192c72b31ead68..0000000000000000000000000000000000000000 --- a/play/assets/tmpGame/scene/tmpScene.js.meta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ver": "1.0.8", - "uuid": "b94c98f7-9fd1-4e2e-93ab-63fb884898a4", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/play/assets/tmpGame/script/MusicNode.js b/play/assets/tmpGame/script/MusicNode.js deleted file mode 100644 index 331600848d9c881fe805a7ff8b3542cc088f505a..0000000000000000000000000000000000000000 --- a/play/assets/tmpGame/script/MusicNode.js +++ /dev/null @@ -1,73 +0,0 @@ -// Learn cc.Class: -// - https://docs.cocos.com/creator/manual/en/scripting/class.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html - -cc.Class({ - extends: cc.Component, - - properties: { - // foo: { - // // ATTRIBUTES: - // default: null, // The default value will be used only when the component attaching - // // to a node for the first time - // type: cc.SpriteFrame, // optional, default is typeof default - // serializable: true, // optional, default is true - // }, - // bar: { - // get () { - // return this._bar; - // }, - // set (value) { - // this._bar = value; - // } - // }, - bgm: { - default: null, - type: cc.AudioClip - }, - 星星: { - default: null, - type: cc.AudioClip - }, - 爆炸: { - default: null, - type: cc.AudioClip - }, - 眩晕: { - default: null, - type: cc.AudioClip - }, - ç ¸: { - default: null, - type: cc.AudioClip - }, - 移动: { - default: null, - type: cc.AudioClip - }, - 结æŸ: { - default: null, - type: cc.AudioClip - }, - 点击: { - default: null, - type: cc.AudioClip - }, - }, - - // LIFE-CYCLE CALLBACKS: - - // onLoad () {}, - - start() { - - }, - - playEffect(name, loop = false, volume = 1) { - cc.audioEngine.play(this[name], loop, volume); - } - // update (dt) {}, -}); diff --git a/play/assets/tmpGame/script/Scene.js b/play/assets/tmpGame/script/Scene.js new file mode 100644 index 0000000000000000000000000000000000000000..59a6ba8dedb52b2f0bcda1d5b26cd280a8f93434 --- /dev/null +++ b/play/assets/tmpGame/script/Scene.js @@ -0,0 +1,361 @@ +// Learn cc.Class: +// - https://docs.cocos.com/creator/manual/en/scripting/class.html +// Learn Attribute: +// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html +// Learn life-cycle callbacks: +// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html + + + +cc.Class({ + + extends: cc.Component, + + properties: { + }, + + // 生命周期 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; + }, + + + // 生命周期 start + start() { + let getData = this.getData.bind(this); + if (window && window.courseware) { + getData = window.courseware.getData; + } + + getData((data) => { + console.log('data:', data); + this.data = data || this.getDefaultData(); + this.data = JSON.parse(JSON.stringify(this.data)) + this.preloadItem() + }) + }, + + getData(cb) { + cb(this.getDefaultData()); + }, + + getDefaultData() { + + const dataJson = '{"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"}' + const data = JSON.parse(dataJson); + return data; + }, + + preloadItem() { + this.addPreloadImage(); + this.addPreloadAudio(); + this.addPreloadAnima(); + this.preload(); + }, + + + addPreloadImage() { + + this._imageResList.push({url: this.data.pic_url}); + this._imageResList.push({url: this.data.pic_url_2}); + }, + + addPreloadAudio() { + + this._audioResList.push({url: this.data.audio_url}); + }, + + addPreloadAnima() { + + }, + + preload() { + + const preloadArr = this._imageResList.concat(this._audioResList).concat(this._animaResList); + cc.assetManager.loadAny(preloadArr, null, null, (err, data) => { + + this.loadEnd(); + if (window && window["air"]) { + window["air"].hideAirClassLoading(); + } + + cc.debug.setDisplayStats(false); + }); + }, + + + loadEnd() { + this.initData(); + this.initAudio(); + this.initView(); + // this.initListener(); + }, + + _cantouch: null, + initData() { + // 所有全局å˜é‡ 默认都是null + this._cantouch = true; + }, + + audioBtn: null, + initAudio() { + const audioNode = cc.find('Canvas/res/audio'); + + const getAudioByResName = (resName) => { + return audioNode.getChildByName(resName).getComponent(cc.AudioSource); + } + + this.audioBtn = getAudioByResName('btn'); + + }, + + + initView() { + + 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; // æé«˜å±‚级 + + 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; + } + if (this.curPage == 0) { + return; + } + this.curPage = 0 + this.leftMove(); + + cc.audioEngine.play(this.audioBtn.clip, false, 0.8) + }) + + const rightBtnNode = bottomPart.getChildByName('btn_right'); + //èŠ‚ç‚¹ä¸æ·»åŠ äº†button组件 则å¯ä»¥æ·»åŠ clickäº‹ä»¶ç›‘å¬ + rightBtnNode.on('click', () => { + if (!this._cantouch) { + return; + } + if (this.curPage == 1) { + return; + } + + this.curPage = 1 + this.rightMove(); + + cc.audioEngine.play(this.audioBtn.clip, false, 0.5) + }) + }, + + 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(); + }, + + 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(); + }, + // update (dt) {}, + + + + + + + + + + + + + + + + + + + + + + + + + // ------------------------------------------------ + 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(); + }); + } + }); + } + }, + + // ------------------------------------------ + +}); diff --git a/play/assets/tmpGame/script/MusicNode.js.meta b/play/assets/tmpGame/script/Scene.js.meta similarity index 74% rename from play/assets/tmpGame/script/MusicNode.js.meta rename to play/assets/tmpGame/script/Scene.js.meta index c88acd5def00a98ba37ad8a63020af973e37c22b..76586520228a6b3e46f8441353b67382ce980986 100644 --- a/play/assets/tmpGame/script/MusicNode.js.meta +++ b/play/assets/tmpGame/script/Scene.js.meta @@ -1,6 +1,6 @@ { "ver": "1.0.8", - "uuid": "193f73e3-d5db-4acc-8735-84bba9bbee84", + "uuid": "f4ede462-f8d7-4069-ba80-915611c058ca", "isPlugin": false, "loadPluginInWeb": true, "loadPluginInNative": true, diff --git a/play/assets/tmpGame/script/defaultData.js b/play/assets/tmpGame/script/defaultData.js deleted file mode 100644 index 48fc82b5910e1654e4d8f5754e82b6f2533948b9..0000000000000000000000000000000000000000 --- a/play/assets/tmpGame/script/defaultData.js +++ /dev/null @@ -1,34 +0,0 @@ -module.exports = { - roundList: [{ - audio: 'ball', - questionList: [{ - rightAudio: 'b', - rightWord: 'b', - wrongWordList: ['p', 'd'], - wrongAudioList: ['p.mp3', 'd.mp3'], - }, { - rightAudio: 'a', - rightWord: 'all', - wrongWordList: ['ao', 'arl'], - wrongAudioList: ['ao.mp3', 'arl.mp3'], - }] - }, { - audio: 'banana', - questionList: [{ - rightAudio: 'baa', - rightWord: 'ba', - wrongWordList: ['pa', 'da'], - wrongAudioList: ['pa.mp3', 'da.mp3'], - }, { - rightAudio: 'na', - rightWord: 'na', - wrongWordList: ['ma', 'ha'], - wrongAudioList: ['ma.mp3', 'ha.mp3'], - }, { - rightAudio: 'na', - rightWord: 'na', - wrongWordList: ['ma', 'ha'], - wrongAudioList: ['ma.mp3', 'ha.mp3'], - }] - }], -} diff --git a/play/assets/tmpGame/script/defaultData.js.meta b/play/assets/tmpGame/script/defaultData.js.meta deleted file mode 100644 index 0d5edd248d2d49190922727a861d57ea25cffa8e..0000000000000000000000000000000000000000 --- a/play/assets/tmpGame/script/defaultData.js.meta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ver": "1.0.8", - "uuid": "8bcec27f-bb4b-4987-8289-3880d6079364", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/play/assets/tmpGame/script/runtime.js b/play/assets/tmpGame/script/runtime.js deleted file mode 100644 index 22e7b005c29c97df656f5af672e2212fb828267a..0000000000000000000000000000000000000000 --- a/play/assets/tmpGame/script/runtime.js +++ /dev/null @@ -1,727 +0,0 @@ -/** - * Copyright (c) 2014-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -!(function(global) { - "use strict"; - - var Op = Object.prototype; - var hasOwn = Op.hasOwnProperty; - var undefined; // More compressible than void 0. - var $Symbol = typeof Symbol === "function" ? Symbol : {}; - var iteratorSymbol = $Symbol.iterator || "@@iterator"; - var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; - var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; - - var inModule = typeof module === "object"; - var runtime = global.regeneratorRuntime; - if (runtime) { - if (inModule) { - // If regeneratorRuntime is defined globally and we're in a module, - // make the exports object identical to regeneratorRuntime. - module.exports = runtime; - } - // Don't bother evaluating the rest of this file if the runtime was - // already defined globally. - return; - } - - // Define the runtime globally (as expected by generated code) as either - // module.exports (if we're in a module) or a new, empty object. - runtime = global.regeneratorRuntime = inModule ? module.exports : {}; - - function wrap(innerFn, outerFn, self, tryLocsList) { - // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. - var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; - var generator = Object.create(protoGenerator.prototype); - var context = new Context(tryLocsList || []); - - // The ._invoke method unifies the implementations of the .next, - // .throw, and .return methods. - generator._invoke = makeInvokeMethod(innerFn, self, context); - - return generator; - } - runtime.wrap = wrap; - - // Try/catch helper to minimize deoptimizations. Returns a completion - // record like context.tryEntries[i].completion. This interface could - // have been (and was previously) designed to take a closure to be - // invoked without arguments, but in all the cases we care about we - // already have an existing method we want to call, so there's no need - // to create a new function object. We can even get away with assuming - // the method takes exactly one argument, since that happens to be true - // in every case, so we don't have to touch the arguments object. The - // only additional allocation required is the completion record, which - // has a stable shape and so hopefully should be cheap to allocate. - function tryCatch(fn, obj, arg) { - try { - return { type: "normal", arg: fn.call(obj, arg) }; - } catch (err) { - return { type: "throw", arg: err }; - } - } - - var GenStateSuspendedStart = "suspendedStart"; - var GenStateSuspendedYield = "suspendedYield"; - var GenStateExecuting = "executing"; - var GenStateCompleted = "completed"; - - // Returning this object from the innerFn has the same effect as - // breaking out of the dispatch switch statement. - var ContinueSentinel = {}; - - // Dummy constructor functions that we use as the .constructor and - // .constructor.prototype properties for functions that return Generator - // objects. For full spec compliance, you may wish to configure your - // minifier not to mangle the names of these two functions. - function Generator() {} - function GeneratorFunction() {} - function GeneratorFunctionPrototype() {} - - // This is a polyfill for %IteratorPrototype% for environments that - // don't natively support it. - var IteratorPrototype = {}; - IteratorPrototype[iteratorSymbol] = function () { - return this; - }; - - var getProto = Object.getPrototypeOf; - var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); - if (NativeIteratorPrototype && - NativeIteratorPrototype !== Op && - hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { - // This environment has a native %IteratorPrototype%; use it instead - // of the polyfill. - IteratorPrototype = NativeIteratorPrototype; - } - - var Gp = GeneratorFunctionPrototype.prototype = - Generator.prototype = Object.create(IteratorPrototype); - GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; - GeneratorFunctionPrototype.constructor = GeneratorFunction; - GeneratorFunctionPrototype[toStringTagSymbol] = - GeneratorFunction.displayName = "GeneratorFunction"; - - // Helper for defining the .next, .throw, and .return methods of the - // Iterator interface in terms of a single ._invoke method. - function defineIteratorMethods(prototype) { - ["next", "throw", "return"].forEach(function(method) { - prototype[method] = function(arg) { - return this._invoke(method, arg); - }; - }); - } - - runtime.isGeneratorFunction = function(genFun) { - var ctor = typeof genFun === "function" && genFun.constructor; - return ctor - ? ctor === GeneratorFunction || - // For the native GeneratorFunction constructor, the best we can - // do is to check its .name property. - (ctor.displayName || ctor.name) === "GeneratorFunction" - : false; - }; - - runtime.mark = function(genFun) { - if (Object.setPrototypeOf) { - Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); - } else { - genFun.__proto__ = GeneratorFunctionPrototype; - if (!(toStringTagSymbol in genFun)) { - genFun[toStringTagSymbol] = "GeneratorFunction"; - } - } - genFun.prototype = Object.create(Gp); - return genFun; - }; - - // Within the body of any async function, `await x` is transformed to - // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test - // `hasOwn.call(value, "__await")` to determine if the yielded value is - // meant to be awaited. - runtime.awrap = function(arg) { - return { __await: arg }; - }; - - function AsyncIterator(generator) { - function invoke(method, arg, resolve, reject) { - var record = tryCatch(generator[method], generator, arg); - if (record.type === "throw") { - reject(record.arg); - } else { - var result = record.arg; - var value = result.value; - if (value && - typeof value === "object" && - hasOwn.call(value, "__await")) { - return Promise.resolve(value.__await).then(function(value) { - invoke("next", value, resolve, reject); - }, function(err) { - invoke("throw", err, resolve, reject); - }); - } - - return Promise.resolve(value).then(function(unwrapped) { - // When a yielded Promise is resolved, its final value becomes - // the .value of the Promise<{value,done}> result for the - // current iteration. If the Promise is rejected, however, the - // result for this iteration will be rejected with the same - // reason. Note that rejections of yielded Promises are not - // thrown back into the generator function, as is the case - // when an awaited Promise is rejected. This difference in - // behavior between yield and await is important, because it - // allows the consumer to decide what to do with the yielded - // rejection (swallow it and continue, manually .throw it back - // into the generator, abandon iteration, whatever). With - // await, by contrast, there is no opportunity to examine the - // rejection reason outside the generator function, so the - // only option is to throw it from the await expression, and - // let the generator function handle the exception. - result.value = unwrapped; - resolve(result); - }, reject); - } - } - - var previousPromise; - - function enqueue(method, arg) { - function callInvokeWithMethodAndArg() { - return new Promise(function(resolve, reject) { - invoke(method, arg, resolve, reject); - }); - } - - return previousPromise = - // If enqueue has been called before, then we want to wait until - // all previous Promises have been resolved before calling invoke, - // so that results are always delivered in the correct order. If - // enqueue has not been called before, then it is important to - // call invoke immediately, without waiting on a callback to fire, - // so that the async generator function has the opportunity to do - // any necessary setup in a predictable way. This predictability - // is why the Promise constructor synchronously invokes its - // executor callback, and why async functions synchronously - // execute code before the first await. Since we implement simple - // async functions in terms of async generators, it is especially - // important to get this right, even though it requires care. - previousPromise ? previousPromise.then( - callInvokeWithMethodAndArg, - // Avoid propagating failures to Promises returned by later - // invocations of the iterator. - callInvokeWithMethodAndArg - ) : callInvokeWithMethodAndArg(); - } - - // Define the unified helper method that is used to implement .next, - // .throw, and .return (see defineIteratorMethods). - this._invoke = enqueue; - } - - defineIteratorMethods(AsyncIterator.prototype); - AsyncIterator.prototype[asyncIteratorSymbol] = function () { - return this; - }; - runtime.AsyncIterator = AsyncIterator; - - // Note that simple async functions are implemented on top of - // AsyncIterator objects; they just return a Promise for the value of - // the final result produced by the iterator. - runtime.async = function(innerFn, outerFn, self, tryLocsList) { - var iter = new AsyncIterator( - wrap(innerFn, outerFn, self, tryLocsList) - ); - - return runtime.isGeneratorFunction(outerFn) - ? iter // If outerFn is a generator, return the full iterator. - : iter.next().then(function(result) { - return result.done ? result.value : iter.next(); - }); - }; - - function makeInvokeMethod(innerFn, self, context) { - var state = GenStateSuspendedStart; - - return function invoke(method, arg) { - if (state === GenStateExecuting) { - throw new Error("Generator is already running"); - } - - if (state === GenStateCompleted) { - if (method === "throw") { - throw arg; - } - - // Be forgiving, per 25.3.3.3.3 of the spec: - // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume - return doneResult(); - } - - context.method = method; - context.arg = arg; - - while (true) { - var delegate = context.delegate; - if (delegate) { - var delegateResult = maybeInvokeDelegate(delegate, context); - if (delegateResult) { - if (delegateResult === ContinueSentinel) continue; - return delegateResult; - } - } - - if (context.method === "next") { - // Setting context._sent for legacy support of Babel's - // function.sent implementation. - context.sent = context._sent = context.arg; - - } else if (context.method === "throw") { - if (state === GenStateSuspendedStart) { - state = GenStateCompleted; - throw context.arg; - } - - context.dispatchException(context.arg); - - } else if (context.method === "return") { - context.abrupt("return", context.arg); - } - - state = GenStateExecuting; - - var record = tryCatch(innerFn, self, context); - if (record.type === "normal") { - // If an exception is thrown from innerFn, we leave state === - // GenStateExecuting and loop back for another invocation. - state = context.done - ? GenStateCompleted - : GenStateSuspendedYield; - - if (record.arg === ContinueSentinel) { - continue; - } - - return { - value: record.arg, - done: context.done - }; - - } else if (record.type === "throw") { - state = GenStateCompleted; - // Dispatch the exception by looping back around to the - // context.dispatchException(context.arg) call above. - context.method = "throw"; - context.arg = record.arg; - } - } - }; - } - - // Call delegate.iterator[context.method](context.arg) and handle the - // result, either by returning a { value, done } result from the - // delegate iterator, or by modifying context.method and context.arg, - // setting context.delegate to null, and returning the ContinueSentinel. - function maybeInvokeDelegate(delegate, context) { - var method = delegate.iterator[context.method]; - if (method === undefined) { - // A .throw or .return when the delegate iterator has no .throw - // method always terminates the yield* loop. - context.delegate = null; - - if (context.method === "throw") { - if (delegate.iterator.return) { - // If the delegate iterator has a return method, give it a - // chance to clean up. - context.method = "return"; - context.arg = undefined; - maybeInvokeDelegate(delegate, context); - - if (context.method === "throw") { - // If maybeInvokeDelegate(context) changed context.method from - // "return" to "throw", let that override the TypeError below. - return ContinueSentinel; - } - } - - context.method = "throw"; - context.arg = new TypeError( - "The iterator does not provide a 'throw' method"); - } - - return ContinueSentinel; - } - - var record = tryCatch(method, delegate.iterator, context.arg); - - if (record.type === "throw") { - context.method = "throw"; - context.arg = record.arg; - context.delegate = null; - return ContinueSentinel; - } - - var info = record.arg; - - if (! info) { - context.method = "throw"; - context.arg = new TypeError("iterator result is not an object"); - context.delegate = null; - return ContinueSentinel; - } - - if (info.done) { - // Assign the result of the finished delegate to the temporary - // variable specified by delegate.resultName (see delegateYield). - context[delegate.resultName] = info.value; - - // Resume execution at the desired location (see delegateYield). - context.next = delegate.nextLoc; - - // If context.method was "throw" but the delegate handled the - // exception, let the outer generator proceed normally. If - // context.method was "next", forget context.arg since it has been - // "consumed" by the delegate iterator. If context.method was - // "return", allow the original .return call to continue in the - // outer generator. - if (context.method !== "return") { - context.method = "next"; - context.arg = undefined; - } - - } else { - // Re-yield the result returned by the delegate method. - return info; - } - - // The delegate iterator is finished, so forget it and continue with - // the outer generator. - context.delegate = null; - return ContinueSentinel; - } - - // Define Generator.prototype.{next,throw,return} in terms of the - // unified ._invoke helper method. - defineIteratorMethods(Gp); - - Gp[toStringTagSymbol] = "Generator"; - - // A Generator should always return itself as the iterator object when the - // @@iterator function is called on it. Some browsers' implementations of the - // iterator prototype chain incorrectly implement this, causing the Generator - // object to not be returned from this call. This ensures that doesn't happen. - // See https://github.com/facebook/regenerator/issues/274 for more details. - Gp[iteratorSymbol] = function() { - return this; - }; - - Gp.toString = function() { - return "[object Generator]"; - }; - - function pushTryEntry(locs) { - var entry = { tryLoc: locs[0] }; - - if (1 in locs) { - entry.catchLoc = locs[1]; - } - - if (2 in locs) { - entry.finallyLoc = locs[2]; - entry.afterLoc = locs[3]; - } - - this.tryEntries.push(entry); - } - - function resetTryEntry(entry) { - var record = entry.completion || {}; - record.type = "normal"; - delete record.arg; - entry.completion = record; - } - - function Context(tryLocsList) { - // The root entry object (effectively a try statement without a catch - // or a finally block) gives us a place to store values thrown from - // locations where there is no enclosing try statement. - this.tryEntries = [{ tryLoc: "root" }]; - tryLocsList.forEach(pushTryEntry, this); - this.reset(true); - } - - runtime.keys = function(object) { - var keys = []; - for (var key in object) { - keys.push(key); - } - keys.reverse(); - - // Rather than returning an object with a next method, we keep - // things simple and return the next function itself. - return function next() { - while (keys.length) { - var key = keys.pop(); - if (key in object) { - next.value = key; - next.done = false; - return next; - } - } - - // To avoid creating an additional object, we just hang the .value - // and .done properties off the next function object itself. This - // also ensures that the minifier will not anonymize the function. - next.done = true; - return next; - }; - }; - - function values(iterable) { - if (iterable) { - var iteratorMethod = iterable[iteratorSymbol]; - if (iteratorMethod) { - return iteratorMethod.call(iterable); - } - - if (typeof iterable.next === "function") { - return iterable; - } - - if (!isNaN(iterable.length)) { - var i = -1, next = function next() { - while (++i < iterable.length) { - if (hasOwn.call(iterable, i)) { - next.value = iterable[i]; - next.done = false; - return next; - } - } - - next.value = undefined; - next.done = true; - - return next; - }; - - return next.next = next; - } - } - - // Return an iterator with no values. - return { next: doneResult }; - } - runtime.values = values; - - function doneResult() { - return { value: undefined, done: true }; - } - - Context.prototype = { - constructor: Context, - - reset: function(skipTempReset) { - this.prev = 0; - this.next = 0; - // Resetting context._sent for legacy support of Babel's - // function.sent implementation. - this.sent = this._sent = undefined; - this.done = false; - this.delegate = null; - - this.method = "next"; - this.arg = undefined; - - this.tryEntries.forEach(resetTryEntry); - - if (!skipTempReset) { - for (var name in this) { - // Not sure about the optimal order of these conditions: - if (name.charAt(0) === "t" && - hasOwn.call(this, name) && - !isNaN(+name.slice(1))) { - this[name] = undefined; - } - } - } - }, - - stop: function() { - this.done = true; - - var rootEntry = this.tryEntries[0]; - var rootRecord = rootEntry.completion; - if (rootRecord.type === "throw") { - throw rootRecord.arg; - } - - return this.rval; - }, - - dispatchException: function(exception) { - if (this.done) { - throw exception; - } - - var context = this; - function handle(loc, caught) { - record.type = "throw"; - record.arg = exception; - context.next = loc; - - if (caught) { - // If the dispatched exception was caught by a catch block, - // then let that catch block handle the exception normally. - context.method = "next"; - context.arg = undefined; - } - - return !! caught; - } - - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - var record = entry.completion; - - if (entry.tryLoc === "root") { - // Exception thrown outside of any try block that could handle - // it, so set the completion value of the entire function to - // throw the exception. - return handle("end"); - } - - if (entry.tryLoc <= this.prev) { - var hasCatch = hasOwn.call(entry, "catchLoc"); - var hasFinally = hasOwn.call(entry, "finallyLoc"); - - if (hasCatch && hasFinally) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } else if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - - } else if (hasCatch) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } - - } else if (hasFinally) { - if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - - } else { - throw new Error("try statement without catch or finally"); - } - } - } - }, - - abrupt: function(type, arg) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc <= this.prev && - hasOwn.call(entry, "finallyLoc") && - this.prev < entry.finallyLoc) { - var finallyEntry = entry; - break; - } - } - - if (finallyEntry && - (type === "break" || - type === "continue") && - finallyEntry.tryLoc <= arg && - arg <= finallyEntry.finallyLoc) { - // Ignore the finally entry if control is not jumping to a - // location outside the try/catch block. - finallyEntry = null; - } - - var record = finallyEntry ? finallyEntry.completion : {}; - record.type = type; - record.arg = arg; - - if (finallyEntry) { - this.method = "next"; - this.next = finallyEntry.finallyLoc; - return ContinueSentinel; - } - - return this.complete(record); - }, - - complete: function(record, afterLoc) { - if (record.type === "throw") { - throw record.arg; - } - - if (record.type === "break" || - record.type === "continue") { - this.next = record.arg; - } else if (record.type === "return") { - this.rval = this.arg = record.arg; - this.method = "return"; - this.next = "end"; - } else if (record.type === "normal" && afterLoc) { - this.next = afterLoc; - } - - return ContinueSentinel; - }, - - finish: function(finallyLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.finallyLoc === finallyLoc) { - this.complete(entry.completion, entry.afterLoc); - resetTryEntry(entry); - return ContinueSentinel; - } - } - }, - - "catch": function(tryLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc === tryLoc) { - var record = entry.completion; - if (record.type === "throw") { - var thrown = record.arg; - resetTryEntry(entry); - } - return thrown; - } - } - - // The context.catch method must only be called with a location - // argument that corresponds to a known catch block. - throw new Error("illegal catch attempt"); - }, - - delegateYield: function(iterable, resultName, nextLoc) { - this.delegate = { - iterator: values(iterable), - resultName: resultName, - nextLoc: nextLoc - }; - - if (this.method === "next") { - // Deliberately forget the last sent value so that we don't - // accidentally pass it on to the delegate. - this.arg = undefined; - } - - return ContinueSentinel; - } - }; -})( - // In sloppy mode, unbound `this` refers to the global object, fallback to - // Function constructor if we're in global strict mode. That is sadly a form - // of indirect eval which violates Content Security Policy. - (function() { return this })() || Function("return this")() -); diff --git a/play/assets/tmpGame/script/runtime.js.meta b/play/assets/tmpGame/script/runtime.js.meta deleted file mode 100644 index 6def01a8165ff41595abd1ebf14a303363044fc6..0000000000000000000000000000000000000000 --- a/play/assets/tmpGame/script/runtime.js.meta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ver": "1.0.8", - "uuid": "d07c22c6-ea88-491a-8716-e509d7265361", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/play/assets/tmpGame/script/util.js b/play/assets/tmpGame/script/util.js new file mode 100644 index 0000000000000000000000000000000000000000..94af9b9d974c4b15bbaf94eb2ba3ae6bee268a23 --- /dev/null +++ b/play/assets/tmpGame/script/util.js @@ -0,0 +1,134 @@ +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() + }) +} \ No newline at end of file diff --git a/play/assets/tmpGame/prefabs/TmpPreFab.js.meta b/play/assets/tmpGame/script/util.js.meta similarity index 74% rename from play/assets/tmpGame/prefabs/TmpPreFab.js.meta rename to play/assets/tmpGame/script/util.js.meta index 7937fdf85e8e06d2c7114398298f5a778048f9dd..e1def927553d2b09ca8503e2d4f8142de7384102 100644 --- a/play/assets/tmpGame/prefabs/TmpPreFab.js.meta +++ b/play/assets/tmpGame/script/util.js.meta @@ -1,6 +1,6 @@ { "ver": "1.0.8", - "uuid": "94a7b9b9-6939-44a7-85cf-15336952b997", + "uuid": "ade7af40-d56d-4087-bbc6-2888fef55353", "isPlugin": false, "loadPluginInWeb": true, "loadPluginInNative": true, diff --git a/play/assets/tmpGame/script/utils.js.meta b/play/assets/tmpGame/script/utils.js.meta deleted file mode 100644 index e5c7aea3b3aba81d8f598f4c26f301469e0183a5..0000000000000000000000000000000000000000 --- a/play/assets/tmpGame/script/utils.js.meta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ver": "1.0.8", - "uuid": "285dc6a8-c221-449f-a19e-d2144b9d12d5", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/play/assets/tmpGame/textures/1orange.png b/play/assets/tmpGame/textures/1orange.png new file mode 100644 index 0000000000000000000000000000000000000000..fe9a37149865449e4f1ad38938476486aa62260a Binary files /dev/null and b/play/assets/tmpGame/textures/1orange.png differ diff --git a/play/assets/tmpGame/textures/1orange.png.meta b/play/assets/tmpGame/textures/1orange.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..cbc7d03803bf7cb91d6eb2c6c3e3fefa7f656b9d --- /dev/null +++ b/play/assets/tmpGame/textures/1orange.png.meta @@ -0,0 +1,36 @@ +{ + "ver": "2.3.5", + "uuid": "efa5fa09-a4dd-4bfc-ab7e-17c19f85408f", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "width": 366, + "height": 336, + "platformSettings": {}, + "subMetas": { + "1orange": { + "ver": "1.0.4", + "uuid": "43d1e79d-6de8-4dcb-b8ce-d767df7913aa", + "rawTextureUuid": "efa5fa09-a4dd-4bfc-ab7e-17c19f85408f", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": -0.5, + "trimX": 0, + "trimY": 1, + "width": 366, + "height": 335, + "rawWidth": 366, + "rawHeight": 336, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/play/assets/tmpGame/textures/bg.jpg b/play/assets/tmpGame/textures/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..701c49c4c716d9e48412993f87f47d0fdcfbbe44 Binary files /dev/null and b/play/assets/tmpGame/textures/bg.jpg differ diff --git a/play/assets/tmpGame/textures/bg.jpg.meta b/play/assets/tmpGame/textures/bg.jpg.meta new file mode 100644 index 0000000000000000000000000000000000000000..14c84e9b1cecc7d63b0d11d7be9c7627f4a1d901 --- /dev/null +++ b/play/assets/tmpGame/textures/bg.jpg.meta @@ -0,0 +1,36 @@ +{ + "ver": "2.3.5", + "uuid": "e1b4d971-9876-4832-803a-5a321964a78b", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "width": 1280, + "height": 720, + "platformSettings": {}, + "subMetas": { + "bg": { + "ver": "1.0.4", + "uuid": "8288e3d4-4c75-4b27-8f01-f7014417f4dd", + "rawTextureUuid": "e1b4d971-9876-4832-803a-5a321964a78b", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 1280, + "height": 720, + "rawWidth": 1280, + "rawHeight": 720, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/play/assets/tmpGame/textures/btn_left.png b/play/assets/tmpGame/textures/btn_left.png new file mode 100644 index 0000000000000000000000000000000000000000..e3428fd5bcda4bad311e87c5aa5669fdb7e96a60 Binary files /dev/null and b/play/assets/tmpGame/textures/btn_left.png differ diff --git a/play/assets/tmpGame/textures/btn_left.png.meta b/play/assets/tmpGame/textures/btn_left.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..2812db2c1edaf060f69bfe9cef23bf25469265ae --- /dev/null +++ b/play/assets/tmpGame/textures/btn_left.png.meta @@ -0,0 +1,36 @@ +{ + "ver": "2.3.5", + "uuid": "9a79969a-0506-48d4-bc98-3c05d109b027", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "width": 61, + "height": 67, + "platformSettings": {}, + "subMetas": { + "btn_left": { + "ver": "1.0.4", + "uuid": "ce19457d-e8f3-4c38-ae3e-d4b99208ddb5", + "rawTextureUuid": "9a79969a-0506-48d4-bc98-3c05d109b027", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 61, + "height": 67, + "rawWidth": 61, + "rawHeight": 67, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/play/assets/tmpGame/textures/btn_right.png b/play/assets/tmpGame/textures/btn_right.png new file mode 100644 index 0000000000000000000000000000000000000000..db0f274024b4ad41d5219acf3936ec2b2f79459c Binary files /dev/null and b/play/assets/tmpGame/textures/btn_right.png differ diff --git a/play/assets/tmpGame/textures/btn_right.png.meta b/play/assets/tmpGame/textures/btn_right.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..a0c8dc85f70bce2ef10d8efee4997c3bae467c4b --- /dev/null +++ b/play/assets/tmpGame/textures/btn_right.png.meta @@ -0,0 +1,36 @@ +{ + "ver": "2.3.5", + "uuid": "d582359e-924e-4ee9-9964-1fc4bb417e71", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "width": 61, + "height": 67, + "platformSettings": {}, + "subMetas": { + "btn_right": { + "ver": "1.0.4", + "uuid": "e5a2dbaa-a677-4a32-90d7-a1b057d7fb59", + "rawTextureUuid": "d582359e-924e-4ee9-9964-1fc4bb417e71", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": -0.5, + "offsetY": 0.5, + "trimX": 0, + "trimY": 0, + "width": 60, + "height": 66, + "rawWidth": 61, + "rawHeight": 67, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/play/assets/tmpGame/textures/icon.png b/play/assets/tmpGame/textures/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..63bf81e6ea88059e83d595ba2ae71fa1e0e746c8 Binary files /dev/null and b/play/assets/tmpGame/textures/icon.png differ diff --git a/play/assets/tmpGame/textures/icon.png.meta b/play/assets/tmpGame/textures/icon.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..53dc69a10c6f823908f9361602c14f5c0be01346 --- /dev/null +++ b/play/assets/tmpGame/textures/icon.png.meta @@ -0,0 +1,36 @@ +{ + "ver": "2.3.5", + "uuid": "18d07592-51a9-421e-8972-0f67b68d29e1", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "width": 144, + "height": 144, + "platformSettings": {}, + "subMetas": { + "icon": { + "ver": "1.0.4", + "uuid": "6fbc30a8-3c49-44ae-8ba4-7f56f385b78a", + "rawTextureUuid": "18d07592-51a9-421e-8972-0f67b68d29e1", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": -0.5, + "trimX": 3, + "trimY": 2, + "width": 138, + "height": 141, + "rawWidth": 144, + "rawHeight": 144, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/publish/.DS_Store b/publish/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f522f3d131eb78762494367bf67258334990f6fc Binary files /dev/null and b/publish/.DS_Store differ