Commit 96a38434 authored by limingzhe's avatar limingzhe

feat: 阶段性提交 缺少结束和文字

parent fda5d87e
{ {
"ver": "2.0.1", "ver": "2.0.1",
"uuid": "f0680ae0-c079-45ef-abd7-9e63d90b982b", "uuid": "ec2482d6-c025-479d-8dd4-145f25b6e330",
"downloadMode": 0, "downloadMode": 0,
"duration": 0.130612, "duration": 5.112,
"subMetas": {} "subMetas": {}
} }
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "4c3188d4-b6d4-4302-a821-d199472a7ce2",
"downloadMode": 0,
"duration": 2.592,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "70bb3e3c-913c-470f-a950-6697b10955c4",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{"frameRate":24,"name":"hand","version":"5.5","compatibleVersion":"5.5","armature":[{"type":"Armature","frameRate":24,"name":"Armature","aabb":{"x":-320,"y":-320,"width":640.25,"height":640},"bone":[{"name":"root","transform":{"scX":0.5,"scY":0.5}},{"name":"bone","parent":"root","transform":{"x":146.4,"y":86.95}}],"slot":[{"name":"10","parent":"root","color":{"aM":50}},{"name":"9","parent":"root","color":{"aM":50}},{"name":"8","parent":"root","color":{"aM":50}},{"name":"7","parent":"root","color":{"aM":50}},{"name":"6","parent":"root","color":{"aM":50}},{"name":"5","parent":"root","color":{"aM":50}},{"name":"4","parent":"root","color":{"aM":50}},{"name":"3","parent":"root","color":{"aM":50}},{"name":"2","parent":"root","color":{"aM":50}},{"name":"1","parent":"root","color":{"aM":50}},{"name":"10_拷贝","parent":"root","color":{"aM":50}},{"name":"9_拷贝","parent":"root","color":{"aM":50}},{"name":"8_拷贝","parent":"root","color":{"aM":50}},{"name":"7_拷贝","parent":"root","color":{"aM":50}},{"name":"6_拷贝","parent":"root","color":{"aM":50}},{"name":"5_拷贝","parent":"root","color":{"aM":50}},{"name":"4_拷贝","parent":"root","color":{"aM":50}},{"name":"3_拷贝","parent":"root","color":{"aM":50}},{"name":"2_拷贝","parent":"root","color":{"aM":50}},{"displayIndex":1,"name":"图层16","parent":"bone"},{"name":"1_拷贝","parent":"root","color":{"aM":50}}],"skin":[{"slot":[{"name":"9_拷贝","display":[{"name":"手指引导培生/9"}]},{"name":"图层16","display":[{"name":"手指引导培生/图层16","transform":{"x":-10.4,"y":7.55}},{"name":"手指引导培生/图层16(2)","transform":{"x":-2.4,"y":-0.45,"scX":0.991,"scY":0.991}}]},{"name":"10_拷贝","display":[{"name":"手指引导培生/10"}]},{"name":"8","display":[{"name":"手指引导培生/8","transform":{"x":0.5,"scX":1.05,"scY":1.05}}]},{"name":"1","display":[{"name":"手指引导培生/1","transform":{"x":-0.5}}]},{"name":"9","display":[{"name":"手指引导培生/9","transform":{"x":0.5}}]},{"name":"2","display":[{"name":"手指引导培生/2","transform":{"y":-0.5}}]},{"name":"10","display":[{"name":"手指引导培生/10","transform":{"x":0.5}}]},{"name":"3","display":[{"name":"手指引导培生/3","transform":{"x":-0.5}}]},{"name":"4","display":[{"name":"手指引导培生/4","transform":{"x":1,"y":1.5}}]},{"name":"5","display":[{"name":"手指引导培生/5","transform":{"y":-0.5}}]},{"name":"1_拷贝","display":[{"name":"手指引导培生/1"}]},{"name":"7","display":[{"name":"手指引导培生/7","transform":{"x":-0.5,"scX":0.95,"scY":0.95}}]},{"name":"2_拷贝","display":[{"name":"手指引导培生/2"}]},{"name":"3_拷贝","display":[{"name":"手指引导培生/3"}]},{"name":"4_拷贝","display":[{"name":"手指引导培生/4"}]},{"name":"5_拷贝","display":[{"name":"手指引导培生/5"}]},{"name":"6_拷贝","display":[{"name":"手指引导培生/6"}]},{"name":"7_拷贝","display":[{"name":"手指引导培生/7","transform":{"scX":0.95,"scY":0.95}}]},{"name":"8_拷贝","display":[{"name":"手指引导培生/8","transform":{"scX":1.05,"scY":1.05}}]},{"name":"6","display":[{"name":"手指引导培生/6","transform":{"y":0.5}}]}]}],"animation":[{"duration":72,"playTimes":0,"name":"normal","bone":[{"name":"root","rotateFrame":[{"duration":72,"rotate":-0.33}]},{"name":"bone","translateFrame":[{"duration":14,"tweenEasing":0},{"duration":58,"x":-96.51,"y":-58.64}]}],"slot":[{"name":"10","displayFrame":[{"duration":37,"value":-1},{"duration":10},{"duration":25,"value":-1}],"colorFrame":[{"duration":37},{"duration":9,"tweenEasing":0},{"duration":26,"value":{"aM":0}}]},{"name":"9","displayFrame":[{"duration":35,"value":-1},{"duration":2},{"duration":35,"value":-1}]},{"name":"8","displayFrame":[{"duration":33,"value":-1},{"duration":2},{"duration":37,"value":-1}]},{"name":"7","displayFrame":[{"duration":31,"value":-1},{"duration":2},{"duration":39,"value":-1}]},{"name":"6","displayFrame":[{"duration":29,"value":-1},{"duration":2},{"duration":41,"value":-1}]},{"name":"5","displayFrame":[{"duration":27,"value":-1},{"duration":2},{"duration":43,"value":-1}]},{"name":"4","displayFrame":[{"duration":25,"value":-1},{"duration":2},{"duration":45,"value":-1}]},{"name":"3","displayFrame":[{"duration":23,"value":-1},{"duration":2},{"duration":47,"value":-1}]},{"name":"2","displayFrame":[{"duration":21,"value":-1},{"duration":2},{"duration":49,"value":-1}]},{"name":"1","displayFrame":[{"duration":19,"value":-1},{"duration":2},{"duration":51,"value":-1}]},{"name":"10_拷贝","displayFrame":[{"duration":50,"value":-1},{"duration":13},{"duration":9,"value":-1}],"colorFrame":[{"duration":51},{"duration":11,"tweenEasing":0},{"duration":10,"value":{"aM":0}}]},{"name":"9_拷贝","displayFrame":[{"duration":48,"value":-1},{"duration":2},{"duration":22,"value":-1}]},{"name":"8_拷贝","displayFrame":[{"duration":46,"value":-1},{"duration":2},{"duration":24,"value":-1}]},{"name":"7_拷贝","displayFrame":[{"duration":44,"value":-1},{"duration":2},{"duration":26,"value":-1}]},{"name":"6_拷贝","displayFrame":[{"duration":42,"value":-1},{"duration":2},{"duration":28,"value":-1}]},{"name":"5_拷贝","displayFrame":[{"duration":40,"value":-1},{"duration":2},{"duration":30,"value":-1}]},{"name":"4_拷贝","displayFrame":[{"duration":38,"value":-1},{"duration":2},{"duration":32,"value":-1}]},{"name":"2_拷贝","displayFrame":[{"duration":34,"value":-1},{"duration":2},{"duration":36,"value":-1}]},{"name":"图层16","displayFrame":[{"duration":17,"value":1},{"duration":3},{"duration":52,"value":1}],"colorFrame":[{"duration":3,"tweenEasing":0,"value":{"aM":0}},{"duration":17,"tweenEasing":0},{"duration":4,"tweenEasing":0},{"duration":48,"value":{"aM":0}}]},{"name":"1_拷贝","displayFrame":[{"duration":32,"value":-1},{"duration":2},{"duration":38,"value":-1}]},{"name":"3_拷贝","displayFrame":[{"duration":36,"value":-1},{"duration":2},{"duration":34,"value":-1}]}]}],"defaultActions":[{"gotoAndPlay":"normal"}],"canvas":{"width":320,"height":320}},{"type":"MovieClip","frameRate":24,"name":"MovieClip","bone":[{"name":"root"}],"defaultActions":[{}]}]}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "70dd496c-d5bc-4462-be82-e042cc544707",
"subMetas": {}
}
\ No newline at end of file
{"name":"hand","imagePath":"hand_tex.png","height":2048,"SubTexture":[{"name":"手指引导培生/10","x":1,"height":640,"y":1,"width":640},{"name":"手指引导培生/9","x":1,"height":640,"y":643,"width":640},{"name":"手指引导培生/8","x":619,"height":582,"y":1285,"width":582},{"name":"手指引导培生/7","x":1,"height":616,"y":1285,"width":616},{"name":"手指引导培生/6","x":1203,"height":501,"y":1285,"width":501},{"name":"手指引导培生/5","x":643,"height":433,"y":1,"width":433},{"name":"手指引导培生/4","x":643,"height":365,"y":436,"width":365},{"name":"手指引导培生/3","x":643,"height":302,"y":803,"width":302},{"name":"手指引导培生/2","x":1203,"height":249,"y":1788,"width":249},{"name":"手指引导培生/1","x":1454,"height":224,"y":1788,"width":224},{"name":"手指引导培生/图层16","x":1680,"height":141,"y":1788,"width":139},{"name":"手指引导培生/图层16(2)","x":1821,"height":157,"y":1788,"width":119}],"width":2048}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "e0131a72-9b9b-4c6d-a1dd-37027e163310",
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "7e9de3bf-097b-45aa-9e50-58977af340b4",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 2048,
"height": 2048,
"platformSettings": {},
"subMetas": {
"hand_tex": {
"ver": "1.0.4",
"uuid": "ba532d53-bc5c-454f-a7c5-39c829598da6",
"rawTextureUuid": "7e9de3bf-097b-45aa-9e50-58977af340b4",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -53.5,
"offsetY": 5,
"trimX": 1,
"trimY": 1,
"width": 1939,
"height": 2036,
"rawWidth": 2048,
"rawHeight": 2048,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
...@@ -73,18 +73,21 @@ ...@@ -73,18 +73,21 @@
}, },
{ {
"__id__": 5 "__id__": 5
},
{
"__id__": 7
} }
], ],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 17 "__id__": 32
}, },
{ {
"__id__": 18 "__id__": 33
}, },
{ {
"__id__": 19 "__id__": 34
} }
], ],
"_prefab": null, "_prefab": null,
...@@ -233,6 +236,108 @@ ...@@ -233,6 +236,108 @@
"_alignWithScreen": true, "_alignWithScreen": true,
"_id": "81GN3uXINKVLeW4+iKSlim" "_id": "81GN3uXINKVLeW4+iKSlim"
}, },
{
"__type__": "cc.Node",
"_name": "hand",
"_objFlags": 0,
"_parent": {
"__id__": 2
},
"_children": [],
"_active": false,
"_components": [
{
"__id__": 6
}
],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 640.25,
"height": 640
},
"_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": "6eUtVvcQdNbqsimsOo5QW0"
},
{
"__type__": "dragonBones.ArmatureDisplay",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 5
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_armatureName": "Armature",
"_animationName": "normal",
"_preCacheMode": 0,
"_cacheMode": 0,
"playTimes": -1,
"premultipliedAlpha": false,
"_armatureKey": "70dd496c-d5bc-4462-be82-e042cc544707#e0131a72-9b9b-4c6d-a1dd-37027e163310",
"_accTime": 0,
"_playCount": 0,
"_frameCache": null,
"_curFrame": null,
"_playing": false,
"_armatureCache": null,
"_N$dragonAsset": {
"__uuid__": "70dd496c-d5bc-4462-be82-e042cc544707"
},
"_N$dragonAtlasAsset": {
"__uuid__": "e0131a72-9b9b-4c6d-a1dd-37027e163310"
},
"_N$_defaultArmatureIndex": 0,
"_N$_animationIndex": 1,
"_N$_defaultCacheMode": 0,
"_N$timeScale": 1,
"_N$debugBones": false,
"_N$enableBatch": false,
"_id": "9dY4Q8He5IG6n0b+3V3FmJ"
},
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "res", "_name": "res",
...@@ -242,13 +347,16 @@ ...@@ -242,13 +347,16 @@
}, },
"_children": [ "_children": [
{ {
"__id__": 6 "__id__": 8
}, },
{ {
"__id__": 9 "__id__": 11
}, },
{ {
"__id__": 14 "__id__": 26
},
{
"__id__": 31
} }
], ],
"_active": false, "_active": false,
...@@ -306,11 +414,11 @@ ...@@ -306,11 +414,11 @@
"_name": "font", "_name": "font",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 5 "__id__": 7
}, },
"_children": [ "_children": [
{ {
"__id__": 7 "__id__": 9
} }
], ],
"_active": true, "_active": true,
...@@ -368,13 +476,13 @@ ...@@ -368,13 +476,13 @@
"_name": "BRLNSDB", "_name": "BRLNSDB",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 6 "__id__": 8
}, },
"_children": [], "_children": [],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 8 "__id__": 10
} }
], ],
"_prefab": null, "_prefab": null,
...@@ -430,7 +538,7 @@ ...@@ -430,7 +538,7 @@
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 7 "__id__": 9
}, },
"_enabled": true, "_enabled": true,
"_materials": [], "_materials": [],
...@@ -461,14 +569,29 @@ ...@@ -461,14 +569,29 @@
"_name": "img", "_name": "img",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 5 "__id__": 7
}, },
"_children": [ "_children": [
{ {
"__id__": 10 "__id__": 12
}, },
{ {
"__id__": 12 "__id__": 14
},
{
"__id__": 16
},
{
"__id__": 18
},
{
"__id__": 20
},
{
"__id__": 22
},
{
"__id__": 24
} }
], ],
"_active": true, "_active": true,
...@@ -526,13 +649,13 @@ ...@@ -526,13 +649,13 @@
"_name": "start_title", "_name": "start_title",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 9 "__id__": 11
}, },
"_children": [], "_children": [],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 11 "__id__": 13
} }
], ],
"_prefab": null, "_prefab": null,
...@@ -588,7 +711,7 @@ ...@@ -588,7 +711,7 @@
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 10 "__id__": 12
}, },
"_enabled": true, "_enabled": true,
"_materials": [], "_materials": [],
...@@ -616,13 +739,13 @@ ...@@ -616,13 +739,13 @@
"_name": "light", "_name": "light",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 9 "__id__": 11
}, },
"_children": [], "_children": [],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 13 "__id__": 15
} }
], ],
"_prefab": null, "_prefab": null,
...@@ -678,7 +801,7 @@ ...@@ -678,7 +801,7 @@
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 12 "__id__": 14
}, },
"_enabled": true, "_enabled": true,
"_materials": [], "_materials": [],
...@@ -703,18 +826,108 @@ ...@@ -703,18 +826,108 @@
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "audio", "_name": "black",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 5 "__id__": 11
}, },
"_children": [ "_children": [],
"_active": true,
"_components": [
{ {
"__id__": 15 "__id__": 17
} }
], ],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 10,
"height": 10
},
"_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": "dbpJ3rKgNAPqQXZcafZtts"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 16
},
"_enabled": true,
"_materials": [],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "f3411f52-ae6b-454b-b4c1-1d88deb3dd88"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "37X6maijNAsZdlU2M4eJh5"
},
{
"__type__": "cc.Node",
"_name": "go_1",
"_objFlags": 0,
"_parent": {
"__id__": 11
},
"_children": [],
"_active": true, "_active": true,
"_components": [], "_components": [
{
"__id__": 19
}
],
"_prefab": null, "_prefab": null,
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
...@@ -726,8 +939,8 @@ ...@@ -726,8 +939,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 0, "width": 149,
"height": 0 "height": 267
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -761,20 +974,48 @@ ...@@ -761,20 +974,48 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "d9f+b0lmZGSJJae6zrADhp" "_id": "25BlmXWMJJ+4ol9e3edj14"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 18
},
"_enabled": true,
"_materials": [],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "ec0f6626-c124-408a-9c63-5da32f14a4c3"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "13IiNmVGBHf4izI/A5Kw3a"
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "btn", "_name": "go_2",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 14 "__id__": 11
}, },
"_children": [], "_children": [],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 16 "__id__": 21
} }
], ],
"_prefab": null, "_prefab": null,
...@@ -788,8 +1029,8 @@ ...@@ -788,8 +1029,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 0, "width": 183,
"height": 0 "height": 266
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -823,26 +1064,500 @@ ...@@ -823,26 +1064,500 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "e87DSaFCVJfb2PAUkf4/o7" "_id": "7dDQpCZMxK0JjGUBsvR1zE"
}, },
{ {
"__type__": "cc.AudioSource", "__type__": "cc.Sprite",
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 15 "__id__": 20
}, },
"_enabled": true, "_enabled": true,
"_clip": { "_materials": [],
"__uuid__": "f0680ae0-c079-45ef-abd7-9e63d90b982b" "_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "09270f4f-e995-49a2-b99b-ebc1a8b76f75"
}, },
"_volume": 1, "_type": 0,
"_mute": false, "_sizeMode": 1,
"_loop": false, "_fillType": 0,
"_firstlyEnabled": true, "_fillCenter": {
"playOnLoad": false, "__type__": "cc.Vec2",
"preload": false, "x": 0,
"_id": "dey05oKrBIspvsDa6pOIQz" "y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "f23/d+Vo9KwbGY7WFGkmjI"
},
{
"__type__": "cc.Node",
"_name": "go_3",
"_objFlags": 0,
"_parent": {
"__id__": 11
},
"_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": 186,
"height": 269
},
"_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": "dcArFRn/hM1qgoeaQelQyd"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 22
},
"_enabled": true,
"_materials": [],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "16b8eddd-d941-4dad-8817-92a161b4d2b0"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "0cJZfuQ6FKX5q2dEP/Uerl"
},
{
"__type__": "cc.Node",
"_name": "go_0",
"_objFlags": 0,
"_parent": {
"__id__": 11
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 25
}
],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 448,
"height": 339
},
"_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": "17rfhE8M9M/7o/9mWeVkBm"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 24
},
"_enabled": true,
"_materials": [],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "384e9427-1d84-4858-a393-395b2f7b6f76"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": "c2LKCroY9BsI63cPZCkKim"
},
{
"__type__": "cc.Node",
"_name": "audio",
"_objFlags": 0,
"_parent": {
"__id__": 7
},
"_children": [
{
"__id__": 27
},
{
"__id__": 29
}
],
"_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": "d9f+b0lmZGSJJae6zrADhp"
},
{
"__type__": "cc.Node",
"_name": "ready",
"_objFlags": 0,
"_parent": {
"__id__": 26
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 28
}
],
"_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": "92LJeWHm5IgbJ0UFr1vgT1"
},
{
"__type__": "cc.AudioSource",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 27
},
"_enabled": true,
"_clip": {
"__uuid__": "4c3188d4-b6d4-4302-a821-d199472a7ce2"
},
"_volume": 1,
"_mute": false,
"_loop": false,
"_firstlyEnabled": true,
"playOnLoad": false,
"preload": false,
"_id": "5bH8IxqrxCaZn82HiLFmlS"
},
{
"__type__": "cc.Node",
"_name": "go",
"_objFlags": 0,
"_parent": {
"__id__": 26
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 30
}
],
"_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": "7bkEWpOzNCQY5oxh1n5vXX"
},
{
"__type__": "cc.AudioSource",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 29
},
"_enabled": true,
"_clip": {
"__uuid__": "ec2482d6-c025-479d-8dd4-145f25b6e330"
},
"_volume": 1,
"_mute": false,
"_loop": false,
"_firstlyEnabled": true,
"playOnLoad": false,
"preload": false,
"_id": "38+PywZNtILpGOTOEjFfqI"
},
{
"__type__": "cc.Node",
"_name": "anim",
"_objFlags": 0,
"_parent": {
"__id__": 7
},
"_children": [],
"_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": "68xHMlzVpJp6JjzUWkzX0r"
}, },
{ {
"__type__": "cc.Canvas", "__type__": "cc.Canvas",
......
import { asyncDelay, onHomeworkFinish } from "../script/util"; import { asyncDelay, callMiddleLayerFunction, onHomeworkFinish, playAudio } from "../script/util";
import { MyCocosSceneComponent } from "../script/MyCocosSceneComponent"; import { MyCocosSceneComponent } from "../script/MyCocosSceneComponent";
const { ccclass, property } = cc._decorator; const { ccclass, property } = cc._decorator;
...@@ -27,29 +27,49 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -27,29 +27,49 @@ export default class SceneComponent extends MyCocosSceneComponent {
onLoadEnd() { onLoadEnd() {
// TODO 加载完成后的逻辑写在这里, 下面的代码仅供参考 // TODO 加载完成后的逻辑写在这里, 下面的代码仅供参考
this.getState(() => { this.initData();
window["air"].hideAirClassLoading(); let isDataLoaded = false;
let isAnimLoaded = false;
const checkStart = () => {
console.log( ' in checkStart: ', isDataLoaded)
console.log( ' in isAnimLoaded: ', isAnimLoaded)
if (isDataLoaded && isAnimLoaded) {
this.initView();
}
}
this.initData();
this.initView(); this.getState(() => {
this.initListener(); isDataLoaded = true;
checkStart();
})
this.setOneAnima(this.data, () => {
isAnimLoaded = true;
checkStart();
}); });
} }
isFirst; isFirst;
isLast; isLast;
playTimes;
jumpData; jumpData;
getState(cb) { getState(cb) {
setTimeout(() => { callMiddleLayerFunction('PSQS_get_course_info', {}, (data) => {
this.isFirst = this.checkIsFirst();
this.isLast = this.checkIsLast(); this.isFirst = data.first; //this.checkIsFirst();
this.jumpData = this.getJumpData(); this.isLast = data.last // this.checkIsLast();
this.playTimes = data.playTime // this.checkPlayTimes();
this.jumpData = data.saveData // this.getJumpData();
cb && cb(); cb && cb();
}, 1000); })
} }
checkIsFirst() { checkIsFirst() {
...@@ -60,8 +80,12 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -60,8 +80,12 @@ export default class SceneComponent extends MyCocosSceneComponent {
return false; return false;
} }
checkPlayTimes() {
return 1;
}
getJumpData() { getJumpData() {
return null; return {step: 2};
} }
...@@ -71,31 +95,97 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -71,31 +95,97 @@ export default class SceneComponent extends MyCocosSceneComponent {
// 所有全局变量 默认都是null // 所有全局变量 默认都是null
this._cantouch = true; this._cantouch = true;
this.canvas = cc.find("Canvas"); this.canvas = cc.find("Canvas");
this.initLocalAudio();
}
readyClip;
goClip;
initLocalAudio() {
const getLocalAudio = (name) => {
const audioNode = cc.find("Canvas/res/audio/" + name);
return audioNode.getComponent(cc.AudioSource).clip;
}
this.readyClip = getLocalAudio('ready');
this.goClip = getLocalAudio('go');
} }
initView() { initView() {
console.log( ' in initView')
if (this.jumpData) {
this.junpAnim();
return;
}
window["air"].hideAirClassLoading();
if (this.isFirst) { if (this.isFirst) {
this.initStartView(); this.initStartView();
return; return;
} }
// this.setOneAnima(this.data);
this.startAnim();
return; return;
// this.initBg();
// this.initPic(); }
// this.initBtn();
// this.initIcon();
junpAnim() {
const jumpFrame = this.getJumpFrame();
this.dragonDisplay.timeScale = jumpFrame;
this.dragonDisplay.playAnimation(this.animaNode.animationNames[0], 1);
}
getJumpFrame() {
const arr = this.data.stepArr;
let disFrame = 0;
for (let i=1; i<arr.length; i++) {
const curDis = arr[i].text - arr[i-1].text;
if (!disFrame || disFrame > curDis) {
disFrame = curDis;
}
}
disFrame /= 2;
const maxDisFrame = this.data.frame * 2;
if (disFrame > maxDisFrame) {
disFrame = maxDisFrame
}
return disFrame;
} }
initStartView() { initStartView() {
this.showStartLight(); this.showStartLight();
this.showStartTitle(); if (this.playTimes > 0) {
this.showStartTitleGo();
} else {
this.showStartTitleReady();
}
} }
lightBg;
lightLeft;
lightRight
showStartLight() { showStartLight() {
const lightBg = this.getSprNode('black');
lightBg.scaleX = this.canvas.width / lightBg.width;
lightBg.scaleY = this.canvas.height / lightBg.height;
lightBg.opacity = 180;
this.canvas.addChild(lightBg, 10);
const lightLeft = this.getSprNode('light'); const lightLeft = this.getSprNode('light');
lightLeft.anchorY = 0.9; lightLeft.anchorY = 0.9;
lightLeft.x = -this.canvas.width / 2; lightLeft.x = -this.canvas.width / 2;
...@@ -106,7 +196,7 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -106,7 +196,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
lightLeft.rotation = 45; lightLeft.rotation = 45;
lightLeft.opacity = 0; lightLeft.opacity = 0;
cc.tween(lightLeft) cc.tween(lightLeft)
.to(1, {rotation: -45}, {easing: "cubicInOut"}) .to(1, {rotation: -45}, {easing: "cubicOut"})
.start(); .start();
cc.tween(lightLeft) cc.tween(lightLeft)
.to(0.5, {opacity: 255}) .to(0.5, {opacity: 255})
...@@ -122,14 +212,23 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -122,14 +212,23 @@ export default class SceneComponent extends MyCocosSceneComponent {
lightRight.rotation = -45; lightRight.rotation = -45;
lightRight.opacity = 0; lightRight.opacity = 0;
cc.tween(lightRight) cc.tween(lightRight)
.to(1, {rotation: 45}, {easing: "cubicInOut"}) .to(1, {rotation: 45}, {easing: "cubicOut"})
.start(); .start();
cc.tween(lightRight) cc.tween(lightRight)
.to(0.5, {opacity: 255}) .to(0.5, {opacity: 255})
.start(); .start();
this.lightBg = lightBg;
this.lightLeft = lightLeft;
this.lightRight = lightRight;
} }
showStartTitle() {
title;
showStartTitleReady() {
const title = this.getSprNode('start_title'); const title = this.getSprNode('start_title');
title.scale = this._mapScaleMin; title.scale = this._mapScaleMin;
title.y = this.canvas.height / 2 + title.height * title.scaleY; title.y = this.canvas.height / 2 + title.height * title.scaleY;
...@@ -137,56 +236,204 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -137,56 +236,204 @@ export default class SceneComponent extends MyCocosSceneComponent {
title.zIndex = 11; title.zIndex = 11;
cc.tween(title) cc.tween(title)
.delay(0.3)
.call(() => {
playAudio(this.readyClip, (() => {
this.startAudioEnd();
}));
})
.to(1.5, {y: 0}, {easing: "elasticOut"}) .to(1.5, {y: 0}, {easing: "elasticOut"})
.start(); .start();
this.title = title
} }
setOneAnima(data) { async showStartTitleGo() {
// const rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;
// const rectNode = new cc.Node(); const title = new cc.Node();
// rectNode.name = 'rect' + data.index; title.parent = this.canvas;
// this.hotZoneBg.addChild(rectNode); title.zIndex = 11;
title.scale = this._mapScaleMin;
this.title = title
// const ctx = rectNode.addComponent(cc.Graphics); playAudio(this.goClip, (() => {
// // 红色矩形 this.startAudioEnd();
// ctx.lineWidth = 4; }));
// ctx.strokeColor = cc.Color.BLACK;
// ctx.fillColor = cc.Color.WHITE.setA(100);
// const scale = rate / this.hotZoneBg.scaleY; const popNum = (name, time = 1) => {
const sprNode = this.getSprNode(name);
title.addChild(sprNode);
sprNode.scale = 0;
// rectNode.width = data.rect.width * scale; cc.tween(sprNode)
// rectNode.height = data.rect.height * scale; .to(0.5 * time, {scale: 1}, {easing: 'elasticOut'})
// rectNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale; .delay(0.4 * time)
// rectNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale; .to(0.1 * time, {opacity: 0})
.start();
}
// rectNode.anchorX = rectNode.anchorY = 0;
await asyncDelay(2);
// if (this.data.bgItem.isShowDebugLine) { popNum('go_1');
// ctx.rect(0, 0, rectNode.width, rectNode.height); await asyncDelay(1);
// } popNum('go_2');
// ctx.stroke(); await asyncDelay(1);
// ctx.fill(); popNum('go_3', 0.8);
await asyncDelay(0.8);
popNum('go_0');
await asyncDelay(1);
// cc.tween(title)
// .delay(0.3)
// .call(() => {
// playAudio(this.readyClip, (() => {
// this.startAudioEnd();
// }));
// })
// .to(1.5, {y: 0}, {easing: "elasticOut"})
// .start();
}
startAudioEnd() {
this.hideStartView();
}
const animaNode = new cc.Node(); async hideStartView() {
const hideSpr = (sprNode, cb=null) => {
cc.tween(sprNode)
.to(0.3, {opacity: 0})
.call(() => {
sprNode.active = false;
cb && cb();
})
.start();
}
this.canvas.addChild(animaNode); hideSpr(this.lightLeft);
hideSpr(this.lightRight);
hideSpr(this.title);
await asyncDelay(0.2)
hideSpr(this.lightBg, () => {
this.startAnim();
});
}
startAnim() {
this.dragonDisplay.playAnimation(this.animaNode.animationNames[0], 1);
this.dragonDisplay.timeScale = 1;
this.playAudioByUrl(this.data.lrcData.audio_url);
}
showHand(id) {
const stepData = this.data.stepArr[Number(id) - 1];
const handBase = cc.find("Canvas/hand");
const hand = cc.instantiate(handBase);
hand.parent = this.animaNode;
hand.active = true;
// hand.scale = this._mapScaleMin;
hand.x = stepData['X'];
hand.y = stepData['Y'];
const dragonDisplay = hand.getComponent(dragonBones.ArmatureDisplay);
dragonDisplay.playAnimation('normal', -1);
const boxLen = 300;
const clickBox = new cc.Node();
clickBox.width = clickBox.height = boxLen;
clickBox.parent = hand;
const ctx = clickBox.addComponent(cc.Graphics);
ctx.fillColor = cc.Color.RED.setA(100);
ctx.fillRect(-boxLen/2, -boxLen/2, boxLen, boxLen);
ctx.fill();
clickBox.on('touchstart', () => {
console.log('PSQS_show_rabbit 1');
callMiddleLayerFunction('PSQS_show_rabbit', null, () => {
console.log('PSQS_show_rabbit 2')
callMiddleLayerFunction('PSQS_jump_to_question', {step: id}, null)
})
})
}
jumpAudio(id) {
const stepData = this.data.stepArr[id-1];
const time = stepData.text / this.data.frame;
cc.assetManager.loadRemote(this.data.lrcData.audio_url, (err, audioClip) => {
const audioId = cc.audioEngine.play(audioClip, false, 0.8);
cc.audioEngine.setCurrentTime(audioId, time);
});
}
continueAnim(id) {
console.log(' in continueAnim')
window["air"].hideAirClassLoading();
this.jumpAudio(id);
this.dragonDisplay.timeScale = 1;
}
animChangeStep(stepName) {
console.log('stepName: ', stepName);
const id = stepName.split('step')[1];
if (this.jumpData) {
if (id == this.jumpData.step) {
this.continueAnim(id);
}
return
}
console.log('id: ', id);
this.dragonDisplay.timeScale = 0;
cc.audioEngine.pauseAllEffects();
this.showHand(id);
}
animPlayEnd() {
console.log(' in animPlayEnd 1')
callMiddleLayerFunction('PSQS_show_rabbit', null, () => {
console.log(' in animPlayEnd 2')
callMiddleLayerFunction('PSQS_play_animate_over', null, () => {})
})
}
dragonDisplay;
animaNode;
setOneAnima(data, cb) {
const animaNode = new cc.Node();
this.canvas.addChild(animaNode);
// if (data.audio_url) {
// cc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {
// animaNode.audioClip = audioClip;
// });
// }
const dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay); const dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);
...@@ -236,10 +483,35 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -236,10 +483,35 @@ export default class SceneComponent extends MyCocosSceneComponent {
animaNode.scale = this._mapScaleMin; animaNode.scale = this._mapScaleMin;
dragonDisplay.timeScale = 50; // dragonDisplay.timeScale = 50;
// dragonDisplay.playAnimation(animaNode['animationNames'][0], 1); dragonDisplay.playAnimation(animaNode['animationNames'][0], 1);
dragonDisplay.timeScale = 0;
dragonDisplay.on(dragonBones.EventObject.FRAME_EVENT, (e) => {
if (this.playTimes > 0) {
this.animChangeStep(e['name']);
}
})
dragonDisplay.on(dragonBones.EventObject.COMPLETE, (e) => {
this.animPlayEnd();
})
animaNode.on('touchstart', (e) => {
const pos = e.getLocation();
const x = pos.x// - e.currentTarget.width / 2;
const y = pos.y// - e.currentTarget.height / 2;
const newPos = animaNode.convertToNodeSpaceAR(cc.v2(x, y));
console.log('X: ', Math.round( newPos.x ));
console.log('Y: ', Math.round( newPos.y ));
})
this.dragonDisplay = dragonDisplay;
this.animaNode = animaNode;
cb && cb();
console.log("animaNode: ", animaNode); console.log("animaNode: ", animaNode);
}); });
...@@ -257,142 +529,6 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -257,142 +529,6 @@ export default class SceneComponent extends MyCocosSceneComponent {
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();
this.playLocalAudio('btn');
})
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();
// 游戏结束时需要调用这个方法通知系统作业完成
onHomeworkFinish();
this.playLocalAudio('btn');
})
}
leftMove() {
this._cantouch = false;
const len = this.pic1.parent.width;
cc.tween(this.pic1)
.to(1, { x: this.pic1.baseX }, { easing: 'cubicInOut' })
.start();
cc.tween(this.pic2)
.to(1, { x: this.pic2.baseX }, { easing: 'cubicInOut' })
.call(() => {
this._cantouch = true;
})
.start();
}
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) {}, // update (dt) {},
...@@ -400,13 +536,4 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -400,13 +536,4 @@ export default class SceneComponent extends MyCocosSceneComponent {
} }
playLocalAudio(audioName) {
const audio = cc.find(`Canvas/res/audio/${audioName}`).getComponent(cc.AudioSource);
return new Promise((resolve, reject) => {
const id = cc.audioEngine.playEffect(audio.clip, false);
cc.audioEngine.setFinishCallback(id, () => {
resolve(id);
});
})
}
} }
export const defaultData = {"songArr":[{},{},{},{}],"lrcData":{"audio_url":"http://staging-teach.cdn.ireadabc.com/ec19a2c73ec4fca0bf0458c74381a702.mp3","fontSize":24,"lineHeight":32,"lyrics":[]},"stepArr":[{"text":"3"},{"text":"2"}],"skeJsonData":{"url":"http://staging-teach.cdn.ireadabc.com/8f13e0ae91bd088ed8981834af6e6eeb.json","name":"2_ske.json"},"texJsonData":{"url":"http://staging-teach.cdn.ireadabc.com/e8806bae67ed2715f853be1827983590.json","name":"2_tex.json"},"texPngData":{"url":"http://staging-teach.cdn.ireadabc.com/7050b734813b887bf1f48f23bab6a6ac.png","name":"2_tex.png"}} export const defaultData = {"songArr":[{},{},{},{}],"lrcData":{"audio_url":"http://staging-teach.cdn.ireadabc.com/16cebf8be768535b68df70b8d25a7462.mp3","fontSize":24,"lineHeight":32,"lyrics":[]},"stepArr":[{"text":"432","px":"0","X":"0.2","Y":"0.3"},{"text":"648","X":"0","Y":"0"}],"skeJsonData":{"url":"http://staging-teach.cdn.ireadabc.com/275aa8c510a1ee7b936ca837de00ca2a.json","name":"1_ske.json"},"texJsonData":{"url":"http://staging-teach.cdn.ireadabc.com/fec620437ee4d51e11e7fe7a524f06ea.json","name":"1_tex.json"},"texPngData":{"url":"http://staging-teach.cdn.ireadabc.com/4fb895205ad5787e582cd65e517026d6.png","name":"1_tex.png"},"frame":"24"}
\ No newline at end of file \ No newline at end of file
...@@ -421,4 +421,15 @@ export function onHomeworkFinish() { ...@@ -421,4 +421,15 @@ export function onHomeworkFinish() {
} else { } else {
console.log('onHomeworkFinish'); console.log('onHomeworkFinish');
} }
}
export function callMiddleLayerFunction(apiName, data, callback) {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
middleLayerComponent.callMiddleLayerFunction(apiName, data, callback);
} else {
console.log('callMiddleLayerFunction: ' + apiName);
}
} }
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "ec77975a-6b54-44ca-bb95-421c1d5fbc1a",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 10,
"height": 10,
"platformSettings": {},
"subMetas": {
"black": {
"ver": "1.0.4",
"uuid": "f3411f52-ae6b-454b-b4c1-1d88deb3dd88",
"rawTextureUuid": "ec77975a-6b54-44ca-bb95-421c1d5fbc1a",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 10,
"height": 10,
"rawWidth": 10,
"rawHeight": 10,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "7237ba74-7e9c-450f-89eb-e6dc9119e474",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 448,
"height": 339,
"platformSettings": {},
"subMetas": {
"go_0": {
"ver": "1.0.4",
"uuid": "384e9427-1d84-4858-a393-395b2f7b6f76",
"rawTextureUuid": "7237ba74-7e9c-450f-89eb-e6dc9119e474",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 448,
"height": 339,
"rawWidth": 448,
"rawHeight": 339,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "0cc8b13f-d4c2-418b-8404-f81a4a63fc56",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 149,
"height": 267,
"platformSettings": {},
"subMetas": {
"go_1": {
"ver": "1.0.4",
"uuid": "ec0f6626-c124-408a-9c63-5da32f14a4c3",
"rawTextureUuid": "0cc8b13f-d4c2-418b-8404-f81a4a63fc56",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 149,
"height": 267,
"rawWidth": 149,
"rawHeight": 267,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "72e1055b-5094-4555-b6f0-51419d0f770f",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 183,
"height": 266,
"platformSettings": {},
"subMetas": {
"go_2": {
"ver": "1.0.4",
"uuid": "09270f4f-e995-49a2-b99b-ebc1a8b76f75",
"rawTextureUuid": "72e1055b-5094-4555-b6f0-51419d0f770f",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 183,
"height": 266,
"rawWidth": 183,
"rawHeight": 266,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "32118ee3-23be-41cf-b911-edde0196dc55",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 186,
"height": 269,
"platformSettings": {},
"subMetas": {
"go_3": {
"ver": "1.0.4",
"uuid": "16b8eddd-d941-4dad-8817-92a161b4d2b0",
"rawTextureUuid": "32118ee3-23be-41cf-b911-edde0196dc55",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 186,
"height": 269,
"rawWidth": 186,
"rawHeight": 269,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
...@@ -2,22 +2,12 @@ ...@@ -2,22 +2,12 @@
<div class="model-content"> <div class="model-content">
<div style="width: 100%; margin-top: 15px; margin-bottom: 50px;" align="center"> <div style="width: 100%; margin-top: 15px; margin-bottom: 50px;" align="center">
<!-- <h2>标题设置</h2>
<div style="width: 50%; display: flex; justify-content: center; align-items: center;">
<input type="text" nz-input [(ngModel)]="item.title" (blur)="save()" style="width: 200px;margin-top: 5px">
<app-audio-recorder
style="margin-top: 5px; margin-left: 5px;"
[audioUrl]="item.title_audio_url"
(audioUploaded)="onAudioUploadSuccess($event, 'title_audio_url', item)"
></app-audio-recorder>
</div> -->
<nz-divider nzText="配置动画"></nz-divider> <nz-divider nzText="配置动画"></nz-divider>
<div style="margin-top: 20px; margin-bottom: 20px; display: flex; align-items: center; justify-content: center;">
<div style="margin-top: 20px; margin-bottom: 20px;">
<app-upload-dragon-bone <app-upload-dragon-bone
[skeJsonData]="item.skeJsonData" [skeJsonData]="item.skeJsonData"
...@@ -26,13 +16,31 @@ ...@@ -26,13 +16,31 @@
(save)="saveAnim($event)" (save)="saveAnim($event)"
> >
</app-upload-dragon-bone> </app-upload-dragon-bone>
<span style="margin-left: 20px;">帧率:</span>
<input type="text" nz-input [(ngModel)]="item.frame" (blur)="save()" style="width: 50px;">
</div> </div>
<div style="display: flex; align-items: center; justify-content: center; margin-top: 25px;">
</div>
<div *ngFor="let step of item.stepArr; let i = index" style="margin-top: 10px;"> <div *ngFor="let step of item.stepArr; let i = index" style="margin-top: 10px;">
<div style="width: 500px; display: flex; align-items: center; justify-content: center;"> <div style="width: 500px; display: flex; align-items: center; justify-content: center; padding: 5px; border: 2px solid #ccc; border-radius: 15px; ">
<span style="width: 150px; text-align: right;"> step{{i+1}}(帧数):</span> <span style="width: 100px; font-weight: 800; "> step{{i+1}}:</span>
<input type="text" nz-input [(ngModel)]="step.text" (blur)="save()" style="width: 100px;"> <div style="display: flex; align-items: center; justify-content: center;">
<span>帧数:</span>
<input type="text" nz-input [(ngModel)]="step.text" (blur)="save()" style="width: 60px;">
</div>
<div style="display: flex; align-items: center; justify-content: center; margin-left: 25px;">
<span>手指 X:</span>
<input type="text" nz-input [(ngModel)]="step.X" (blur)="save()" style="width: 50px;">
</div>
<div style="display: flex; align-items: center; justify-content: center; margin-left: 15px;">
<span>Y:</span>
<input type="text" nz-input [(ngModel)]="step.Y" (blur)="save()" style="width: 50px;">
</div>
<button style=" margin-left: 15px" nz-button nzType="danger" (click)="deleteStep(i)"> <button style=" margin-left: 15px" nz-button nzType="danger" (click)="deleteStep(i)">
x x
...@@ -48,110 +56,12 @@ ...@@ -48,110 +56,12 @@
</div> </div>
<!-- <div style="width: 100%;" align=center style="margin: 30px">
<span>
歌曲选择:
</span>
<nz-radio-group [(ngModel)]="curIndex">
<label nz-radio nzValue="0">歌曲-1</label>
<label nz-radio nzValue="1">歌曲-2</label>
<label nz-radio nzValue="2">歌曲-3</label>
<label nz-radio nzValue="3">歌曲-4</label>
</nz-radio-group>
</div> -->
<!-- <div *ngFor="let it of songArr; let i = index" align="center" style="padding-bottom: 1px;"> -->
<!-- <div *ngIf="i == curIndex" class="song-box" > -->
<nz-divider nzText="配置歌词"></nz-divider>
<app-lrc-editor [LRCData]="item.lrcData" (editFinished)="getLRC($event, item)">
</app-lrc-editor>
<!-- <nz-divider nzText="配置伴奏音频"></nz-divider>
<div style="padding: 0 20px;">
<app-audio-recorder
style="margin-top: 5px"
[audioUrl]="item.accompany_audio_url"
(audioUploaded)="onAudioUploadSuccess($event, 'accompany_audio_url', item)"
></app-audio-recorder>
</div> -->
<!-- <nz-divider nzText="配置音频图片"></nz-divider>
<div style="width: 50%; margin: auto;">
<app-upload-image-with-preview
[picUrl]="item.pic_url"
(imageUploaded)="onImageUploadSuccess($event, 'pic_url', item)"
></app-upload-image-with-preview>
</div> -->
<nz-divider nzText="配置歌词"></nz-divider>
<!-- </div> --> <app-lrc-editor [LRCData]="item.lrcData" (editFinished)="getLRC($event, item)">
</app-lrc-editor>
<!-- </div> -->
<!-- <nz-divider nzText="显示配置"></nz-divider>
<div *ngIf="item.lrcData" style="padding: 20px">
<app-custom-hot-zone
[bgItem]="bgItem"
[hotZoneItemArr]="hotZoneItemArr"
[customTypeGroupArr]="customTypeGroupArr"
(save)="saveHotZone($event)"
>
</app-custom-hot-zone>
<div style="margin-top: 30px;">
<div style="display: flex; flex-wrap: wrap">
<div *ngFor="let it of picArr; let i = index" style="padding: 10px">
<div style="width: 230px; height: 240px; border: 1px solid #ccc; border-radius: 10px; padding: 5px; display: flex; align-items: center; flex-direction: column">
<div style="width: 230px; height: 40px; position: absolute;" align="right">
<button style="margin-top: 5px; margin-right: 5px" nz-button nzSize="small" nzType="danger" (click)="deletePic(i)">
<i nz-icon nzType="close" nzTheme="outline"></i>
</button>
</div>
<h3 align="center" style="margin-top: 5px">item-{{i + 1}}</h3>
<div style="width: 90%">
<app-upload-image-with-preview
[picUrl]="it.pic_url"
(imageUploaded)="onImageUploadSuccess($event, 'pic_url', it)"
></app-upload-image-with-preview>
</div>
<input type="text" nz-input [(ngModel)]="it.text" (blur)="save()" style="width: 80%;margin-top: 5px">
<app-audio-recorder
style="margin-top: 5px"
[audioUrl]="it.audio_url"
(audioUploaded)="onAudioUploadSuccess($event, 'audio_url', it)"
></app-audio-recorder>
</div>
</div>
</div>
</div>
</div> -->
</div> </div>
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