Commit 30955449 authored by Tt's avatar Tt

finished

parent 3b680f1f
{ {
"ver": "2.0.1", "ver": "2.0.1",
"uuid": "f0680ae0-c079-45ef-abd7-9e63d90b982b", "uuid": "d7ee13c8-7c6f-4ed4-bf81-c85ae91edfa9",
"downloadMode": 0, "downloadMode": 0,
"duration": 0.130612, "duration": 7.74,
"subMetas": {} "subMetas": {}
} }
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "fc2be55f-3d94-44e0-9ebf-09e0eaa47873",
"downloadMode": 0,
"duration": 10.944,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "4d2df5f4-a774-4e06-a410-4e38195952ad",
"downloadMode": 0,
"duration": 0.365714,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "0d2dd7a8-9bc2-4cd5-a432-a13f8fb43033",
"downloadMode": 0,
"duration": 1.044898,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "a544c1e7-32f5-4754-95a2-823398db0dcc",
"downloadMode": 0,
"duration": 0.287347,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "293ae196-a9b5-4da0-a0b6-597baa25f7b1",
"downloadMode": 0,
"duration": 0.365714,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "b733b7d3-4082-4320-9fe0-2ce28088b687",
"downloadMode": 0,
"duration": 0.966531,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "e87d3f15-54b2-4a37-9793-9923fa34fda9",
"downloadMode": 0,
"duration": 0.626939,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "d9be9283-652e-44da-98d6-680406e71a03",
"downloadMode": 0,
"duration": 0.168,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "7bf9c308-8dd5-411d-8770-ddc8341386d0",
"downloadMode": 0,
"duration": 0.39185,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "ac17bb63-beac-4d42-bc52-1d53b848082f",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{"name":"mao","version":"5.5","armature":[{"name":"Armature","slot":[{"name":"影子","color":{},"parent":"root"},{"name":"尾巴","color":{},"z":1,"parent":"尾巴2"},{"name":"右腿","color":{},"z":2,"parent":"右腿"},{"name":"左腿","color":{},"z":3,"parent":"左腿"},{"name":"右手","color":{},"z":4,"parent":"右手2"},{"name":"左手","color":{},"z":5,"parent":"左手2"},{"name":"左手伸直","color":{},"z":6,"parent":"左手"},{"name":"右手伸直","color":{},"z":7,"parent":"右手"},{"name":"身体","color":{},"z":8,"parent":"bone"},{"name":"领带","color":{},"z":9,"parent":"领带2"},{"name":"右耳","color":{},"z":10,"parent":"右耳"},{"name":"左耳","color":{},"z":11,"parent":"左耳"},{"name":"组_1","color":{},"z":12,"parent":"bone1"},{"name":"右眼","color":{},"z":13,"parent":"右眼"},{"name":"右眉毛","color":{},"z":14,"parent":"右眉毛"},{"name":"左眼","color":{},"z":15,"parent":"左眼"},{"name":"左眉毛","color":{},"z":16,"parent":"左眉毛"},{"name":"眼镜","color":{},"z":17,"parent":"眼镜"},{"name":"胡子","color":{},"z":18,"parent":"胡子1"},{"name":"鼻子","color":{},"z":19,"parent":"鼻子"},{"name":"嘴","color":{},"z":20,"parent":"嘴"},{"name":"帽子","color":{},"z":21,"parent":"帽子"}],"defaultActions":[{"gotoAndPlay":"begin"}],"aabb":{"x":710.308561974626,"height":483.5647539622176,"y":285.4193106747044,"width":362.6105263157899},"canvas":{"x":0,"height":1600,"y":0,"width":2176},"skin":[{"name":"","slot":[{"name":"左耳","display":[{"name":"猫01/左耳","transform":{"x":7.2491,"skY":127.651,"y":4.5192,"skX":127.651},"type":"image","path":"猫01/左耳"}]},{"name":"影子","display":[{"name":"猫01/影子","transform":{"x":884.8534,"y":735.9841},"type":"image","path":"猫01/影子"}]},{"name":"眼镜","display":[{"name":"猫01/眼镜","transform":{"x":-1.5367,"skY":97.8429,"y":2.3624,"skX":97.8429},"type":"image","path":"猫01/眼镜"}]},{"name":"左手伸直","display":[{"name":"猫01伸/左手伸直","transform":{"x":-0.9077,"skY":-128.9072,"y":53.8063,"skX":-128.9072},"type":"image","path":"猫01伸/左手伸直"}]},{"name":"胡子","display":[{"bonePose":[24,-0.9086924368221263,0.41746623248146225,-0.41746623248146225,-0.9086924368221263,0,-54.9,25,0.9915333108690438,0.12985258348247164,-0.12985258348247164,0.9915333108690438,34.7,-61.65],"userEdges":[],"slotPose":[0.9999999999999999,-2.498001805406602e-16,2.498001805406602e-16,0.9999999999999999,21.000000000000007,-42.499999999999986],"weights":[2,24,0.5957227179303393,25,0.4042772820696607,1,24,1,1,24,1,1,24,1,1,24,1,2,24,0.5465316356128019,25,0.4534683643871981,1,25,1,1,25,1,1,25,1,1,25,1,1,25,1],"transform":{"x":-11.0973,"skY":-7.4611,"y":20.7668,"skX":-7.4611},"type":"mesh","width":176,"name":"猫01/胡子","uvs":[0.47727,0.42941,0.14858,0.99941,0,0.99941,0,0.25294,0.16619,0.11824,0.46989,0.26824,0.62784,0.07647,0.83381,0,1,0,1,0.81412,0.76108,0.56471],"height":85,"vertices":[-4,-6,-61.85,42.45,-88,42.45,-88,-21,-58.75,-32.45,-5.3,-19.7,22.5,-36,58.75,-42.5,88,-42.5,88,26.7,45.95,5.5],"path":"猫01/胡子","triangles":[10,9,8,7,10,8,6,10,7,6,0,10,5,0,6,5,4,0,4,1,0,3,2,1,3,1,4],"edges":[0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,0]}]},{"name":"鼻子","display":[{"name":"猫01/鼻子","transform":{"x":0.6893,"skY":62.2415,"y":-0.1933,"skX":62.2415},"type":"image","path":"猫01/鼻子"}]},{"name":"左手","display":[{"bonePose":[2,0.10006862050548088,-0.9949805380961629,0.9949805380961629,0.10006862050548088,-26.4,128.95,8,-0.628061234545813,0.7781639195316045,-0.7781639195316045,-0.628061234545813,-66.7,22,19,-0.564293574788866,-0.8255742010576654,0.8255742010576654,-0.564293574788866,-98.5,61.400000000000006,27,-0.9634528338167091,-0.267878026367511,0.267878026367511,-0.9634528338167091,-114.05000000000001,38.650000000000006],"userEdges":[],"slotPose":[0.9999999999999998,4.440892098500626e-16,-4.440892098500626e-16,0.9999999999999998,-116,41.99999999999999],"weights":[1,27,1,1,27,1,2,27,0.52,19,0.48,3,19,0.5,8,0.29,27,0.21,2,19,0.53,8,0.47000000000000003,2,19,0.49,8,0.51,1,2,1,1,2,1,1,2,1,2,2,0.64,8,0.36,2,8,0.81,2,0.19,2,19,0.49,8,0.51,2,19,0.73,8,0.27,2,27,0.52,19,0.48,1,27,1,1,27,1,1,27,1],"transform":{"x":0.9813,"skY":164.462,"y":-3.7499,"skX":164.462},"type":"mesh","width":124,"name":"猫01/左手","uvs":[0,0.44257,0.07621,0.56284,0.37742,0.60135,0.41734,0.83581,0.53871,1,0.66532,1,0.87742,0.81351,1,0.36622,1,0,0.84556,0,0.70887,0.18176,0.61815,0.30878,0.59758,0.26622,0.49274,0.10338,0.37379,0.05878,0.26774,0,0,0],"height":74,"vertices":[-62,-4.25,-52.55,4.65,-15.2,7.5,-10.25,24.85,4.8,37,20.5,37,46.8,23.2,62,-9.9,62,-37,42.85,-37,25.9,-23.55,14.65,-14.15,12.1,-17.3,-0.9,-29.35,-15.65,-32.65,-28.8,-37,-62,-37],"path":"猫01/左手","triangles":[10,6,7,9,10,7,9,7,8,10,11,6,11,5,6,3,4,11,2,3,11,11,4,5,12,2,11,13,2,12,14,2,13,14,15,2,15,1,2,0,1,15,16,0,15],"edges":[0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,0]}]},{"name":"左眼","display":[{"name":"猫01/左眼","transform":{"x":2.2392,"skY":103.3513,"y":5.7217,"skX":103.3513},"type":"image","path":"猫01/左眼"}]},{"name":"身体","display":[{"bonePose":[2,0.10006862050548088,-0.9949805380961629,0.9949805380961629,0.10006862050548088,-26.4,128.95,5,-0.23092160580048127,-0.9729723593065361,0.9729723593065361,-0.23092160580048127,5.200000000000003,5.750000000000014],"userEdges":[],"slotPose":[1,0,0,1,-17,62],"weights":[1,5,1,1,5,1,2,2,0.6890456427703172,5,0.31095435722968284,2,2,0.8737792266327024,5,0.12622077336729756,2,2,0.9246026735291119,5,0.0753973264708881,2,2,0.8441279451809226,5,0.15587205481907737,2,2,0.7438188647372951,5,0.25618113526270503,2,2,0.458852511481229,5,0.541147488518771,1,5,1,1,5,1],"transform":{"x":10,"y":-38.75},"type":"mesh","width":122,"name":"猫01/身体","uvs":[0.45041,0.00556,0.12418,0.12861,0.0168,0.3625,0,0.80194,0.09139,1,0.9123,1,1,0.80194,1,0.41944,1,0.10028,0.82377,0],"height":180,"vertices":[-6.05,-89,-45.85,-66.85,-58.95,-24.75,-61,54.35,-49.85,90,50.3,90,61,54.35,61,-14.5,61,-71.95,39.5,-90],"path":"猫01/身体","triangles":[1,2,0,9,0,7,0,2,7,2,3,7,9,7,8,4,5,6,3,4,6,7,3,6],"edges":[0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,0]}]},{"name":"尾巴","display":[{"bonePose":[2,0.10006862050548088,-0.9949805380961629,0.9949805380961629,0.10006862050548088,-26.4,128.95,7,-0.9857652909736379,0.1681273062642085,-0.1681273062642085,-0.9857652909736379,-65.55000000000001,142.15000000000003,17,0.11417268347300655,-0.9934609193866524,0.9934609193866524,0.11417268347300655,-127.69999999999999,152.75000000000003,26,-0.793406064886026,-0.6086927108172653,0.6086927108172653,-0.793406064886026,-120.50000000000001,90.10000000000002,29,-0.9773007365750258,0.21185672113461934,-0.21185672113461934,-0.9773007365750258,-161.95000000000002,58.3],"userEdges":[],"slotPose":[1,-6.661338147750939e-16,6.661338147750939e-16,1,-133.49999999999997,108.50000000000007],"weights":[1,29,1,4,29,0.5227016984146547,26,0.43202636408426703,17,0.03465313859056454,7,0.010618798910513497,2,26,0.48,17,0.52,1,17,1,4,17,0.4911620289380977,7,0.486310553875708,26,0.015607726312633907,29,0.006919690873560398,4,17,0.4935498145297986,7,0.4918862208015806,26,0.010039731191844524,29,0.004524233476776202,1,7,1,1,7,1,1,2,1,1,2,1,1,2,1,1,7,1,1,7,1,4,7,0.7433172546809301,17,0.24222335523992874,26,0.01106360379462275,29,0.0033957862845183373,1,17,1,2,26,0.48,17,0.52,1,26,1,4,29,0.7305281686669947,26,0.2600263049428544,17,0.007092878355418108,7,0.002352648034732981,1,29,1],"transform":{"x":-0.8857,"skY":142.505,"y":-22.5117,"skX":142.505},"type":"mesh","width":175,"name":"猫01/尾巴","uvs":[0.00514,0.23853,0.31057,0.16835,0.45657,0.27477,0.50629,0.53807,0.46914,0.88945,0.52057,1,0.69714,1,0.86914,0.96422,1,0.81972,1,0.62844,0.92057,0.63899,0.82286,0.75,0.68286,0.82752,0.60543,0.82477,0.63114,0.57706,0.61057,0.2,0.45143,0,0.28571,0,0,0],"height":109,"vertices":[-86.6,-28.5,-33.15,-36.15,-7.6,-24.55,1.1,4.15,-5.4,42.45,3.6,54.5,34.5,54.5,64.6,50.6,87.5,34.85,87.5,14,73.6,15.15,56.5,27.25,32,35.7,18.45,35.4,22.95,8.4,19.35,-32.7,-8.5,-54.5,-37.5,-54.5,-87.5,-54.5],"path":"猫01/尾巴","triangles":[10,11,8,11,7,8,10,8,9,12,6,11,11,6,7,15,3,14,12,13,6,13,5,6,2,3,15,3,13,14,16,2,15,4,5,13,3,4,13,16,1,2,17,1,16,17,0,1,18,0,17],"edges":[0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,0]}]},{"name":"右腿","display":[{"name":"猫01/右腿","transform":{"x":23.5727,"skY":-75.4548,"y":-10.6202,"skX":-75.4548},"type":"image","path":"猫01/右腿"}]},{"name":"组_1","display":[{"name":"猫01/组_1","transform":{"x":89.5565,"skY":103.3513,"y":0.4939,"skX":103.3513},"type":"image","path":"猫01/组_1"}]},{"name":"左眉毛","display":[{"name":"猫01/左眉毛","transform":{"x":3.113,"skY":19.409,"y":1.998,"skX":19.409},"type":"image","path":"猫01/左眉毛"}]},{"name":"领带","display":[{"bonePose":[2,0.10006862050548088,-0.9949805380961629,0.9949805380961629,0.10006862050548088,-26.4,128.95,6,-3.885780586188048e-16,1,-1,-3.885780586188048e-16,-5.299999999999999,16.85000000000001,15,-0.02855977389887697,0.9995920864606948,-0.9995920864606948,-0.02855977389887697,-5.299999999999999,81.95,5,-0.23092160580048127,-0.9729723593065361,0.9729723593065361,-0.23092160580048127,5.200000000000003,5.750000000000014],"userEdges":[],"slotPose":[1.0000000000000002,6.938893903907228e-18,-6.938893903907228e-18,1.0000000000000002,-11.999999999999996,70.00000000000001],"weights":[1,2,1,1,2,1,1,2,1,1,5,1,1,5,1,1,5,1,1,2,1,1,2,1,2,15,0.5404804692408611,6,0.4595195307591388,2,15,0.9385812044988878,6,0.061418795501112136,2,15,0.9420585956610453,6,0.05794140433895465,2,15,0.5420950026535496,6,0.45790499734645035],"transform":{"x":-11.7538,"skY":-91.6366,"y":7.0386,"skX":-91.6366},"type":"mesh","width":120,"name":"猫01/领带","uvs":[0.46583,0.18397,0.25292,0.19872,0,0.15897,0,0.00288,0.57875,0,1,0,1,0.15417,0.65917,0.16891,0.6625,0.61314,0.685,1,0.39792,1,0.43375,0.61314],"height":156,"vertices":[-4.1,-49.3,-29.65,-47,-60,-53.2,-60,-77.55,9.45,-78,60,-78,60,-53.95,19.1,-51.65,19.5,17.65,22.2,78,-12.25,78,-7.95,17.65],"path":"猫01/领带","triangles":[4,7,5,5,7,6,0,11,8,0,8,7,4,0,7,8,11,9,11,10,9,1,0,4,3,1,4,3,2,1],"edges":[0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,0]}]},{"name":"右手","display":[{"bonePose":[2,0.10006862050548088,-0.9949805380961629,0.9949805380961629,0.10006862050548088,-26.4,128.95,9,0.6141409115204024,0.7891963892447109,-0.7891963892447109,0.6141409115204024,31.80000000000001,23.89999999999999,21,-0.8582390203981698,0.5132502156511869,-0.5132502156511869,-0.8582390203981698,74.25,78.44999999999999,28,0.7318029361026762,0.6815162967321489,-0.6815162967321489,0.7318029361026762,33.70000000000001,102.69999999999999],"userEdges":[],"slotPose":[1,1.6653345369377348e-16,-1.6653345369377348e-16,1,56.49999999999999,72],"weights":[3,9,0.9332953684052754,21,0.03988697109198161,28,0.026817660502743007,1,2,1,1,2,1,1,9,1,2,9,0.56,21,0.44,1,21,1,2,28,0.55,21,0.45,1,28,1,1,28,1,1,28,1,1,28,1,1,28,1,1,28,1,1,28,1,1,28,1,1,28,1,2,28,0.55,21,0.45,1,21,1,1,21,1,3,21,0.4586177517259628,9,0.4535368207985339,28,0.0878454274755032,2,9,0.56,21,0.44,1,9,1,1,9,1,1,9,1,1,9,1],"transform":{"x":-4.2374,"skY":-42.9622,"y":-38.0049,"skX":-42.9622},"type":"mesh","width":69,"name":"猫01/右手","uvs":[0.26884,0,0,0,0,0.39918,0.1587,0.41721,0.37391,0.55164,0.16449,0.59098,0.00507,0.70041,0,0.77664,0.03116,0.8832,0.3,1,0.72101,1,0.77536,0.91557,0.71957,0.84959,0.61522,0.81107,0.46667,0.81311,0.43913,0.81557,0.42029,0.80246,0.66667,0.78443,0.90507,0.73402,1,0.65492,1,0.58811,1,0.47828,0.92319,0.34221,0.70217,0.1791,0.36522,0.02336],"height":122,"vertices":[-15.95,-61,-34.5,-61,-34.5,-12.3,-23.55,-10.1,-8.7,6.3,-23.15,11.1,-34.15,24.45,-34.5,33.75,-32.35,46.75,-13.8,61,15.25,61,19,50.7,15.15,42.65,7.95,37.95,-2.3,38.2,-4.2,38.5,-5.5,36.9,11.5,34.7,27.95,28.55,34.5,18.9,34.5,10.75,34.5,-2.65,29.2,-19.25,13.95,-39.15,-9.3,-58.15],"path":"猫01/右手","triangles":[22,4,21,17,18,20,4,17,20,21,4,20,18,19,20,23,4,22,3,4,23,12,10,11,4,16,17,13,14,10,14,9,10,13,10,12,15,9,14,24,3,23,1,3,0,0,3,24,5,6,16,8,9,16,4,5,16,16,9,15,6,7,16,7,8,16,1,2,3],"edges":[0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,0]}]},{"name":"右眼","display":[{"name":"猫01/右眼","transform":{"x":1.7338,"skY":103.3513,"y":5.0365,"skX":103.3513},"type":"image","path":"猫01/右眼"}]},{"name":"右眉毛","display":[{"name":"猫01/右眉毛","transform":{"x":8.65,"y":-0.05},"type":"image","path":"猫01/右眉毛"}]},{"name":"左腿","display":[{"name":"猫01/左腿","transform":{"x":16.201,"skY":-91.0238,"y":2.711,"skX":-91.0238},"type":"image","path":"猫01/左腿"}]},{"name":"嘴","display":[{"name":"猫01/嘴","transform":{"x":2.7,"y":0.4},"type":"image","path":"猫01/嘴"}]},{"name":"右耳","display":[{"name":"猫01/右耳","transform":{"x":24.8427,"skY":78.1755,"y":-7.2444,"skX":78.1755},"type":"image","path":"猫01/右耳"}]},{"name":"帽子","display":[{"name":"猫01/帽子","transform":{"x":12.1614,"skY":20.7126,"y":6.1486,"skX":20.7126},"type":"image","path":"猫01/帽子"}]},{"name":"右手伸直","display":[{"name":"猫01伸/右手伸直","transform":{"x":-6.0558,"skY":-52.1105,"y":-53.1162,"skX":-52.1105},"type":"image","path":"猫01伸/右手伸直"}]}]}],"animation":[{"name":"begin","frame":[],"bone":[{"name":"root","rotateFrame":[{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"bone","rotateFrame":[{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"领带","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":1.7096,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":1.7096,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":24},{"tweenEasing":0,"y":-2.769,"duration":24},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"y":-2.769,"duration":24},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左腿","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-1.656,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-1.656,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":24},{"tweenEasing":0,"x":-2.7551,"y":0.2771,"duration":24},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"x":-2.7551,"y":0.2771,"duration":24},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"右腿","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-1.656,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-1.656,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":24},{"tweenEasing":0,"x":-2.7551,"y":0.2771,"duration":24},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"x":-2.7551,"y":0.2771,"duration":24},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"bone1","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":10.0266,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":10.0266,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":24},{"tweenEasing":0,"x":-1.298,"y":-9.9228,"duration":24},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"x":-1.298,"y":-9.9228,"duration":24},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"领带1","rotateFrame":[{"duration":12,"tweenEasing":0},{"duration":12,"rotate":-6.0264,"tweenEasing":0},{"duration":12,"rotate":-7.2656,"tweenEasing":0},{"duration":12,"rotate":-1.7867,"tweenEasing":0},{"duration":12,"tweenEasing":0},{"duration":12,"rotate":-6.0264,"tweenEasing":0},{"duration":12,"rotate":-7.2656,"tweenEasing":0},{"duration":12,"rotate":-1.7867,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"尾巴","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-12.8988,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-12.8988,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左手","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":27.8631,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":27.8631,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"右手","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-3.1516,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-3.1516,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"眼镜","rotateFrame":[{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"帽子","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-3.153,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-3.153,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"鼻子","rotateFrame":[{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左眉毛","rotateFrame":[{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左眼","rotateFrame":[{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":6},{"tweenEasing":0,"x":0.2,"duration":6},{"tweenEasing":0,"duration":36},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"x":0.2,"duration":6},{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"领带2","rotateFrame":[{"duration":12,"tweenEasing":0},{"duration":12,"rotate":4.3629,"tweenEasing":0},{"duration":12,"rotate":-7.231,"tweenEasing":0},{"duration":12,"rotate":-16.1684,"tweenEasing":0},{"duration":12,"tweenEasing":0},{"duration":12,"rotate":4.3629,"tweenEasing":0},{"duration":12,"rotate":-7.231,"tweenEasing":0},{"duration":12,"rotate":-16.1684,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"右眼","rotateFrame":[{"duration":12,"tweenEasing":0},{"duration":36,"tweenEasing":0},{"duration":12,"tweenEasing":0},{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":6},{"tweenEasing":0,"x":0.2,"duration":6},{"tweenEasing":0,"duration":36},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"x":0.2,"duration":6},{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"尾巴1","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":7.109,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":7.109,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"右眉毛","rotateFrame":[{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左手1","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-20.969,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-20.969,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"嘴","rotateFrame":[{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"duration":0}]},{"name":"右手1","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":2.3286,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":2.3286,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左耳","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-13.8027,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-13.8027,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"右耳","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":25.9315,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":25.9315,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左手2","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":6.5829,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":6.5829,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"胡子1","rotateFrame":[{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"尾巴2","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-6.2263,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-6.2263,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":24},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"duration":24},{"duration":0}]},{"name":"胡子","rotateFrame":[{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"右手2","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":8.6942,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":8.6942,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"bone2","rotateFrame":[{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-12.1888,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-12.1888,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]}],"playTimes":0,"ffd":[],"ik":[],"slot":[{"name":"尾巴","displayFrame":[],"colorFrame":[]},{"name":"右腿","displayFrame":[],"colorFrame":[]},{"name":"左腿","displayFrame":[],"colorFrame":[]},{"name":"右手","displayFrame":[],"colorFrame":[]},{"name":"左手","displayFrame":[],"colorFrame":[]},{"name":"领带","displayFrame":[],"colorFrame":[]},{"name":"右耳","displayFrame":[],"colorFrame":[]},{"name":"左耳","displayFrame":[],"colorFrame":[]},{"name":"组_1","displayFrame":[],"colorFrame":[]},{"name":"右眼","displayFrame":[],"colorFrame":[]},{"name":"右眉毛","displayFrame":[],"colorFrame":[]},{"name":"左眼","displayFrame":[],"colorFrame":[]},{"name":"左眉毛","displayFrame":[],"colorFrame":[]},{"name":"眼镜","displayFrame":[],"colorFrame":[]},{"name":"胡子","displayFrame":[],"colorFrame":[]},{"name":"鼻子","displayFrame":[],"colorFrame":[]},{"name":"嘴","displayFrame":[],"colorFrame":[]},{"name":"帽子","displayFrame":[],"colorFrame":[]},{"name":"影子","displayFrame":[],"colorFrame":[]},{"name":"身体","displayFrame":[],"colorFrame":[]},{"name":"左手伸直","displayFrame":[{"duration":96,"value":-1}],"colorFrame":[]},{"name":"右手伸直","displayFrame":[{"duration":96,"value":-1}],"colorFrame":[]}],"duration":96},{"name":"right","frame":[],"bone":[{"name":"root","rotateFrame":[{"duration":40,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"bone","rotateFrame":[{"duration":40,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"领带","rotateFrame":[{"duration":20,"tweenEasing":0},{"duration":20,"rotate":-4.3907,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":20},{"tweenEasing":0,"y":-7.3176,"duration":20},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"左腿","rotateFrame":[{"duration":20,"tweenEasing":0},{"duration":20,"rotate":5.635,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":20},{"tweenEasing":0,"x":-5.3204,"y":0.1256,"duration":20},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"右腿","rotateFrame":[{"duration":20,"tweenEasing":0},{"duration":20,"rotate":5.635,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":20},{"tweenEasing":0,"x":-8.6457,"y":0.2041,"duration":20},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"bone1","rotateFrame":[{"duration":20,"tweenEasing":0},{"duration":20,"rotate":10.6931,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":20},{"tweenEasing":0,"x":2.133,"y":-0.0504,"duration":20},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"领带1","rotateFrame":[{"duration":20,"tweenEasing":0},{"duration":20,"rotate":13.0682,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"尾巴","rotateFrame":[{"duration":20,"tweenEasing":0},{"duration":20,"rotate":-19.1744,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"左手","rotateFrame":[{"duration":20,"tweenEasing":0},{"duration":20,"rotate":-7.5433,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"右手","rotateFrame":[{"duration":20,"tweenEasing":0},{"duration":20,"rotate":25.5925,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"眼镜","rotateFrame":[{"duration":40,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":5},{"tweenEasing":0,"x":10.1211,"y":2.1099,"duration":5},{"tweenEasing":0,"duration":30},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"帽子","rotateFrame":[{"duration":40,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":10},{"tweenEasing":0,"x":13.1211,"y":2.3609,"duration":10},{"tweenEasing":0,"x":-4.4837,"y":-0.0621,"duration":10},{"tweenEasing":0,"x":5.8327,"y":1.4218,"duration":10},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"鼻子","rotateFrame":[{"duration":40,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"左眉毛","rotateFrame":[{"duration":40,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":5},{"tweenEasing":0,"x":5.3923,"y":1.1241,"duration":5},{"tweenEasing":0,"x":-2.6063,"y":-0.337,"duration":30},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"左眼","rotateFrame":[{"duration":40,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":10},{"tweenEasing":0,"x":1.2,"y":1.2,"duration":10},{"tweenEasing":0,"x":1.2,"y":1.2,"duration":10},{"tweenEasing":0,"x":1.2,"y":1.2,"duration":10},{"duration":0}]},{"name":"领带2","rotateFrame":[{"duration":10,"tweenEasing":0},{"duration":10,"rotate":-6.3333,"tweenEasing":0},{"duration":10,"rotate":7.1423,"tweenEasing":0},{"duration":10,"rotate":10.2162,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"右眼","rotateFrame":[{"duration":40,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":10},{"tweenEasing":0,"x":1.2,"y":1.2,"duration":10},{"tweenEasing":0,"x":1.2,"y":1.2,"duration":10},{"tweenEasing":0,"x":1.2,"y":1.2,"duration":10},{"duration":0}]},{"name":"尾巴1","rotateFrame":[{"duration":20,"tweenEasing":0},{"duration":20,"rotate":-26.3138,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"右眉毛","rotateFrame":[{"duration":40,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":5},{"tweenEasing":0,"x":5.3923,"y":1.1241,"duration":5},{"tweenEasing":0,"x":-2.6063,"y":-0.337,"duration":30},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"左手1","rotateFrame":[{"duration":10,"tweenEasing":0},{"duration":10,"rotate":-49.9219,"tweenEasing":0},{"duration":20,"rotate":-39.9594,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"嘴","rotateFrame":[{"duration":40,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":5},{"tweenEasing":0,"y":1.2,"duration":5},{"tweenEasing":0,"y":0.2,"duration":5},{"tweenEasing":0,"y":1.2,"duration":5},{"tweenEasing":0,"y":0.2,"duration":7},{"tweenEasing":0,"y":1.2,"duration":7},{"tweenEasing":0,"y":0.2,"duration":6},{"duration":0}]},{"name":"右手1","rotateFrame":[{"duration":10,"tweenEasing":0},{"duration":30,"rotate":-64.9909,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"左耳","rotateFrame":[{"duration":10,"tweenEasing":0},{"duration":10,"rotate":-14.1404,"tweenEasing":0},{"duration":10,"rotate":-5.0194,"tweenEasing":0},{"duration":10,"rotate":-17.9662,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"右耳","rotateFrame":[{"duration":10,"tweenEasing":0},{"duration":10,"rotate":16.8101,"tweenEasing":0},{"duration":10,"rotate":5.1383,"tweenEasing":0},{"duration":10,"rotate":20.1338,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"左手2","rotateFrame":[{"duration":10,"tweenEasing":0},{"duration":10,"rotate":43.9461,"tweenEasing":0},{"duration":20,"rotate":22.7134,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"胡子1","rotateFrame":[{"duration":10,"tweenEasing":0},{"duration":10,"rotate":-19.9919,"tweenEasing":0},{"duration":20,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"尾巴2","rotateFrame":[{"duration":20,"tweenEasing":0},{"duration":20,"rotate":16.3186,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"胡子","rotateFrame":[{"duration":10,"tweenEasing":0},{"duration":10,"rotate":24.2661,"tweenEasing":0},{"duration":20,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"右手2","rotateFrame":[{"duration":40,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]},{"name":"bone2","rotateFrame":[{"duration":20,"tweenEasing":0},{"duration":20,"rotate":17.0811,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":40},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":40},{"duration":0}]}],"playTimes":0,"ffd":[],"ik":[],"slot":[{"name":"尾巴","displayFrame":[],"colorFrame":[]},{"name":"右腿","displayFrame":[],"colorFrame":[]},{"name":"左腿","displayFrame":[],"colorFrame":[]},{"name":"右手","displayFrame":[{"duration":40,"value":-1}],"colorFrame":[]},{"name":"左手","displayFrame":[{"duration":40,"value":-1}],"colorFrame":[]},{"name":"领带","displayFrame":[],"colorFrame":[]},{"name":"右耳","displayFrame":[],"colorFrame":[]},{"name":"左耳","displayFrame":[],"colorFrame":[]},{"name":"组_1","displayFrame":[],"colorFrame":[]},{"name":"右眼","displayFrame":[],"colorFrame":[]},{"name":"右眉毛","displayFrame":[],"colorFrame":[]},{"name":"左眼","displayFrame":[],"colorFrame":[]},{"name":"左眉毛","displayFrame":[],"colorFrame":[]},{"name":"眼镜","displayFrame":[],"colorFrame":[]},{"name":"胡子","displayFrame":[],"colorFrame":[]},{"name":"鼻子","displayFrame":[],"colorFrame":[]},{"name":"嘴","displayFrame":[],"colorFrame":[]},{"name":"帽子","displayFrame":[],"colorFrame":[]},{"name":"影子","displayFrame":[],"colorFrame":[]},{"name":"身体","displayFrame":[],"colorFrame":[]},{"name":"左手伸直","displayFrame":[{"duration":40}],"colorFrame":[]},{"name":"右手伸直","displayFrame":[],"colorFrame":[]}],"duration":40},{"name":"normal","frame":[],"bone":[{"name":"root","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"bone","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"领带","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":18},{"tweenEasing":0,"y":-2.0329,"duration":18},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"左腿","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":18},{"tweenEasing":0,"x":-3.3712,"y":0.3391,"duration":18},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"右腿","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":18},{"tweenEasing":0,"x":-3.3712,"y":0.3391,"duration":18},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"bone1","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":5.0458,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"领带1","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":4.4081,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"尾巴","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":-9.2734,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"左手","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":-3.9571,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"右手","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":-4.1269,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"眼镜","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"帽子","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"鼻子","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"左眉毛","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"左眼","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":9},{"tweenEasing":0,"x":0.2,"duration":9},{"tweenEasing":0,"duration":18},{"duration":0}]},{"name":"领带2","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":6.5924,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"右眼","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":9},{"tweenEasing":0,"x":0.2,"duration":9},{"tweenEasing":0,"duration":18},{"duration":0}]},{"name":"尾巴1","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":5.0456,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"右眉毛","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"左手1","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"嘴","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"右手1","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":-0.5975,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"左耳","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":-5.8134,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"右耳","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":5.67,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"左手2","rotateFrame":[{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"胡子1","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":-4.6385,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"尾巴2","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":-4.7872,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"胡子","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":3.4123,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"右手2","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":7.7593,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"bone2","rotateFrame":[{"duration":18,"tweenEasing":0},{"duration":18,"rotate":-4.5584,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":36},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":36},{"duration":0}]}],"playTimes":0,"ffd":[],"ik":[],"slot":[{"name":"尾巴","displayFrame":[],"colorFrame":[]},{"name":"右腿","displayFrame":[],"colorFrame":[]},{"name":"左腿","displayFrame":[],"colorFrame":[]},{"name":"右手","displayFrame":[],"colorFrame":[]},{"name":"左手","displayFrame":[],"colorFrame":[]},{"name":"领带","displayFrame":[],"colorFrame":[]},{"name":"右耳","displayFrame":[],"colorFrame":[]},{"name":"左耳","displayFrame":[],"colorFrame":[]},{"name":"组_1","displayFrame":[],"colorFrame":[]},{"name":"右眼","displayFrame":[],"colorFrame":[]},{"name":"右眉毛","displayFrame":[],"colorFrame":[]},{"name":"左眼","displayFrame":[],"colorFrame":[]},{"name":"左眉毛","displayFrame":[],"colorFrame":[]},{"name":"眼镜","displayFrame":[],"colorFrame":[]},{"name":"胡子","displayFrame":[],"colorFrame":[]},{"name":"鼻子","displayFrame":[],"colorFrame":[]},{"name":"嘴","displayFrame":[],"colorFrame":[]},{"name":"帽子","displayFrame":[],"colorFrame":[]},{"name":"影子","displayFrame":[],"colorFrame":[]},{"name":"身体","displayFrame":[],"colorFrame":[]},{"name":"左手伸直","displayFrame":[{"duration":36,"value":-1}],"colorFrame":[]},{"name":"右手伸直","displayFrame":[{"duration":36,"value":-1}],"colorFrame":[]}],"duration":36},{"name":"wrong","frame":[],"bone":[{"name":"root","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"bone","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"领带","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"rotate":2.8008,"tweenEasing":0},{"duration":8,"rotate":2.8008,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"左腿","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"rotate":-2.6065,"tweenEasing":0},{"duration":8,"rotate":-2.6065,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"x":-1.9782,"y":0.2972,"duration":32},{"tweenEasing":0,"x":-1.9782,"y":0.2972,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"右腿","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"rotate":-2.6065,"tweenEasing":0},{"duration":8,"rotate":-2.6065,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"x":1.9782,"y":-0.2972,"duration":32},{"tweenEasing":0,"x":1.9782,"y":-0.2972,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"bone1","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":16,"rotate":4.3759,"tweenEasing":0},{"duration":16,"rotate":-0.9493,"tweenEasing":0},{"duration":8,"rotate":4.3759,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"领带1","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":16,"tweenEasing":0},{"duration":16,"rotate":-8.3373,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"尾巴","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":16,"tweenEasing":0},{"duration":16,"rotate":-17.9294,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"左手","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":7,"rotate":8.1159,"tweenEasing":0},{"duration":18,"rotate":17.0262,"tweenEasing":0},{"duration":7,"rotate":17.7957,"tweenEasing":0},{"duration":8,"rotate":8.1159,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"右手","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"眼镜","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"帽子","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"鼻子","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"左眉毛","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"左眼","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"领带2","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":16,"tweenEasing":0},{"duration":16,"rotate":-7.4285,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"右眼","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"尾巴1","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"右眉毛","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"左手1","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":7,"rotate":-27.0428,"tweenEasing":0},{"duration":18,"rotate":-42.1864,"tweenEasing":0},{"duration":7,"rotate":-44.7675,"tweenEasing":0},{"duration":8,"rotate":-27.0428,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"嘴","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":2},{"tweenEasing":0,"y":0.4667,"duration":4},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":4},{"tweenEasing":0,"y":0.4667,"duration":2},{"tweenEasing":0,"y":0.2,"duration":6},{"duration":0}]},{"name":"右手1","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"左耳","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":16,"rotate":-34.0903,"tweenEasing":0},{"duration":16,"rotate":-15.4811,"tweenEasing":0},{"duration":8,"rotate":-25.9899,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"右耳","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":16,"rotate":31.1127,"tweenEasing":0},{"duration":16,"rotate":9.0714,"tweenEasing":0},{"duration":8,"rotate":28.4615,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"左手2","rotateFrame":[{"duration":6,"tweenEasing":0},{"duration":2,"rotate":21.1976,"tweenEasing":0},{"duration":7,"rotate":26.0029,"tweenEasing":0},{"duration":9,"rotate":96.3651,"tweenEasing":0},{"duration":9,"rotate":34.0843,"tweenEasing":0},{"duration":7,"rotate":98.4071,"tweenEasing":0},{"duration":8,"rotate":26.0029,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"胡子1","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"尾巴2","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"胡子","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"右手2","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]},{"name":"bone2","rotateFrame":[{"duration":8,"tweenEasing":0},{"duration":32,"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"duration":32},{"tweenEasing":0,"duration":8},{"duration":0}]}],"playTimes":0,"ffd":[],"ik":[],"slot":[{"name":"尾巴","displayFrame":[],"colorFrame":[]},{"name":"右腿","displayFrame":[],"colorFrame":[]},{"name":"左腿","displayFrame":[],"colorFrame":[]},{"name":"右手","displayFrame":[],"colorFrame":[]},{"name":"左手","displayFrame":[],"colorFrame":[]},{"name":"领带","displayFrame":[],"colorFrame":[]},{"name":"右耳","displayFrame":[],"colorFrame":[]},{"name":"左耳","displayFrame":[],"colorFrame":[]},{"name":"组_1","displayFrame":[],"colorFrame":[]},{"name":"右眼","displayFrame":[],"colorFrame":[]},{"name":"右眉毛","displayFrame":[],"colorFrame":[]},{"name":"左眼","displayFrame":[],"colorFrame":[]},{"name":"左眉毛","displayFrame":[],"colorFrame":[]},{"name":"眼镜","displayFrame":[],"colorFrame":[]},{"name":"胡子","displayFrame":[],"colorFrame":[]},{"name":"鼻子","displayFrame":[],"colorFrame":[]},{"name":"嘴","displayFrame":[],"colorFrame":[]},{"name":"帽子","displayFrame":[],"colorFrame":[]},{"name":"影子","displayFrame":[],"colorFrame":[]},{"name":"身体","displayFrame":[],"colorFrame":[]},{"name":"左手伸直","displayFrame":[{"duration":48,"value":-1}],"colorFrame":[]},{"name":"右手伸直","displayFrame":[{"duration":48,"value":-1}],"colorFrame":[]}],"duration":48},{"name":"finish","frame":[],"bone":[{"name":"root","rotateFrame":[{"duration":50,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"bone","rotateFrame":[{"duration":50,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"领带","rotateFrame":[{"duration":26,"tweenEasing":0},{"duration":24,"rotate":-3.8619,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":1.7096,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":1.7096,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":26},{"tweenEasing":0,"y":-7.6181,"duration":24},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"y":-2.769,"duration":24},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"y":-2.769,"duration":24},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左腿","rotateFrame":[{"duration":26,"tweenEasing":0},{"duration":24,"rotate":6.305,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-1.656,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-1.656,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":26},{"tweenEasing":0,"x":-5.4386,"y":0.1786,"duration":24},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"x":-2.7551,"y":0.2771,"duration":24},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"x":-2.7551,"y":0.2771,"duration":24},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"右腿","rotateFrame":[{"duration":26,"tweenEasing":0},{"duration":24,"rotate":6.305,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-1.656,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-1.656,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":26},{"tweenEasing":0,"x":-6.7031,"y":-5.1693,"duration":24},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"x":-2.7551,"y":0.2771,"duration":24},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"x":-2.7551,"y":0.2771,"duration":24},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"bone1","rotateFrame":[{"duration":26,"tweenEasing":0},{"duration":24,"rotate":9.5597,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":10.0266,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":10.0266,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"x":-1.298,"y":-9.9228,"duration":24},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"x":-1.298,"y":-9.9228,"duration":24},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"领带1","rotateFrame":[{"duration":26,"tweenEasing":0},{"duration":24,"rotate":17.3385,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":12,"tweenEasing":0},{"duration":12,"rotate":-6.0264,"tweenEasing":0},{"duration":12,"rotate":-7.2656,"tweenEasing":0},{"duration":12,"rotate":-1.7867,"tweenEasing":0},{"duration":12,"tweenEasing":0},{"duration":12,"rotate":-6.0264,"tweenEasing":0},{"duration":12,"rotate":-7.2656,"tweenEasing":0},{"duration":12,"rotate":-1.7867,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"尾巴","rotateFrame":[{"duration":26,"tweenEasing":0},{"duration":24,"rotate":-19.1782,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-12.8988,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-12.8988,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左手","rotateFrame":[{"duration":26,"tweenEasing":0},{"duration":24,"rotate":-12.0712,"tweenEasing":0},{"duration":25,"tweenEasing":0},{"duration":24,"rotate":27.8631,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":27.8631,"tweenEasing":0},{"duration":9}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":49},{"tweenEasing":0,"duration":48},{"duration":9}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":49},{"tweenEasing":0,"duration":48},{"duration":9}]},{"name":"右手","rotateFrame":[{"duration":26,"tweenEasing":0},{"duration":22,"rotate":18.0014,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-3.1516,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-3.1516,"tweenEasing":0},{"duration":2}],"translateFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":2}],"scaleFrame":[{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":2}]},{"name":"眼镜","rotateFrame":[{"duration":14,"tweenEasing":0},{"duration":36,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":14},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"x":13.048,"y":-0.5502,"duration":6},{"tweenEasing":0,"x":0.692,"y":0.5317,"duration":24},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":14},{"tweenEasing":0,"duration":36},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"帽子","rotateFrame":[{"duration":50,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-3.153,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-3.153,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"x":7.457,"y":1.5583,"duration":6},{"tweenEasing":0,"x":-6.6664,"y":1.1384,"duration":36},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"鼻子","rotateFrame":[{"duration":50,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左眉毛","rotateFrame":[{"duration":50,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"x":6.4728,"y":0.8607,"duration":42},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左眼","rotateFrame":[{"duration":50,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":6},{"tweenEasing":0,"x":0.2,"duration":4},{"tweenEasing":0,"duration":16},{"tweenEasing":0,"duration":4},{"tweenEasing":0,"x":0.2,"duration":4},{"tweenEasing":0,"duration":16},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"x":0.2,"duration":6},{"tweenEasing":0,"duration":36},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"x":0.2,"duration":6},{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"领带2","rotateFrame":[{"duration":14,"tweenEasing":0},{"duration":20,"rotate":-13.0313,"tweenEasing":0},{"duration":16,"rotate":14.5197,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":12,"tweenEasing":0},{"duration":12,"rotate":4.3629,"tweenEasing":0},{"duration":12,"rotate":-7.231,"tweenEasing":0},{"duration":12,"rotate":-16.1684,"tweenEasing":0},{"duration":12,"tweenEasing":0},{"duration":12,"rotate":4.3629,"tweenEasing":0},{"duration":12,"rotate":-7.231,"tweenEasing":0},{"duration":12,"rotate":-16.1684,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"右眼","rotateFrame":[{"duration":50,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":12,"tweenEasing":0},{"duration":36,"tweenEasing":0},{"duration":12,"tweenEasing":0},{"duration":36,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":6},{"tweenEasing":0,"x":0.2,"duration":4},{"tweenEasing":0,"duration":16},{"tweenEasing":0,"duration":4},{"tweenEasing":0,"x":0.2,"duration":4},{"tweenEasing":0,"duration":16},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"x":0.2,"duration":6},{"tweenEasing":0,"duration":36},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"x":0.2,"duration":6},{"tweenEasing":0,"duration":36},{"duration":0}]},{"name":"尾巴1","rotateFrame":[{"duration":26,"tweenEasing":0},{"duration":24,"rotate":6.1561,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":7.109,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":7.109,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"右眉毛","rotateFrame":[{"duration":50,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"x":6.4728,"y":0.8607,"duration":42},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左手1","rotateFrame":[{"duration":14,"tweenEasing":0},{"duration":36,"rotate":-76.2623,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-20.969,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-20.969,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"嘴","rotateFrame":[{"duration":50,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":8},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"y":0.2,"duration":6},{"duration":0}]},{"name":"右手1","rotateFrame":[{"duration":14,"tweenEasing":0},{"duration":12,"rotate":-106.3868,"tweenEasing":0},{"duration":24,"rotate":-26.2264,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":2.3286,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":2.3286,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左耳","rotateFrame":[{"duration":14,"tweenEasing":0},{"duration":12,"rotate":-14.9384,"tweenEasing":0},{"duration":12,"rotate":5.3691,"tweenEasing":0},{"duration":12,"rotate":-13.3337,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-13.8027,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-13.8027,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"右耳","rotateFrame":[{"duration":14,"tweenEasing":0},{"duration":12,"rotate":14.6986,"tweenEasing":0},{"duration":12,"rotate":4.7716,"tweenEasing":0},{"duration":12,"rotate":12.1816,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":25.9315,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":25.9315,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"左手2","rotateFrame":[{"duration":14,"tweenEasing":0},{"duration":12,"rotate":35.243,"tweenEasing":0},{"duration":24,"rotate":30.1214,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":6.5829,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":6.5829,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"胡子1","rotateFrame":[{"duration":14,"tweenEasing":0},{"duration":6,"rotate":4.4556,"tweenEasing":0},{"duration":6,"rotate":-19.7558,"tweenEasing":0},{"duration":8,"rotate":10.9587,"tweenEasing":0},{"duration":8,"rotate":-11.7808,"tweenEasing":0},{"duration":8,"rotate":17.3524,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"尾巴2","rotateFrame":[{"duration":26,"tweenEasing":0},{"duration":24,"rotate":-18.3593,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-6.2263,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-6.2263,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"duration":24},{"tweenEasing":0,"duration":24},{"duration":0}]},{"name":"胡子","rotateFrame":[{"duration":14,"tweenEasing":0},{"duration":6,"rotate":-0.0026,"tweenEasing":0},{"duration":6,"rotate":13.7518,"tweenEasing":0},{"duration":8,"rotate":-4.6954,"tweenEasing":0},{"duration":8,"rotate":17.3351,"tweenEasing":0},{"duration":8,"rotate":-7.5326,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":48,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"右手2","rotateFrame":[{"duration":14,"tweenEasing":0},{"duration":12,"rotate":112.3086,"tweenEasing":0},{"duration":24,"rotate":37.7087,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":8.6942,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":8.6942,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]},{"name":"bone2","rotateFrame":[{"duration":26,"tweenEasing":0},{"duration":24,"rotate":-9.3495,"tweenEasing":0},{"duration":10,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-12.1888,"tweenEasing":0},{"duration":24,"tweenEasing":0},{"duration":24,"rotate":-12.1888,"tweenEasing":0},{"duration":0}],"translateFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}],"scaleFrame":[{"tweenEasing":0,"duration":50},{"tweenEasing":0,"duration":10},{"tweenEasing":0,"duration":48},{"tweenEasing":0,"duration":48},{"duration":0}]}],"playTimes":0,"ffd":[],"ik":[],"slot":[{"name":"尾巴","displayFrame":[],"colorFrame":[]},{"name":"右腿","displayFrame":[],"colorFrame":[]},{"name":"左腿","displayFrame":[],"colorFrame":[]},{"name":"右手","displayFrame":[{"duration":3},{"duration":2,"value":-1},{"duration":45,"value":-1},{"duration":106}],"colorFrame":[]},{"name":"左手","displayFrame":[{"duration":3},{"duration":2,"value":-1},{"duration":45,"value":-1},{"duration":106}],"colorFrame":[]},{"name":"领带","displayFrame":[],"colorFrame":[]},{"name":"右耳","displayFrame":[],"colorFrame":[]},{"name":"左耳","displayFrame":[],"colorFrame":[]},{"name":"组_1","displayFrame":[],"colorFrame":[]},{"name":"右眼","displayFrame":[],"colorFrame":[]},{"name":"右眉毛","displayFrame":[],"colorFrame":[]},{"name":"左眼","displayFrame":[],"colorFrame":[]},{"name":"左眉毛","displayFrame":[],"colorFrame":[]},{"name":"眼镜","displayFrame":[],"colorFrame":[]},{"name":"胡子","displayFrame":[],"colorFrame":[]},{"name":"鼻子","displayFrame":[],"colorFrame":[]},{"name":"嘴","displayFrame":[],"colorFrame":[]},{"name":"帽子","displayFrame":[],"colorFrame":[]},{"name":"影子","displayFrame":[],"colorFrame":[]},{"name":"身体","displayFrame":[],"colorFrame":[]},{"name":"左手伸直","displayFrame":[{"duration":3,"value":-1},{"duration":2},{"duration":45},{"duration":106,"value":-1}],"colorFrame":[]},{"name":"右手伸直","displayFrame":[{"duration":3,"value":-1},{"duration":2},{"duration":45},{"duration":8,"value":-1},{"duration":98,"value":-1}],"colorFrame":[]}],"duration":156}],"bone":[{"name":"root","transform":{}},{"name":"bone","transform":{"x":891.9191,"y":616.1693},"length":160,"parent":"root"},{"name":"领带","transform":{"x":0.6,"skY":-84.2569,"y":28.2,"skX":-84.2569},"length":113,"parent":"bone"},{"name":"左腿","transform":{"x":-20.0746,"skY":175.2807,"y":-25.7203,"skX":175.2807},"length":67,"parent":"领带"},{"name":"右腿","transform":{"x":-8.2206,"skY":159.7117,"y":32.1842,"skX":159.7117},"length":66,"parent":"领带"},{"name":"bone1","transform":{"x":125.7438,"skY":-19.0945,"y":19.1129,"skX":-19.0945},"length":235,"parent":"领带"},{"name":"领带1","transform":{"x":113.6488,"skY":174.2569,"y":9.7764,"skX":174.2569},"length":65,"parent":"领带"},{"name":"尾巴","transform":{"x":-17.0514,"skY":-105.4221,"y":-37.6326,"skX":-105.4221},"length":63,"parent":"领带"},{"name":"左手","transform":{"x":102.3804,"skY":-146.8359,"y":-50.8001,"skX":-146.8359},"length":50,"parent":"领带"},{"name":"右手","transform":{"x":110.3467,"skY":136.3674,"y":47.3957,"skX":136.3674},"length":69,"parent":"领带"},{"name":"鼻子","transform":{"x":59.3977,"skY":41.1099,"y":27.0986,"skX":41.1099},"length":1,"parent":"bone1"},{"name":"帽子","transform":{"x":192.6558,"skY":82.6388,"y":-5.4078,"skX":82.6388},"length":27,"parent":"bone1"},{"name":"眼镜","transform":{"x":78.9107,"skY":5.5084,"y":15.902,"skX":5.5084},"length":28,"parent":"bone1"},{"name":"左眉毛","transform":{"x":140.8962,"skY":83.9424,"y":-36.7575,"skX":83.9424},"length":10,"parent":"bone1"},{"name":"左眼","transform":{"x":96.0507,"y":-35.5301},"parent":"bone1"},{"name":"领带2","transform":{"x":65.1,"skY":1.6366,"skX":1.6366},"length":66,"parent":"领带1"},{"name":"右眼","transform":{"x":96.7167,"y":59.7489},"parent":"bone1"},{"name":"尾巴1","transform":{"x":63.0475,"skY":106.2349,"skX":106.2349},"length":63,"parent":"尾巴"},{"name":"右眉毛","transform":{"x":143.1362,"skY":103.3513,"y":60.3339,"skX":103.3513},"length":17,"parent":"bone1"},{"name":"左手1","transform":{"x":50.632,"skY":106.7395,"skX":106.7395},"length":27,"parent":"左手"},{"name":"嘴","transform":{"x":33.0885,"skY":103.3513,"y":8.4698,"skX":103.3513},"length":16,"parent":"bone1"},{"name":"右手1","transform":{"x":69.1209,"skY":97.009,"skX":97.009},"length":47,"parent":"右手"},{"name":"左耳","transform":{"x":151.1649,"skY":-24.2997,"y":-83.7051,"skX":-24.2997},"length":57,"parent":"bone1"},{"name":"右耳","transform":{"x":134.348,"skY":25.1759,"y":78.9579,"skX":25.1759},"length":64,"parent":"bone1"},{"name":"胡子","transform":{"x":-11.3223,"skY":-142.4333,"y":-14.2123,"skX":-142.4333},"length":65,"parent":"鼻子"},{"name":"胡子1","transform":{"x":10.8123,"skY":69.7025,"y":13.3506,"skX":69.7025},"length":66,"parent":"鼻子"},{"name":"尾巴2","transform":{"x":63.0624,"skY":-59.0609,"skX":-59.0609},"length":52,"parent":"尾巴1"},{"name":"左手2","transform":{"x":27.5566,"skY":-40.1087,"skX":-40.1087},"length":55,"parent":"左手1"},{"name":"右手2","transform":{"x":47.2479,"skY":-106.1572,"skX":-106.1572},"length":37,"parent":"右手1"},{"name":"bone2","transform":{"x":52.2431,"skY":-49.7262,"skX":-49.7262},"length":61,"parent":"尾巴2"}],"frameRate":24,"type":"Armature","ik":[]}],"frameRate":24,"isGlobal":0}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "42cb15db-315a-4d11-9814-0fe5f8808a72",
"subMetas": {}
}
\ No newline at end of file
{"name":"mao","imagePath":"mao_tex.png","SubTexture":[{"name":"猫01/影子","x":1,"height":66,"y":343,"width":337},{"name":"猫01/尾巴","x":1,"height":109,"y":188,"width":175},{"name":"猫01/右腿","x":178,"height":117,"y":188,"width":104},{"name":"猫01/左腿","x":1,"height":115,"y":569,"width":64},{"name":"猫01/右手","x":427,"height":122,"y":590,"width":69},{"name":"猫01/左手","x":301,"height":74,"y":590,"width":124},{"name":"猫01伸/左手伸直","x":299,"height":169,"y":1,"width":168},{"name":"猫01伸/右手伸直","x":299,"height":169,"y":172,"width":168},{"name":"猫01/身体","x":340,"height":180,"y":343,"width":122},{"name":"猫01/领带","x":1,"height":156,"y":411,"width":120},{"name":"猫01/右耳","x":155,"height":76,"y":602,"width":90},{"name":"猫01/左耳","x":67,"height":85,"y":602,"width":86},{"name":"猫01/组_1","x":1,"height":185,"y":1,"width":296},{"name":"猫01/右眼","x":1,"height":60,"y":686,"width":59},{"name":"猫01/右眉毛","x":67,"height":5,"y":595,"width":33},{"name":"猫01/左眼","x":247,"height":60,"y":666,"width":59},{"name":"猫01/左眉毛","x":247,"height":12,"y":602,"width":31},{"name":"猫01/眼镜","x":301,"height":63,"y":525,"width":170},{"name":"猫01/胡子","x":123,"height":85,"y":515,"width":176},{"name":"猫01/鼻子","x":67,"height":24,"y":569,"width":28},{"name":"猫01/嘴","x":1,"height":30,"y":299,"width":65},{"name":"猫01/帽子","x":123,"height":102,"y":411,"width":158}],"height":1024,"width":512}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "b2242a6f-c54f-4b2d-8151-89a713576e41",
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "c8f02f6a-80f7-4712-8a8c-26db0a90ab03",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 512,
"height": 1024,
"platformSettings": {},
"subMetas": {
"mao_tex": {
"ver": "1.0.4",
"uuid": "837a88a0-d171-4421-8e58-63a525eabc62",
"rawTextureUuid": "c8f02f6a-80f7-4712-8a8c-26db0a90ab03",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -7.5,
"offsetY": 138.5,
"trimX": 1,
"trimY": 1,
"width": 495,
"height": 745,
"rawWidth": 512,
"rawHeight": 1024,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "6fca0a2c-2b67-4da6-8255-260ba2320830",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{"frameRate":24,"name":"烟花","version":"5.5","compatibleVersion":"5.5","armature":[{"type":"Armature","frameRate":24,"name":"Armature","aabb":{"x":-57.5,"y":-420,"width":152,"height":97},"bone":[{"name":"root"},{"length":84,"name":"烟花","parent":"root","transform":{"x":-3,"y":-332,"skX":-91.3639,"skY":-91.3639}}],"slot":[{"name":"烟花","parent":"烟花"},{"displayIndex":-1,"name":"1","parent":"root"}],"skin":[{"slot":[{"name":"烟花","display":[{"name":"烟花/烟花","transform":{"x":38.98,"y":22.43,"skX":91.36,"skY":91.36}}]},{"name":"1","display":[{"name":"烟花/1","transform":{"x":-3,"y":-385.5}},{"name":"烟花/2","transform":{"x":-2,"y":-406}},{"name":"烟花/3","transform":{"y":-425.5}},{"name":"烟花/4","transform":{"x":-6,"y":-434}},{"name":"烟花/5","transform":{"x":-7.5,"y":-439.5}},{"name":"烟花/6","transform":{"x":-11,"y":-439.5}},{"name":"烟花/7","transform":{"x":-15.5,"y":-431.5}},{"name":"烟花/8","transform":{"x":-5,"y":-425.5}},{"name":"烟花/9","transform":{"y":-420}}]}]}],"animation":[{"duration":30,"playTimes":0,"name":"normal","bone":[{"name":"烟花","translateFrame":[{"duration":10,"tweenEasing":0,"y":421.44},{"duration":20}]}],"slot":[{"name":"烟花","displayFrame":[{"duration":12},{"duration":18,"value":-1}]},{"name":"1","displayFrame":[{"duration":12,"value":-1},{"duration":2},{"duration":2,"value":1},{"duration":2,"value":2},{"duration":2,"value":3},{"duration":2,"value":4},{"duration":2,"value":5},{"duration":2,"value":6},{"duration":2,"value":7},{"duration":2,"value":8},{"duration":0,"value":-1}]}]}],"defaultActions":[{"gotoAndPlay":"normal"}]}]}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "bce4f069-c7dc-4d7c-bdae-9528d291dc83",
"subMetas": {}
}
\ No newline at end of file
{"width":1024,"imagePath":"烟花_tex.png","height":1024,"name":"烟花","SubTexture":[{"width":152,"y":605,"height":97,"name":"烟花/烟花","x":323},{"width":167,"y":645,"height":65,"name":"烟花/1","x":1},{"width":267,"y":505,"height":98,"name":"烟花/4","x":323},{"width":456,"y":264,"height":239,"name":"烟花/7","x":528},{"width":193,"y":505,"height":54,"name":"烟花/2","x":592},{"width":493,"y":1,"height":261,"name":"烟花/8","x":528},{"width":409,"y":275,"height":211,"name":"烟花/6","x":1},{"width":320,"y":488,"height":155,"name":"烟花/5","x":1},{"width":525,"y":1,"height":272,"name":"烟花/9","x":1},{"width":203,"y":505,"height":33,"name":"烟花/3","x":787}]}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "6edbd32c-4733-466b-a910-5cf85b3eaef8",
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "c138e5ff-6afa-4eef-8c24-7308cc6e2f7b",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1024,
"height": 1024,
"platformSettings": {},
"subMetas": {
"烟花_tex": {
"ver": "1.0.4",
"uuid": "91a38a51-4650-4bb3-89db-b1827ed75bf2",
"rawTextureUuid": "c138e5ff-6afa-4eef-8c24-7308cc6e2f7b",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -1,
"offsetY": 156.5,
"trimX": 1,
"trimY": 1,
"width": 1020,
"height": 709,
"rawWidth": 1024,
"rawHeight": 1024,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "9f991a7e-ecea-4eaf-9885-a86a224536db",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"ver": "1.0.8",
"uuid": "771c13cf-dd4a-4c25-9dca-413a319550cf",
"isPlugin": true,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "37dec809-5c30-48d6-a760-640872b102e3",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "3ea68530-b11e-4763-9b54-2613d28bab9c",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
cc.Class({
extends: cc.Component,
properties: {
},
ctor() {
this._timeoutIds = [];
this._intervalIds = [];
this._maxRate = 0;
},
// 生命周期 onLoad
onLoad() {
this.initSize();
},
_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
async start() {
this.updateLabel('创建房间中');
this.progressTo(0.1, 1);
await this.asyncDelay(1);
this.updateLabel('匹配小伙伴中');
},
async initView() {
this.setMaxPlayerNumber(5);
},
setMaxPlayerNumber(number) {
this._maxPlayerNum = number;
},
_playerList: null,
addPlayer(name, isSelf, headUrl, uuid) {
if (!this._playerList) {
this._playerList = [];
}
if (this._playerList.find(player => player.uuid == uuid)) {
return;
}
this._playerList.push({ name, isSelf, headUrl, uuid });
console.log('name = ' + name);
const layout = cc.find('layout', this.node);
const headNode = cc.instantiate(cc.find('head', this.node));
headNode.x = 0;
headNode.y = 0;
headNode.active = true;
const frameSelf = cc.find('frame_self', headNode);
if (!isSelf) {
frameSelf.opacity = 0;
}
const nameLabel = cc.find('name', headNode);
nameLabel.getComponent(cc.Label).string = name;
const headImg = cc.find('mask/headImg', headNode);
this.loadSpriteByUrl(headImg, headUrl, () => {
const scale = Math.max(
headImg.parent.width / headImg.width,
headImg.parent.height / headImg.height
);
headImg.scale = scale;
});
layout.addChild(headNode);
const rate = Math.min(1, layout.children.length / this._maxPlayerNum);
if (rate == 1) {
this.updateLabel('同步中');
}
this.progressTo(rate, 3);
},
onLoadFinished(func) {
this._onLoadFinishFunc = func;
},
async asyncDelay(time) {
return new Promise((resolve, reject) => {
try {
this._timeoutIds.push(setTimeout(() => {
resolve();
}, time * 1000));
} catch (e) {
reject(e);
}
});
},
updateLabel(str) {
const label = cc.find('label', this.node).getComponent(cc.Label);
if (label.tweenAction) {
label.tweenAction.stop();
}
label.tweenAction = cc.tween(label)
.set({ string: `${str}` })
.delay(0.4)
.set({ string: `${str}.` })
.delay(0.4)
.set({ string: `${str}..` })
.delay(0.4)
.set({ string: `${str}...` })
.delay(0.4)
.union()
.repeatForever()
.start();
},
progressTo(rate, time) {
this._maxRate = Math.max(this._maxRate, rate);
const duration = Math.max(time + this.RandomInt(-1, 1), 1);
const progress = cc.find('progressBar', this.node).getComponent(cc.ProgressBar);
if (progress.tweenAction) {
progress.tweenAction.stop();
}
const easingList = [
'linear',
'quadInOut',
'cubicInOut',
];
progress.tweenAction = cc.tween(progress)
.to(duration, { progress: this._maxRate }, { easing: easingList[this.RandomInt(easingList.length)] })
.call(() => {
if (rate == 1) {
if (this._onLoadFinishFunc) {
this._onLoadFinishFunc();
}
this.node.active = false;
}
})
.start();
},
RandomInt(a, b = 0) {
let max = Math.max(a, b);
let min = Math.min(a, b);
return Math.floor(Math.random() * (max - min) + min);
},
// ------------------------------------------------
loadSpriteByUrl(node, url, cb) {
cc.loader.load({ url }, (err, img) => {
if (!node) {
cb && cb();
}
const spriteFrame = new cc.SpriteFrame(img)
const spr = node.getComponent(cc.Sprite);
spr.spriteFrame = spriteFrame;
cb && cb();
});
},
currentPlayedAudioId: null,
stopCurrentPlayedAudio() {
if (this.currentPlayedAudioId !== null) {
cc.audioEngine.stop(this.currentPlayedAudioId);
this.currentPlayedAudioId = null;
}
},
playEffect(name, cb) {
this.stopCurrentPlayedAudio();
const audioNode = cc.find(`audios/${name}`);
const audioClip = audioNode.getComponent(cc.AudioSource).clip;
const audioId = cc.audioEngine.play(audioClip, false, 0.8);
this.currentPlayedAudioId = audioId;
if (cb) {
cc.audioEngine.setFinishCallback(audioId, cb);
}
},
playAudioByUrl(audio_url, cb = null) {
if (!audio_url) {
if (cb) {
cb();
}
return;
}
this.stopCurrentPlayedAudio();
cc.assetManager.loadRemote(audio_url.toLowerCase(), (err, audioClip) => {
const audioId = cc.audioEngine.play(audioClip, false, 0.8);
this.currentPlayedAudioId = audioId;
if (cb) {
cc.audioEngine.setFinishCallback(audioId, cb);
}
});
},
_timeoutIds: null,
_intervalIds: null,
// 生命周期
onDestroy() {
this._timeoutIds.forEach(id => {
clearTimeout(id);
});
this._intervalIds.forEach(id => {
clearInterval(id);
});
},
});
{ {
"ver": "1.0.8", "ver": "1.0.8",
"uuid": "f8b451ff-857c-4ca8-9870-866bc5154a29", "uuid": "4958153e-41d4-4e14-ab85-924b2e2ef7d8",
"isPlugin": false, "isPlugin": false,
"loadPluginInWeb": true, "loadPluginInWeb": true,
"loadPluginInNative": true, "loadPluginInNative": true,
......
[ [
{ {
"__type__": "cc.SceneAsset", "__type__": "cc.Prefab",
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"_native": "", "_native": "",
"scene": { "data": {
"__id__": 1 "__id__": 1
} },
"optimizationPolicy": 0,
"asyncLoadAssets": false,
"readonly": false
}, },
{ {
"__type__": "cc.Scene", "__type__": "cc.Node",
"_name": "LoadingLayer",
"_objFlags": 0, "_objFlags": 0,
"_parent": null, "_parent": null,
"_children": [ "_children": [
{ {
"__id__": 2 "__id__": 2
},
{
"__id__": 7
},
{
"__id__": 11
},
{
"__id__": 15
},
{
"__id__": 24
} }
], ],
"_active": false, "_active": true,
"_components": [], "_components": [
"_prefab": null, {
"__id__": 44
},
{
"__id__": 45
}
],
"_prefab": {
"__id__": 46
},
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -30,8 +55,8 @@ ...@@ -30,8 +55,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 0, "width": 2176,
"height": 0 "height": 1600
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -54,46 +79,42 @@ ...@@ -54,46 +79,42 @@
1 1
] ]
}, },
"_is3DNode": true, "_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"autoReleaseAssets": true, "_id": ""
"_id": "0737ce42-24f0-45c6-8e1a-8bdab4f74ba3"
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "Canvas", "_name": "bg",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 1 "__id__": 1
}, },
"_children": [ "_children": [],
{
"__id__": 3
},
{
"__id__": 5
},
{
"__id__": 7
},
{
"__id__": 14
}
],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 24 "__id__": 3
}, },
{ {
"__id__": 25 "__id__": 4
}, },
{ {
"__id__": 26 "__id__": 5
} }
], ],
"_prefab": null, "_prefab": {
"__id__": 6
},
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -104,8 +125,8 @@ ...@@ -104,8 +125,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 1280, "width": 2176,
"height": 720 "height": 1600
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -116,8 +137,8 @@ ...@@ -116,8 +137,8 @@
"__type__": "TypedArray", "__type__": "TypedArray",
"ctor": "Float64Array", "ctor": "Float64Array",
"array": [ "array": [
640, 1088,
360, 800,
0, 0,
0, 0,
0, 0,
...@@ -139,23 +160,166 @@ ...@@ -139,23 +160,166 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "a5esZu+45LA5mBpvttspPD" "_id": ""
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 2
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "2163211c-9302-4166-893a-be24e4eda962"
},
"_type": 0,
"_sizeMode": 0,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__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": 2176,
"_originalHeight": 1600,
"_id": ""
},
{
"__type__": "cc.Button",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 2
},
"_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": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
},
"fileId": "a1GjpGzJdD65Biy/y88Sq8",
"sync": false
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "Main Camera", "_name": "layout",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 2 "__id__": 1
}, },
"_children": [], "_children": [],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 4 "__id__": 8
},
{
"__id__": 9
} }
], ],
"_prefab": null, "_prefab": {
"__id__": 10
},
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -166,8 +330,8 @@ ...@@ -166,8 +330,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 1280, "width": 300,
"height": 720 "height": 200
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -178,10 +342,10 @@ ...@@ -178,10 +342,10 @@
"__type__": "TypedArray", "__type__": "TypedArray",
"ctor": "Float64Array", "ctor": "Float64Array",
"array": [ "array": [
1088,
1050,
0, 0,
0, 0,
362.85545494732423,
0,
0, 0,
0, 0,
1, 1,
...@@ -201,59 +365,98 @@ ...@@ -201,59 +365,98 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "e1WoFrQ79G7r4ZuQE3HlNb" "_id": ""
}, },
{ {
"__type__": "cc.Camera", "__type__": "cc.Layout",
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 3 "__id__": 7
}, },
"_enabled": true, "_enabled": true,
"_cullingMask": 4294967295, "_layoutSize": {
"_clearFlags": 7, "__type__": "cc.Size",
"_backgroundColor": { "width": 300,
"__type__": "cc.Color", "height": 200
"r": 0,
"g": 0,
"b": 0,
"a": 255
}, },
"_depth": -1, "_resize": 1,
"_zoomRatio": 1, "_N$layoutType": 1,
"_targetTexture": null, "_N$cellSize": {
"_fov": 60, "__type__": "cc.Size",
"_orthoSize": 10, "width": 40,
"_nearClip": 1, "height": 40
"_farClip": 4096, },
"_ortho": true, "_N$startAxis": 0,
"_rect": { "_N$paddingLeft": 0,
"__type__": "cc.Rect", "_N$paddingRight": 0,
"x": 0, "_N$paddingTop": 0,
"y": 0, "_N$paddingBottom": 0,
"width": 1, "_N$spacingX": 0,
"height": 1 "_N$spacingY": 0,
"_N$verticalDirection": 1,
"_N$horizontalDirection": 0,
"_N$affectedByScale": false,
"_id": ""
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 7
},
"_enabled": true,
"alignMode": 1,
"_target": null,
"_alignFlags": 18,
"_left": 0,
"_right": 0,
"_top": 0,
"_bottom": 0,
"_verticalCenter": 250,
"_horizontalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 0,
"_originalHeight": 0,
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
}, },
"_renderStages": 1, "asset": {
"_alignWithScreen": true, "__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
"_id": "81GN3uXINKVLeW4+iKSlim" },
"fileId": "afaLDsGNdF8rTS2GfZ3h3s",
"sync": false
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "bg", "_name": "label",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 2 "__id__": 1
}, },
"_children": [], "_children": [],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 6 "__id__": 12
},
{
"__id__": 13
} }
], ],
"_prefab": null, "_prefab": {
"__id__": 14
},
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -264,8 +467,8 @@ ...@@ -264,8 +467,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 1280, "width": 0,
"height": 720 "height": 63
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -276,8 +479,8 @@ ...@@ -276,8 +479,8 @@
"__type__": "TypedArray", "__type__": "TypedArray",
"ctor": "Float64Array", "ctor": "Float64Array",
"array": [ "array": [
0, 1088,
0, 633.901,
0, 0,
0, 0,
0, 0,
...@@ -299,14 +502,14 @@ ...@@ -299,14 +502,14 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "32MJMZ2HRGF4BOf533Avyi" "_id": ""
}, },
{ {
"__type__": "cc.Sprite", "__type__": "cc.Label",
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 5 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"_materials": [ "_materials": [
...@@ -316,41 +519,91 @@ ...@@ -316,41 +519,91 @@
], ],
"_srcBlendFactor": 770, "_srcBlendFactor": 770,
"_dstBlendFactor": 771, "_dstBlendFactor": 771,
"_spriteFrame": { "_string": "",
"__uuid__": "8288e3d4-4c75-4b27-8f01-f7014417f4dd" "_N$string": "",
}, "_fontSize": 50,
"_type": 0, "_lineHeight": 50,
"_sizeMode": 1, "_enableWrapText": true,
"_fillType": 0, "_N$file": {
"_fillCenter": { "__uuid__": "bdac295a-5671-4f2e-a096-d1f0cbe4355b"
"__type__": "cc.Vec2",
"x": 0,
"y": 0
}, },
"_fillStart": 0, "_isSystemFontUsed": false,
"_fillRange": 0, "_spacingX": 0,
"_isTrimmedMode": true, "_batchAsBitmap": false,
"_atlas": null, "_styleFlags": 0,
"_id": "97/S6HDq9MeqgmV1Zwnhbb" "_underlineHeight": 0,
"_N$horizontalAlign": 1,
"_N$verticalAlign": 1,
"_N$fontFamily": "Arial",
"_N$overflow": 0,
"_N$cacheMode": 0,
"_id": ""
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 11
},
"_enabled": true,
"alignMode": 2,
"_target": null,
"_alignFlags": 16,
"_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": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
},
"fileId": "8bJSQRyJRA0Jkcc+8GY5Do",
"sync": false
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "bottomPart", "_name": "progressBar",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 2 "__id__": 1
}, },
"_children": [ "_children": [
{ {
"__id__": 8 "__id__": 16
}
],
"_active": true,
"_components": [
{
"__id__": 20
}, },
{ {
"__id__": 11 "__id__": 21
},
{
"__id__": 22
} }
], ],
"_active": true, "_prefab": {
"_components": [], "__id__": 23
"_prefab": null, },
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -361,8 +614,8 @@ ...@@ -361,8 +614,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 0, "width": 1578,
"height": 0 "height": 42
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -373,8 +626,8 @@ ...@@ -373,8 +626,8 @@
"__type__": "TypedArray", "__type__": "TypedArray",
"ctor": "Float64Array", "ctor": "Float64Array",
"array": [ "array": [
635.132, 1088,
-356.326, 555,
0, 0,
0, 0,
0, 0,
...@@ -396,26 +649,28 @@ ...@@ -396,26 +649,28 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "8c7k8ep/ZFNpO263+1QHz9" "_id": ""
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "btn_left", "_name": "bar",
"_objFlags": 0, "_objFlags": 512,
"_parent": { "_parent": {
"__id__": 7 "__id__": 15
}, },
"_children": [], "_children": [],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 9 "__id__": 17
}, },
{ {
"__id__": 10 "__id__": 18
} }
], ],
"_prefab": null, "_prefab": {
"__id__": 19
},
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -426,20 +681,20 @@ ...@@ -426,20 +681,20 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 61, "width": 0,
"height": 67 "height": 32
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
"x": 0.5, "x": 0,
"y": 0.5 "y": 0.5
}, },
"_trs": { "_trs": {
"__type__": "TypedArray", "__type__": "TypedArray",
"ctor": "Float64Array", "ctor": "Float64Array",
"array": [ "array": [
-148.464, -784,
34, 0,
0, 0,
0, 0,
0, 0,
...@@ -461,14 +716,14 @@ ...@@ -461,14 +716,14 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "5ad2wLQLxIN5Eg7OHecSH6" "_id": ""
}, },
{ {
"__type__": "cc.Sprite", "__type__": "cc.Sprite",
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 8 "__id__": 16
}, },
"_enabled": true, "_enabled": true,
"_materials": [ "_materials": [
...@@ -479,10 +734,10 @@ ...@@ -479,10 +734,10 @@
"_srcBlendFactor": 770, "_srcBlendFactor": 770,
"_dstBlendFactor": 771, "_dstBlendFactor": 771,
"_spriteFrame": { "_spriteFrame": {
"__uuid__": "ce19457d-e8f3-4c38-ae3e-d4b99208ddb5" "__uuid__": "6359268b-7d99-407e-a7e4-2d29eaf0bc67"
}, },
"_type": 0, "_type": 2,
"_sizeMode": 1, "_sizeMode": 0,
"_fillType": 0, "_fillType": 0,
"_fillCenter": { "_fillCenter": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -493,147 +748,52 @@ ...@@ -493,147 +748,52 @@
"_fillRange": 0, "_fillRange": 0,
"_isTrimmedMode": true, "_isTrimmedMode": true,
"_atlas": null, "_atlas": null,
"_id": "84mqOgJ3JNqZrYVTEU8CjE" "_id": ""
}, },
{ {
"__type__": "cc.Button", "__type__": "cc.Widget",
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 8 "__id__": 16
}, },
"_enabled": true, "_enabled": true,
"_normalMaterial": null, "alignMode": 1,
"_grayMaterial": null, "_target": null,
"duration": 0.1, "_alignFlags": 8,
"zoomScale": 1.2, "_left": 5,
"clickEvents": [], "_right": 0,
"_N$interactable": true, "_top": 0,
"_N$enableAutoGrayEffect": false, "_bottom": 0,
"_N$transition": 0, "_verticalCenter": 0,
"transition": 0, "_horizontalCenter": 0,
"_N$normalColor": { "_isAbsLeft": true,
"__type__": "cc.Color", "_isAbsRight": true,
"r": 255, "_isAbsTop": true,
"g": 255, "_isAbsBottom": true,
"b": 255, "_isAbsHorizontalCenter": true,
"a": 255 "_isAbsVerticalCenter": true,
}, "_originalWidth": 0,
"_N$pressedColor": { "_originalHeight": 0,
"__type__": "cc.Color", "_id": ""
"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", "__type__": "cc.PrefabInfo",
"_name": "btn_right", "root": {
"_objFlags": 0, "__id__": 1
"_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": { "asset": {
"__type__": "cc.Vec3", "__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
"x": 0,
"y": 0,
"z": 0
}, },
"_skewX": 0, "fileId": "1coIwLNVZGEZEzF3dItpuK",
"_skewY": 0, "sync": false
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "46i3stdzpHX6zQHTGnRsNE"
}, },
{ {
"__type__": "cc.Sprite", "__type__": "cc.Sprite",
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 11 "__id__": 15
}, },
"_enabled": true, "_enabled": true,
"_materials": [ "_materials": [
...@@ -644,10 +804,10 @@ ...@@ -644,10 +804,10 @@
"_srcBlendFactor": 770, "_srcBlendFactor": 770,
"_dstBlendFactor": 771, "_dstBlendFactor": 771,
"_spriteFrame": { "_spriteFrame": {
"__uuid__": "e5a2dbaa-a677-4a32-90d7-a1b057d7fb59" "__uuid__": "18994b29-1d03-4165-a3ec-a470e996e99a"
}, },
"_type": 0, "_type": 1,
"_sizeMode": 1, "_sizeMode": 0,
"_fillType": 0, "_fillType": 0,
"_fillCenter": { "_fillCenter": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -658,97 +818,92 @@ ...@@ -658,97 +818,92 @@
"_fillRange": 0, "_fillRange": 0,
"_isTrimmedMode": true, "_isTrimmedMode": true,
"_atlas": null, "_atlas": null,
"_id": "42Sh8QS/BHn4WiGyPQPKPt" "_id": ""
}, },
{ {
"__type__": "cc.Button", "__type__": "cc.ProgressBar",
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 11 "__id__": 15
}, },
"_enabled": true, "_enabled": true,
"_normalMaterial": null, "_N$totalLength": 1568,
"_grayMaterial": null, "_N$barSprite": {
"duration": 0.1, "__id__": 17
"zoomScale": 1.2, },
"clickEvents": [], "_N$mode": 0,
"_N$interactable": true, "_N$progress": 0,
"_N$enableAutoGrayEffect": false, "_N$reverse": false,
"_N$transition": 0, "_id": ""
"transition": 0, },
"_N$normalColor": { {
"__type__": "cc.Color", "__type__": "cc.Widget",
"r": 255, "_name": "",
"g": 255, "_objFlags": 0,
"b": 255, "node": {
"a": 255 "__id__": 15
},
"_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": { "_enabled": true,
"__type__": "cc.Color", "alignMode": 2,
"r": 255, "_target": null,
"g": 255, "_alignFlags": 16,
"b": 255, "_left": 0,
"a": 255 "_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": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
}, },
"_N$disabledColor": { "asset": {
"__type__": "cc.Color", "__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
"r": 124,
"g": 124,
"b": 124,
"a": 255
}, },
"_N$normalSprite": null, "fileId": "55nJZ9Uk5CArtjDKXyL9xa",
"_N$pressedSprite": null, "sync": false
"pressedSprite": null,
"_N$hoverSprite": null,
"hoverSprite": null,
"_N$disabledSprite": null,
"_N$target": null,
"_id": "1aj32fYY1IxLesa77E70Qu"
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "res", "_name": "head",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 2 "__id__": 1
}, },
"_children": [ "_children": [
{ {
"__id__": 15 "__id__": 25
}, },
{ {
"__id__": 18 "__id__": 28
}, },
{ {
"__id__": 21 "__id__": 34
},
{
"__id__": 37
},
{
"__id__": 40
} }
], ],
"_active": false, "_active": false,
"_components": [], "_components": [],
"_prefab": null, "_prefab": {
"__id__": 43
},
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -759,8 +914,8 @@ ...@@ -759,8 +914,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 0, "width": 340,
"height": 0 "height": 340
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -771,8 +926,8 @@ ...@@ -771,8 +926,8 @@
"__type__": "TypedArray", "__type__": "TypedArray",
"ctor": "Float64Array", "ctor": "Float64Array",
"array": [ "array": [
0, -1233.11,
0, -606.716,
0, 0,
0, 0,
0, 0,
...@@ -794,23 +949,25 @@ ...@@ -794,23 +949,25 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "0aAzbH6R1E+6AmGRrkKa5O" "_id": ""
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "font", "_name": "bg",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 14 "__id__": 24
}, },
"_children": [ "_children": [],
"_active": true,
"_components": [
{ {
"__id__": 16 "__id__": 26
} }
], ],
"_active": true, "_prefab": {
"_components": [], "__id__": 27
"_prefab": null, },
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -821,8 +978,8 @@ ...@@ -821,8 +978,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 0, "width": 258,
"height": 0 "height": 258
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -856,23 +1013,72 @@ ...@@ -856,23 +1013,72 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "9bLfcYeeNKrr524vzWchiM" "_id": ""
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 25
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "89d07b3a-2999-49eb-9a7f-31addfa26717"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
},
"fileId": "eauguU1wtOrbhO0xPWGhAt",
"sync": false
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "BRLNSDB", "_name": "mask",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 15 "__id__": 24
}, },
"_children": [], "_children": [
{
"__id__": 29
}
],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 17 "__id__": 32
} }
], ],
"_prefab": null, "_prefab": {
"__id__": 33
},
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -883,8 +1089,8 @@ ...@@ -883,8 +1089,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 0, "width": 258,
"height": 0 "height": 258
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -918,54 +1124,25 @@ ...@@ -918,54 +1124,25 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "cfMLGsq0BMhJARv+ySMAxS" "_id": ""
},
{
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 16
},
"_enabled": true,
"_materials": [],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_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", "__type__": "cc.Node",
"_name": "img", "_name": "headImg",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 14 "__id__": 28
}, },
"_children": [ "_children": [],
"_active": true,
"_components": [
{ {
"__id__": 19 "__id__": 30
} }
], ],
"_active": true, "_prefab": {
"_components": [], "__id__": 31
"_prefab": null, },
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -976,8 +1153,8 @@ ...@@ -976,8 +1153,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 0, "width": 40,
"height": 0 "height": 36
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -1011,23 +1188,101 @@ ...@@ -1011,23 +1188,101 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "53LUHHG2pEr79fyrvazXJs" "_id": ""
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 29
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "8cdb44ac-a3f6-449f-b354-7cd48cf84061"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
},
"fileId": "60BI1U1b9OoZRIDunWHW0a",
"sync": false
},
{
"__type__": "cc.Mask",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 28
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_spriteFrame": {
"__uuid__": "89d07b3a-2999-49eb-9a7f-31addfa26717"
},
"_type": 2,
"_segments": 64,
"_N$alphaThreshold": 0.6,
"_N$inverted": false,
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
},
"fileId": "5cd2Jos1dOS46NiARvN6qg",
"sync": false
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "icon", "_name": "frame",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 18 "__id__": 24
}, },
"_children": [], "_children": [],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 20 "__id__": 35
} }
], ],
"_prefab": null, "_prefab": {
"__id__": 36
},
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -1038,8 +1293,8 @@ ...@@ -1038,8 +1293,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 138, "width": 280,
"height": 141 "height": 280
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -1073,21 +1328,25 @@ ...@@ -1073,21 +1328,25 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "1blU2OArJIfoC9XfupGxJG" "_id": ""
}, },
{ {
"__type__": "cc.Sprite", "__type__": "cc.Sprite",
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 19 "__id__": 34
}, },
"_enabled": true, "_enabled": true,
"_materials": [], "_materials": [
"_srcBlendFactor": 770, {
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 1,
"_dstBlendFactor": 771, "_dstBlendFactor": 771,
"_spriteFrame": { "_spriteFrame": {
"__uuid__": "6fbc30a8-3c49-44ae-8ba4-7f56f385b78a" "__uuid__": "d1e76bbe-19cd-4b0f-b1e4-1dab0f15db1b"
}, },
"_type": 0, "_type": 0,
"_sizeMode": 1, "_sizeMode": 1,
...@@ -1101,23 +1360,36 @@ ...@@ -1101,23 +1360,36 @@
"_fillRange": 0, "_fillRange": 0,
"_isTrimmedMode": true, "_isTrimmedMode": true,
"_atlas": null, "_atlas": null,
"_id": "03GEWUEZJGyKormWgIWCtM" "_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
},
"fileId": "8aSOlD3bNAYbWZEGUBpU7X",
"sync": false
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "audio", "_name": "frame_self",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 14 "__id__": 24
}, },
"_children": [ "_children": [],
"_active": true,
"_components": [
{ {
"__id__": 22 "__id__": 38
} }
], ],
"_active": true, "_prefab": {
"_components": [], "__id__": 39
"_prefab": null, },
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -1128,8 +1400,8 @@ ...@@ -1128,8 +1400,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 0, "width": 388,
"height": 0 "height": 388
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -1163,23 +1435,68 @@ ...@@ -1163,23 +1435,68 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "d9f+b0lmZGSJJae6zrADhp" "_id": ""
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 37
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "18e7b494-5f08-424a-bcc9-7c802668be83"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
},
"fileId": "ddBCn3FshPQ4V9KDNSlBfr",
"sync": false
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "btn", "_name": "name",
"_objFlags": 0, "_objFlags": 0,
"_parent": { "_parent": {
"__id__": 21 "__id__": 24
}, },
"_children": [], "_children": [],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 23 "__id__": 41
} }
], ],
"_prefab": null, "_prefab": {
"__id__": 42
},
"_opacity": 255, "_opacity": 255,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
...@@ -1190,8 +1507,8 @@ ...@@ -1190,8 +1507,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 0, "width": 122.34,
"height": 0 "height": 63
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
...@@ -1203,7 +1520,7 @@ ...@@ -1203,7 +1520,7 @@
"ctor": "Float64Array", "ctor": "Float64Array",
"array": [ "array": [
0, 0,
0, -203.314,
0, 0,
0, 0,
0, 0,
...@@ -1225,53 +1542,74 @@ ...@@ -1225,53 +1542,74 @@
"_is3DNode": false, "_is3DNode": false,
"_groupIndex": 0, "_groupIndex": 0,
"groupIndex": 0, "groupIndex": 0,
"_id": "e87DSaFCVJfb2PAUkf4/o7" "_id": ""
}, },
{ {
"__type__": "cc.AudioSource", "__type__": "cc.Label",
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 22 "__id__": 40
}, },
"_enabled": true, "_enabled": true,
"_clip": { "_materials": [
"__uuid__": "f0680ae0-c079-45ef-abd7-9e63d90b982b" {
}, "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
"_volume": 1, }
"_mute": false, ],
"_loop": false, "_srcBlendFactor": 770,
"_firstlyEnabled": true, "_dstBlendFactor": 771,
"playOnLoad": false, "_string": "Label",
"preload": false, "_N$string": "Label",
"_id": "dey05oKrBIspvsDa6pOIQz" "_fontSize": 50,
"_lineHeight": 50,
"_enableWrapText": true,
"_N$file": {
"__uuid__": "b2c8b99b-9591-4c2d-8fe0-34536a5d109d"
},
"_isSystemFontUsed": false,
"_spacingX": 0,
"_batchAsBitmap": false,
"_styleFlags": 0,
"_underlineHeight": 0,
"_N$horizontalAlign": 1,
"_N$verticalAlign": 1,
"_N$fontFamily": "Arial",
"_N$overflow": 0,
"_N$cacheMode": 0,
"_id": ""
}, },
{ {
"__type__": "cc.Canvas", "__type__": "cc.PrefabInfo",
"_name": "", "root": {
"_objFlags": 0, "__id__": 1
"node": {
"__id__": 2
}, },
"_enabled": true, "asset": {
"_designResolution": { "__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
"__type__": "cc.Size", },
"width": 1280, "fileId": "6anh4wjaRPMqyS2LhXSx4j",
"height": 720 "sync": false
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
}, },
"_fitWidth": true, "fileId": "f9qrJyDh5P1oErn3FfsNL7",
"_fitHeight": true, "sync": false
"_id": "59Cd0ovbdF4byw5sbjJDx7"
}, },
{ {
"__type__": "cc.Widget", "__type__": "cc.Widget",
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 2 "__id__": 1
}, },
"_enabled": true, "_enabled": true,
"alignMode": 1, "alignMode": 2,
"_target": null, "_target": null,
"_alignFlags": 45, "_alignFlags": 45,
"_left": 0, "_left": 0,
...@@ -1288,16 +1626,27 @@ ...@@ -1288,16 +1626,27 @@
"_isAbsVerticalCenter": true, "_isAbsVerticalCenter": true,
"_originalWidth": 0, "_originalWidth": 0,
"_originalHeight": 0, "_originalHeight": 0,
"_id": "29zXboiXFBKoIV4PQ2liTe" "_id": ""
}, },
{ {
"__type__": "408a6f4ZfpM8Yzyg+IOGg/V", "__type__": "49581U+QdROFKuFkksuLvfY",
"_name": "", "_name": "",
"_objFlags": 0, "_objFlags": 0,
"node": { "node": {
"__id__": 2 "__id__": 1
}, },
"_enabled": true, "_enabled": true,
"_id": "eaTVUpqahPfZeO9+sUI7RP" "_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "4839576b-7c74-49ab-aa3e-8eeec631d7c0"
},
"fileId": "",
"sync": false
} }
] ]
\ No newline at end of file
{
"ver": "1.2.9",
"uuid": "4839576b-7c74-49ab-aa3e-8eeec631d7c0",
"optimizationPolicy": "SINGLE_INSTANCE",
"asyncLoadAssets": false,
"readonly": false,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "b0630a70-c307-47a2-8793-4f2b7043c9bc",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{ {
"ver": "1.1.0", "ver": "1.1.0",
"uuid": "c551970e-b095-45f3-9f1d-25cde8b8deb1", "uuid": "b2c8b99b-9591-4c2d-8fe0-34536a5d109d",
"subMetas": {} "subMetas": {}
} }
\ No newline at end of file
{ {
"ver": "2.3.5", "ver": "2.3.5",
"uuid": "efa5fa09-a4dd-4bfc-ab7e-17c19f85408f", "uuid": "47ac2804-dd13-4e67-a551-f2af947a17a4",
"type": "sprite", "type": "sprite",
"wrapMode": "clamp", "wrapMode": "clamp",
"filterMode": "bilinear", "filterMode": "bilinear",
"premultiplyAlpha": false, "premultiplyAlpha": false,
"genMipmaps": false, "genMipmaps": false,
"packable": true, "packable": true,
"width": 366, "width": 2176,
"height": 336, "height": 1600,
"platformSettings": {}, "platformSettings": {},
"subMetas": { "subMetas": {
"1orange": { "bg": {
"ver": "1.0.4", "ver": "1.0.4",
"uuid": "43d1e79d-6de8-4dcb-b8ce-d767df7913aa", "uuid": "2163211c-9302-4166-893a-be24e4eda962",
"rawTextureUuid": "efa5fa09-a4dd-4bfc-ab7e-17c19f85408f", "rawTextureUuid": "47ac2804-dd13-4e67-a551-f2af947a17a4",
"trimType": "auto", "trimType": "auto",
"trimThreshold": 1, "trimThreshold": 1,
"rotated": false, "rotated": false,
"offsetX": 0, "offsetX": 0,
"offsetY": -0.5, "offsetY": 0,
"trimX": 0, "trimX": 0,
"trimY": 1, "trimY": 0,
"width": 366, "width": 2176,
"height": 335, "height": 1600,
"rawWidth": 366, "rawWidth": 2176,
"rawHeight": 336, "rawHeight": 1600,
"borderTop": 0, "borderTop": 0,
"borderBottom": 0, "borderBottom": 0,
"borderLeft": 0, "borderLeft": 0,
......
{
"ver": "1.1.0",
"uuid": "bdac295a-5671-4f2e-a096-d1f0cbe4355b",
"subMetas": {}
}
\ No newline at end of file
{ {
"ver": "2.3.5", "ver": "2.3.5",
"uuid": "d582359e-924e-4ee9-9964-1fc4bb417e71", "uuid": "206857ca-d877-4bb2-892b-9b2b6cd6e934",
"type": "sprite", "type": "sprite",
"wrapMode": "clamp", "wrapMode": "clamp",
"filterMode": "bilinear", "filterMode": "bilinear",
"premultiplyAlpha": false, "premultiplyAlpha": false,
"genMipmaps": false, "genMipmaps": false,
"packable": true, "packable": true,
"width": 61, "width": 184,
"height": 67, "height": 184,
"platformSettings": {}, "platformSettings": {},
"subMetas": { "subMetas": {
"btn_right": { "head_4": {
"ver": "1.0.4", "ver": "1.0.4",
"uuid": "e5a2dbaa-a677-4a32-90d7-a1b057d7fb59", "uuid": "846e4d5a-f87b-4a56-87ee-f007c80c9818",
"rawTextureUuid": "d582359e-924e-4ee9-9964-1fc4bb417e71", "rawTextureUuid": "206857ca-d877-4bb2-892b-9b2b6cd6e934",
"trimType": "auto", "trimType": "auto",
"trimThreshold": 1, "trimThreshold": 1,
"rotated": false, "rotated": false,
"offsetX": -0.5, "offsetX": 0,
"offsetY": 0.5, "offsetY": 0,
"trimX": 0, "trimX": 0,
"trimY": 0, "trimY": 0,
"width": 60, "width": 184,
"height": 66, "height": 184,
"rawWidth": 61, "rawWidth": 184,
"rawHeight": 67, "rawHeight": 184,
"borderTop": 0, "borderTop": 0,
"borderBottom": 0, "borderBottom": 0,
"borderLeft": 0, "borderLeft": 0,
......
{
"ver": "2.3.5",
"uuid": "30eca875-dbb3-4505-b41f-3f502fa4f3e7",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "point",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1568,
"height": 32,
"platformSettings": {},
"subMetas": {
"progress_bar": {
"ver": "1.0.4",
"uuid": "6359268b-7d99-407e-a7e4-2d29eaf0bc67",
"rawTextureUuid": "30eca875-dbb3-4505-b41f-3f502fa4f3e7",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1568,
"height": 32,
"rawWidth": 1568,
"rawHeight": 32,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "2614ae74-82b8-4165-b007-67734e1fab8e",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "point",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1578,
"height": 42,
"platformSettings": {},
"subMetas": {
"progress_bg": {
"ver": "1.0.4",
"uuid": "18994b29-1d03-4165-a3ec-a470e996e99a",
"rawTextureUuid": "2614ae74-82b8-4165-b007-67734e1fab8e",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1578,
"height": 42,
"rawWidth": 1578,
"rawHeight": 42,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "2c93c432-230b-45d4-816a-4701687c9f0d",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 95,
"height": 88,
"platformSettings": {},
"subMetas": {
"progress_dot": {
"ver": "1.0.4",
"uuid": "0c20d442-93df-4a35-aced-0c2b30f738dc",
"rawTextureUuid": "2c93c432-230b-45d4-816a-4701687c9f0d",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 95,
"height": 88,
"rawWidth": 95,
"rawHeight": 88,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "3377045c-74ca-4627-8df4-0c602930a041",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": true,
"genMipmaps": false,
"packable": true,
"width": 280,
"height": 280,
"platformSettings": {},
"subMetas": {
"tx_01": {
"ver": "1.0.4",
"uuid": "d1e76bbe-19cd-4b0f-b1e4-1dab0f15db1b",
"rawTextureUuid": "3377045c-74ca-4627-8df4-0c602930a041",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 280,
"height": 280,
"rawWidth": 280,
"rawHeight": 280,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "407949db-a810-44d7-ada9-9956e0feb5dd",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 258,
"height": 258,
"platformSettings": {},
"subMetas": {
"tx_01zw": {
"ver": "1.0.4",
"uuid": "89d07b3a-2999-49eb-9a7f-31addfa26717",
"rawTextureUuid": "407949db-a810-44d7-ada9-9956e0feb5dd",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 258,
"height": 258,
"rawWidth": 258,
"rawHeight": 258,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "c66a5e80-6f62-4db4-8b0e-dd54c24577da",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 388,
"height": 388,
"platformSettings": {},
"subMetas": {
"tx_xuanzhong": {
"ver": "1.0.4",
"uuid": "18e7b494-5f08-424a-bcc9-7c802668be83",
"rawTextureUuid": "c66a5e80-6f62-4db4-8b0e-dd54c24577da",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 388,
"height": 388,
"rawWidth": 388,
"rawHeight": 388,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "2cafa4b9-7926-4978-9a3c-0a94a63e6def",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
cc.Class({
extends: cc.Component,
properties: {
},
start () {
const BtnExit = cc.find('BtnFrame/BtnExit', this.node);
BtnExit.on('click', ()=>{
const middleLayer = cc.find('middleLayer');
cc.game.removePersistRootNode(middleLayer);
cc.director.getScene().destroy();
cc.audioEngine.stopAll();
if (window.courseware) {
window.courseware.freeAllOcMethod();
}
cc.director.loadScene("debug_shell", null, null, (err, scene) => {
});
});
const BtnPlayAgain = cc.find('BtnFrame/BtnPlayAgain', this.node);
BtnPlayAgain.on('click', ()=>{
const sceneName = cc.director.getScene().name;
cc.director.getScene().destroy();
cc.audioEngine.stopAll();
if (window.courseware) {
window.courseware.freeAllOcMethod();
}
cc.director.loadScene(sceneName, null, null, (err, scene) => {
});
});
},
});
{ {
"ver": "1.0.8", "ver": "1.0.8",
"uuid": "408a67f8-65fa-4cf1-8cf2-83e20e1a0fd5", "uuid": "b0f566a5-d2a1-4389-9c1c-92e315e3f71a",
"isPlugin": false, "isPlugin": false,
"loadPluginInWeb": true, "loadPluginInWeb": true,
"loadPluginInNative": true, "loadPluginInNative": true,
......
[
{
"__type__": "cc.Prefab",
"_name": "",
"_objFlags": 0,
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"asyncLoadAssets": false,
"readonly": false
},
{
"__type__": "cc.Node",
"_name": "PlayerOffLineLayer",
"_objFlags": 0,
"_parent": null,
"_children": [
{
"__id__": 2
},
{
"__id__": 7
}
],
"_active": false,
"_components": [
{
"__id__": 20
},
{
"__id__": 21
}
],
"_prefab": {
"__id__": 22
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 2176,
"height": 1600
},
"_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__": "cc.Node",
"_name": "bg",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 3
},
{
"__id__": 4
},
{
"__id__": 5
}
],
"_prefab": {
"__id__": 6
},
"_opacity": 100,
"_color": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 2176,
"height": 1600
},
"_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__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 2
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91"
},
"_type": 0,
"_sizeMode": 0,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 2
},
"_enabled": true,
"alignMode": 2,
"_target": null,
"_alignFlags": 45,
"_left": 0,
"_right": 0,
"_top": 0,
"_bottom": 0,
"_verticalCenter": 0,
"_horizontalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 100,
"_originalHeight": 100,
"_id": ""
},
{
"__type__": "cc.Button",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 2
},
"_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": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "1e11f1b1-8bd1-448d-92da-17f062444db3"
},
"fileId": "a2lcBX6axJcYgWizPAwXJQ",
"sync": false
},
{
"__type__": "cc.Node",
"_name": "BtnFrame",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [
{
"__id__": 8
},
{
"__id__": 13
}
],
"_active": true,
"_components": [
{
"__id__": 18
}
],
"_prefab": {
"__id__": 19
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 684,
"height": 244
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
2,
2,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": ""
},
{
"__type__": "cc.Node",
"_name": "BtnExit",
"_objFlags": 0,
"_parent": {
"__id__": 7
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 9
},
{
"__id__": 10
},
{
"__id__": 11
}
],
"_prefab": {
"__id__": 12
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 158,
"height": 60
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
150,
-50,
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__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 8
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "5ad5a040-45af-4787-b6ad-ef6d25814c6c"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 8
},
"_enabled": true,
"alignMode": 1,
"_target": null,
"_alignFlags": 16,
"_left": 0,
"_right": 0,
"_top": 0,
"_bottom": 0,
"_verticalCenter": 0,
"_horizontalCenter": 150,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 0,
"_originalHeight": 0,
"_id": ""
},
{
"__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": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "1e11f1b1-8bd1-448d-92da-17f062444db3"
},
"fileId": "2dFg2BRxNDIbzNQUJzInwD",
"sync": false
},
{
"__type__": "cc.Node",
"_name": "BtnPlayAgain",
"_objFlags": 0,
"_parent": {
"__id__": 7
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 14
},
{
"__id__": 15
},
{
"__id__": 16
}
],
"_prefab": {
"__id__": 17
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 158,
"height": 60
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
-150,
-50,
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__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 13
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "f5f86bc8-874a-4fd8-9dc9-e89b2f7420e6"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 13
},
"_enabled": true,
"alignMode": 1,
"_target": null,
"_alignFlags": 16,
"_left": 0,
"_right": 0,
"_top": 0,
"_bottom": 0,
"_verticalCenter": 0,
"_horizontalCenter": -150,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 0,
"_originalHeight": 0,
"_id": ""
},
{
"__type__": "cc.Button",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 13
},
"_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": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "1e11f1b1-8bd1-448d-92da-17f062444db3"
},
"fileId": "426YGeaQ1GSqxAl0es/FZ5",
"sync": false
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 7
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "4560a114-94c8-4372-ade2-c489c6e74bb7"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "1e11f1b1-8bd1-448d-92da-17f062444db3"
},
"fileId": "1bsWjap9JK84XN2hkYfXDb",
"sync": false
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 1
},
"_enabled": true,
"alignMode": 2,
"_target": null,
"_alignFlags": 45,
"_left": 0,
"_right": 0,
"_top": 0,
"_bottom": 0,
"_verticalCenter": 0,
"_horizontalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 0,
"_originalHeight": 0,
"_id": ""
},
{
"__type__": "b0f56al0qFDiZwckuMV4/ca",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 1
},
"_enabled": true,
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "1e11f1b1-8bd1-448d-92da-17f062444db3"
},
"fileId": "",
"sync": false
}
]
\ No newline at end of file
{
"ver": "1.2.9",
"uuid": "1e11f1b1-8bd1-448d-92da-17f062444db3",
"optimizationPolicy": "AUTO",
"asyncLoadAssets": false,
"readonly": false,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "75afd7d5-1552-4361-bbb6-acd728a170a9",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{ {
"ver": "2.3.5", "ver": "2.3.5",
"uuid": "9a79969a-0506-48d4-bc98-3c05d109b027", "uuid": "484a02bb-20eb-4a48-b440-c9b9c08bed96",
"type": "sprite", "type": "sprite",
"wrapMode": "clamp", "wrapMode": "clamp",
"filterMode": "bilinear", "filterMode": "bilinear",
"premultiplyAlpha": false, "premultiplyAlpha": false,
"genMipmaps": false, "genMipmaps": false,
"packable": true, "packable": true,
"width": 61, "width": 158,
"height": 67, "height": 60,
"platformSettings": {}, "platformSettings": {},
"subMetas": { "subMetas": {
"btn_left": { "BtnExit": {
"ver": "1.0.4", "ver": "1.0.4",
"uuid": "ce19457d-e8f3-4c38-ae3e-d4b99208ddb5", "uuid": "5ad5a040-45af-4787-b6ad-ef6d25814c6c",
"rawTextureUuid": "9a79969a-0506-48d4-bc98-3c05d109b027", "rawTextureUuid": "484a02bb-20eb-4a48-b440-c9b9c08bed96",
"trimType": "auto", "trimType": "auto",
"trimThreshold": 1, "trimThreshold": 1,
"rotated": false, "rotated": false,
...@@ -22,10 +22,10 @@ ...@@ -22,10 +22,10 @@
"offsetY": 0, "offsetY": 0,
"trimX": 0, "trimX": 0,
"trimY": 0, "trimY": 0,
"width": 61, "width": 158,
"height": 67, "height": 60,
"rawWidth": 61, "rawWidth": 158,
"rawHeight": 67, "rawHeight": 60,
"borderTop": 0, "borderTop": 0,
"borderBottom": 0, "borderBottom": 0,
"borderLeft": 0, "borderLeft": 0,
......
{
"ver": "2.3.5",
"uuid": "cb354f78-665c-443e-9893-e06d09b42cd4",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 684,
"height": 244,
"platformSettings": {},
"subMetas": {
"BtnFrame": {
"ver": "1.0.4",
"uuid": "4560a114-94c8-4372-ade2-c489c6e74bb7",
"rawTextureUuid": "cb354f78-665c-443e-9893-e06d09b42cd4",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 684,
"height": 244,
"rawWidth": 684,
"rawHeight": 244,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "90340e1e-6634-40aa-936d-a81f5968ffc0",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 158,
"height": 60,
"platformSettings": {},
"subMetas": {
"BtnPlayAgain": {
"ver": "1.0.4",
"uuid": "f5f86bc8-874a-4fd8-9dc9-e89b2f7420e6",
"rawTextureUuid": "90340e1e-6634-40aa-936d-a81f5968ffc0",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 158,
"height": 60,
"rawWidth": 158,
"rawHeight": 60,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
export class NetworkHelper {
_eventListeners: any = {};
ctor() {}
on(eventName, func) {
this._eventListeners[eventName] = func;
}
async init(roomType: string, maxPlayers: number) {
this.initRoom();
try {
return await this.joinRoom(roomType, maxPlayers);
} catch (e) {
await this.initListener();
this.initRoom();
return await this.joinRoom(roomType, maxPlayers);
}
}
async startGame() {
await this.startFrameSync();
await this.closeRoom();
}
async stopGame() {
await this.stopFrameSync();
await this.leaveRoom();
}
getRoomInfo() {
return this.room.roomInfo;
}
initListener() {
if (MGOBE.Player.id !== undefined) {
return;
}
return new Promise((resolve, reject) => {
const gameId = "obg-i4ql53h1"; //替换为控制台上的 游戏 ID
const secretKey = "060d81c7abaf24c8ce2afc5a725c152062676d35"; //替换为控制台上的 游戏 Key
const serverUrl = "i4ql53h1.wxlagame.com"; //替换为控制台上的 域名
const gameInfo = {
gameId: gameId,
openId: "openid_test" + Math.random(), //自定义的用户唯一ID
secretKey: secretKey,
};
const config = {
url: serverUrl,
reconnectMaxTimes: 5,
reconnectInterval: 1000,
resendInterval: 1000,
resendTimeout: 10000,
cacertNativeUrl: "",
};
MGOBE.DebuggerLog.enable = false;
// 如果是原生平台,则加载 Cert 证书,否则会提示 WSS 错误
if (cc.sys.isNative) {
let cacertFile;
const cacertNode = cc.find("cacertNode");
if (cacertNode) {
cacertFile = cacertNode.getComponent("cacert").cacertFile;
}
if (!cacertFile) {
this.log("没有cacertFile!!!");
}
config.cacertNativeUrl =
cc.loader.md5Pipe && cc.ENGINE_VERSION < "2.4.0"
? cc.loader.md5Pipe.transformURL(cacertFile.nativeUrl)
: cacertFile.nativeUrl;
}
MGOBE.Listener.init(gameInfo, config, (event) => {
this.log(JSON.stringify(event));
if (event.code !== 0) {
this.log("初始化失败: " + event.code);
reject();
return;
}
this.log("初始化成功");
resolve(null);
});
});
}
room: MGOBE.Room;
initRoom() {
this.room = new MGOBE.Room();
MGOBE.Listener.add(this.room);
this.room.onJoinRoom = this.onJoinRoom.bind(this);
this.room.onLeaveRoom = this.onLeaveRoom.bind(this);
this.room.onRecvFromClient = this.onRecvFromClient.bind(this);
this.room.onRecvFrame = this.onRecvFrame.bind(this);
this.room.onChangePlayerNetworkState =
this.onChangePlayerNetworkState.bind(this);
this.room.onStartFrameSync = this.onStartFrameSync.bind(this);
this.room.onStopFrameSync = this.onStopFrameSync.bind(this);
this.room.onRecvFromGameSvr = this.onRecvFromGameSvr.bind(this);
this.log("this.room = " + JSON.stringify(this.room.roomInfo));
}
joinRoom(roomType: string, maxPlayers: number, customData: string = "") {
return new Promise((resolve, reject) => {
const playerName = "Tom" + Math.random();
const playerInfo = {
name: playerName,
customPlayerStatus: 0,
customProfile: customData,
};
const matchRoomPara = {
playerInfo,
maxPlayers: maxPlayers,
roomType: roomType,
};
this.room.matchRoom(matchRoomPara, (event) => {
this.log(JSON.stringify(event));
if (event.code === 0) {
cc.log("匹配成功: " + event.data.roomInfo.id);
const player = event.data.roomInfo.playerList.find(
(player) => player.name == playerName
);
if (this.checkRoomOwnerOffLine()) {
if (this._eventListeners["playerOffLine"]) {
this._eventListeners["playerOffLine"](event);
}
cc.log("房主掉线了");
resolve(null);
return;
}
resolve(player.id);
} else {
cc.log("匹配失败");
reject(event);
}
});
});
}
leaveRoom() {
return new Promise((resolve, reject) => {
this.room.leaveRoom({}, (event) => {
this.log(JSON.stringify(event));
if (event.code === 0) {
this.log("退房成功" + this.room.roomInfo.id);
// this.room.initRoom();
resolve(null);
} else {
this.log("退房失败");
}
});
});
}
closeRoom() {
return new Promise((resolve, reject) => {
this.room.changeRoom({ isForbidJoin: true }, (event) => {
console.log("关门");
this.log(JSON.stringify(event));
resolve(null);
});
});
}
sendMessage() {
const sendToClientPara = {
recvType: MGOBE.ENUM.RecvType.ROOM_ALL,
recvPlayerList: [],
msg: "hello" + Math.random(),
};
this.room.sendToClient(sendToClientPara, (event) => console.log(event));
}
startFrameSync() {
return new Promise((resolve, reject) => {
this.room.startFrameSync({}, (event) => {
this.log(JSON.stringify(event));
if (event.code === 0) {
cc.log("开始帧同步成功,请到控制台查看具体帧同步信息");
resolve(null);
} else {
reject();
}
});
});
}
stopFrameSync() {
return new Promise((resolve, reject) => {
if (!this.room) {
resolve(null);
return;
}
this.room.stopFrameSync({}, (event) => {
this.log(JSON.stringify(event));
if (event.code === 0) {
this.log("停止帧同步成功");
resolve(null);
} else {
this.log("停止帧同步失败");
reject(event.code);
}
});
});
}
sendToServer() {
const sendToGameServerPara = {
data: {
cmd: 1,
},
};
this.room.sendToGameSvr(sendToGameServerPara, (event) =>
console.log(event)
);
}
sendFrame(data: any) {
this.room.sendFrame({ data }, (err) => {
if (err.code != 0) {
console.log("err", err);
}
});
}
onJoinRoom(event) {
if (this._eventListeners["playerJoin"]) {
this._eventListeners["playerJoin"](event);
}
console.log("新玩家加入", event.data.joinPlayerId);
}
onLeaveRoom(event) {
if (this._eventListeners["playerLeave"]) {
this._eventListeners["playerLeave"](event);
}
console.log("玩家退出", event.data.leavePlayerId);
}
onRecvFromClient() {}
checkRoomOwnerOffLine() {
const owner = this.room.roomInfo.playerList.find(
(player) => player.id == this.room.roomInfo.owner
);
return (
owner.commonNetworkState == MGOBE.types.NetworkState.COMMON_OFFLINE ||
owner.relayNetworkState == MGOBE.types.NetworkState.RELAY_OFFLINE
);
}
onChangePlayerNetworkState(event) {
console.log("玩家网络变化: " + JSON.stringify(event));
if (this.checkRoomOwnerOffLine()) {
if (this._eventListeners["playerOffLine"]) {
this._eventListeners["playerOffLine"](event);
}
cc.log("房主掉线了");
}
}
onRecvFrame(event) {
if (this._eventListeners["frameEvent"]) {
this._eventListeners["frameEvent"](event);
}
}
onStartFrameSync(event) {
if (this._eventListeners["gameStart"]) {
this._eventListeners["gameStart"](event);
}
}
onStopFrameSync(event) {}
onRecvFromGameSvr() {}
async onDestroy() {
try {
this.log("onDestroy1");
MGOBE.Listener.clear();
await this.stopGame();
this.log("onDestroy2");
} catch (e) {
this.log(JSON.stringify(e));
}
}
log(str) {
const node = cc.find("middleLayer");
if (node) {
node.getComponent("middleLayer").log(str);
} else {
cc.log(str);
}
}
}
{
"ver": "1.0.8",
"uuid": "e3a72981-f907-450f-a211-00c58009747a",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
{ {
"ver": "1.2.9", "ver": "1.2.9",
"uuid": "0737ce42-24f0-45c6-8e1a-8bdab4f74ba3", "uuid": "8a87399a-564e-43d5-86c1-e974e7ef4221",
"asyncLoadAssets": false, "asyncLoadAssets": false,
"autoReleaseAssets": true, "autoReleaseAssets": false,
"subMetas": {} "subMetas": {}
} }
\ No newline at end of file
import {
onHomeworkFinish,
randomSortByArr,
playDragonBoneAnimation,
asyncDelay,
RandomInt,
} from "../script/util";
import { defaultData } from "../script/defaultData";
import { GameServer } from "./server";
import { NetworkHelper } from "./NetworkHelper";
cc.Class({
extends: cc.Component,
properties: {
loadingLayerProfab: cc.Prefab,
},
// 生命周期 onLoad
onLoad() {
this._timeoutIds = [];
this._intervalIds = [];
this.initSceneData();
this.initSize();
},
_imageResList: null,
_audioResList: null,
_animaResList: null,
initSceneData() {
this._imageResList = [];
this._audioResList = [];
this._animaResList = [];
},
_designSize: null, // 设计分辨率
_frameSize: null, // 屏幕分辨率
_mapScaleMin: null, // 场景中常用缩放(取大值)
_mapScaleMax: null, // 场景中常用缩放(取小值)
_cocosScale: null, // cocos 自缩放 (较少用到)
initSize() {
// 注意cc.winSize只有在适配后(修改fitHeight/fitWidth后)才能获取到正确的值,因此使用cc.getFrameSize()来获取初始的屏幕大小
let screen_size =
cc.view.getFrameSize().width / cc.view.getFrameSize().height;
let design_size =
cc.Canvas.instance.designResolution.width /
cc.Canvas.instance.designResolution.height;
let f = screen_size >= design_size;
cc.Canvas.instance.fitHeight = f;
cc.Canvas.instance.fitWidth = !f;
const frameSize = cc.view.getFrameSize();
this._frameSize = frameSize;
this._designSize = cc.view.getDesignResolutionSize();
let sx = cc.winSize.width / frameSize.width;
let sy = cc.winSize.height / frameSize.height;
this._cocosScale = Math.min(sx, sy);
sx = frameSize.width / this._designSize.width;
sy = frameSize.height / this._designSize.height;
this._mapScaleMin = Math.min(sx, sy) * this._cocosScale;
this._mapScaleMax = Math.max(sx, sy) * this._cocosScale;
cc.director._scene.width = frameSize.width;
cc.director._scene.height = frameSize.height;
},
// 生命周期 start
start() {
let getData = this.getData.bind(this);
if (window && window.courseware) {
getData = window.courseware.getData;
}
getData((data, aspect) => {
this.log("data:" + JSON.stringify(data));
this.log("aspect:" + JSON.stringify(aspect));
this.aspect = aspect;
this.data = data || this.getDefaultData();
this.data = JSON.parse(JSON.stringify(this.data));
this.preloadItem();
});
},
getData(func) {
if (window && window.courseware) {
window.courseware.getData(func, "scene");
return;
}
const middleLayer = cc.find("middleLayer");
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent("middleLayer");
middleLayerComponent.getData(func);
return;
}
func(this.getDefaultData());
},
getDefaultData() {
return defaultData;
},
preloadItem() {
this.addPreloadImage();
this.addPreloadAudio();
this.addPreloadAnima();
this.preload();
},
addPreloadImage() {
this._imageResList.push(
...this.data.question_arr
.map((question) => {
return question.option_arr.map((option) => {
return option.pic_url;
});
})
.flat()
);
},
addPreloadAudio() {
this._audioResList.push(this.data.startLoadingAudio);
this._audioResList.push(this.data.startAudio);
this._audioResList.push(this.data.endAudio);
this._audioResList.push(...this.data.finishAudioList);
this._audioResList.push(
...this.data.question_arr
.map((question) => {
return question.option_arr.map((option) => {
return option.audio_url;
});
})
.flat()
);
this._audioResList.push(
...this.data.question_arr.map((question) => {
return question.question_audio_url;
})
);
this._audioResList.push(
...this.data.question_arr.map((question) => {
return question.audio_url;
})
);
},
addPreloadAnima() { },
preload() {
const preloadArr = [
...this._imageResList,
...this._audioResList,
...this._animaResList,
]
.filter((url) => {
return url;
})
.map((url) => {
return {
url: url.toLowerCase(),
};
});
this.log("preload");
cc.assetManager.loadAny(preloadArr, null, null, (err, data) => {
if (window && window["air"]) {
cc.find("Canvas").opacity = 0;
window.air.onCourseInScreen = (next) => {
cc.find("Canvas").opacity = 255;
this.log("loadEnd1");
this.loadEnd();
next();
};
window.air.hideAirClassLoading();
} else {
this.log("loadEnd2");
this.loadEnd();
}
cc.debug.setDisplayStats(false);
});
},
loadEnd() {
this.log("loadEnd");
this.initData();
this.initView();
this.initListener();
},
initData() {
this.status = {
currentQuestionIdx: 0,
wrongTime: 0,
};
},
async initView() {
const loadingLayerBase = cc.find("Canvas/bg/loadingLayerBase");
const loadingLayerNode = cc.instantiate(this.loadingLayerProfab);
loadingLayerBase.addChild(loadingLayerNode);
this.loadingLayer = loadingLayerNode.getComponent("LoadingLayer");
this.loadingLayer.setMaxPlayerNumber(5);
this.loadingLayer.onLoadFinished(() => {
this.refreshCoolCatPosition();
//TODO:copy
this.hideFlower();
this.coolCatSpeakStart(() => {
this.startCountTime();
this.jumpToQuestion(this.status.currentQuestionIdx);
});
});
this.coolCatSpeak(this.data.startLoadingAudio);
},
startCountTime() {
this._gameStartTime = new Date().getTime();
},
stopCountTime() {
const duration = new Date().getTime() - this._gameStartTime;
this.log("duration = " + (duration / 1000).toFixed(2));
this._gameDuration = duration;
},
refreshCoolCatPosition() { },
jumpToQuestion(questionIdx) {
const questionAudioUrl = this.data.question_arr[questionIdx].audio_url;
this.playAudioByUrl(questionAudioUrl);
const box = cc.find("Canvas/bg/box");
box.removeAllChildren();
const canvasWidth = cc.find("Canvas").width;
const canvasHeight = cc.find("Canvas").height;
const optionNum = this.data.question_arr[questionIdx].option_arr.length;
//TODO:copy---start
const maxOptionHeight = 400;
const maxOptionWidth = (canvasWidth * 0.8) / optionNum;
//TODO:copy---end
const arr = randomSortByArr(this.data.question_arr[questionIdx].option_arr);
arr.forEach(async (option, idx) => {
const optionNode = await this.createOption(option);
optionNode.name = `option_${idx}`;
optionNode.x = (idx - (arr.length - 1) / 2) * maxOptionWidth * 1.2 - box.x;//TODO:增加部分空隙1.2倍
optionNode.y = canvasHeight / 2 - box.y - 300;
optionNode.scale = 0;
optionNode.parent = box;
cc.tween(optionNode)
.to(0.1, {
scale: Math.min(
(maxOptionWidth * 0.8) / optionNode.width,
maxOptionHeight / optionNode.height
),
})
.start();
});
},
createOption(optionData) {
return new Promise((resolve, reject) => {
const optionNode = cc.instantiate(cc.find("option"));
this.loadSpriteByUrl(optionNode, optionData.pic_url, () => {
resolve(optionNode);
});
optionNode.optionData = optionData;
optionNode.optionData.selected = false;
const box = cc.find("Canvas/bg/box");
optionNode.on(cc.Node.EventType.TOUCH_START, (event) => {
if (optionNode.optionData.selected) {
return;
}
const location = event.getLocation();
optionNode.startLocation = location;
optionNode.startPos = {
x: optionNode.x,
y: optionNode.y,
};
const selectedNum = box.children.filter(
(child) => child.optionData.selected == true
).length;
optionNode.zIndex = selectedNum;
this.optionJump(optionNode);
this.playAudioByUrl(optionNode.optionData.audio_url);
});
optionNode.on(cc.Node.EventType.TOUCH_MOVE, (event) => {
if (optionNode.optionData.selected) {
return;
}
const location = event.getLocation();
optionNode.x =
optionNode.startPos.x + (location.x - optionNode.startLocation.x);
optionNode.y =
optionNode.startPos.y + (location.y - optionNode.startLocation.y);
});
optionNode.on(cc.Node.EventType.TOUCH_END, (event) => {
if (optionNode.optionData.selected) {
return;
}
const rectOption = optionNode.getBoundingBox();
if (!cc.Intersection.rectRect(box, rectOption)) {
cc.tween(optionNode)
.to(
0.05,
{
x: optionNode.startPos.x,
y: optionNode.startPos.y,
},
cc.easing.quadOut
)
.start();
this.playEffect("flyBack");
return;
}
cc.tween(optionNode)
.to(0.2, { x: 0, y: 100 }, cc.easing.quadOut)
.start();
this.boxJump();
optionNode.optionData.selected = true;
});
return optionNode;
});
},
optionJump(node, time = 0.1) {
if (node.baseScale) {
return;
}
node.baseScale = node.scaleX;
cc.tween(node)
.to(time, { scaleX: node.baseScale * 1.1, scaleY: node.baseScale * 1.1 })
.to(time, { scaleX: node.baseScale * 1, scaleY: node.baseScale * 1 })
.call(() => {
node.baseScale = null;
})
.start();
},
initListener() {
this.log("initListener");
const btnSubmit = cc.find("Canvas/bg/btnSubmit");
btnSubmit.on("click", () => {
this.optionJump(btnSubmit, 0.05);
this.playEffect("submit");
const box = cc.find("Canvas/bg/box");
if (
box.children.every(
(child) => child.optionData.selected == child.optionData.is_right
)
) {
this.onAnswerRight();
} else {
this.coolCatSpeakWrong(() => {
this.status.wrongTime++;
if (this.status.wrongTime < this.data.maxWrongNumber) {
this.onAnswerWrong();
} else {
this.onAnswerWrongTwice();
}
});
}
});
const btnNext = cc.find("Canvas/bg/btnNext");
btnNext.on("click", () => {
this.optionJump(btnNext, 0.05);
});
this.initNetworkListener();
},
server: null,
isRoomOwner: null,
playerId: null,
networkHelper: null,
async initNetworkListener() {
this.log("initNetworkListener");
this.networkHelper = new NetworkHelper();
this.networkHelper.on("playerJoin", (event) => {
if (this.server) {
this.server.onPlayerJoin(event);
}
cc.log("playerJoin" + JSON.stringify(event));
});
this.networkHelper.on("playerLeave", (event) => {
cc.log("playerLeave" + JSON.stringify(event));
});
this.networkHelper.on("playerOffLine", (event) => {
cc.log("playerOffLine" + JSON.stringify(event));
cc.find('Canvas/PlayerOffLineLayer').active = true;
this.networkHelper.leaveRoom();
});
this.networkHelper.on("gameStart", (event) => { });
this.networkHelper.on("frameEvent", (event) => {
event.data.frame.items.forEach((item) => {
if (item.data.type == "all_player_info") {
item.data.playerData.forEach((player) => {
if (!this.allPlayerList) {
this.allPlayerList = [];
}
if (
!this.allPlayerList.find(
(listPlayer) => listPlayer.uuid == player.uuid
)
) {
this.allPlayerList.push({
uuid: player.uuid,
name: player.name,
headUrl: player.headUrl,
});
}
this.loadingLayer.addPlayer(
player.name,
player.uuid == this.playerId,
player.headUrl,
player.uuid
);
});
} else if (item.data.type == "player_complete") {
this.log("player_complete");
const resultNode = cc.find("resultNode");
const resultLayer = resultNode.getComponent("resultLayer");
item.data.playerData.forEach((player) => {
if (player.complete) {
resultLayer.addPlayerResult(
player.headUrl,
player.uuid == this.playerId,
player.name,
player.duration,
player.uuid
);
}
});
} else if (item.data.type == "complete") {
if (this.server) {
this.server.onPlayerComplete(item.data.uuid, item.data.duration);
}
}
});
});
try {
this.log("喵喵喵1");
this.playerId = await this.networkHelper.init("op_09_plus", 5);
this.log("喵喵喵2");
const room = this.networkHelper.room;
if (this.playerId == room.roomInfo.owner) {
this.log("房主");
this.isRoomOwner = true;
this.server = new GameServer(5, this.networkHelper);
await this.networkHelper.startFrameSync();
this.server.addPlayer({
uuid: this.playerId,
isAI: false,
});
this.server.startMatch();
}
} catch (e) {
this.log(e.toString());
}
},
//TODO:copy---start
showFlower() {
const flower = cc.find('Canvas/bg/烟花_ske');
flower.active = true;
},
hideFlower() {
const flower = cc.find('Canvas/bg/烟花_ske');
flower.active = false;
},
//TODO:copy---end
onAnswerRight() {
//TODO:copy
this.showFlower();
this.coolCatSpeakRight(() => {
//TODO:copy
setTimeout(() => {
this.nextQuestion();
}, 1000);
});
},
onAnswerWrong() {
const box = cc.find("Canvas/bg/box");
box.children
.filter((child) => child.optionData.selected)
.forEach((child) => {
child.optionData.selected = false;
cc.tween(child)
.to(0.2, { x: child.startPos.x, y: child.startPos.y })
.start();
});
this.playEffect("flyBackAll");
},
onAnswerWrongTwice() {
this.status.currentQuestionIdx = this.data.question_arr.length;
this.nextQuestion();
this.playEffect("jumpAll");
},
nextQuestion() {
const box = cc.find("Canvas/bg/box");
box.children.forEach((child) => {
cc.tween(child).to(0.1, { scaleX: 0, scaleY: 0 }).removeSelf().start();
});
this.status.currentQuestionIdx++;
if (this.status.currentQuestionIdx < this.data.question_arr.length) {
this._timeoutIds.push(
setTimeout(() => {
this.jumpToQuestion(this.status.currentQuestionIdx);
}, 0.1 * 1000)
);
} else {
this.coolCatSpeakEnd(() => {
this.submitBtnMoveOut();
this.showNextBtn();
this.stopCountTime();
onHomeworkFinish();
this.showResultLayer();
this.sendServerData();
});
}
},
sendServerData() {
this.networkHelper.sendFrame({
type: "complete",
duration: this._gameDuration,
uuid: this.playerId,
});
},
showResultLayer() {
const resultNode = cc.find("resultNode");
resultNode.active = true;
const resultLayer = resultNode.getComponent("resultLayer");
resultLayer.setFinishAudioList(this.data.finishAudioList);
},
boxJump() {
const boxBehind = cc.find("Canvas/bg/box_behind");
const boxFront = cc.find("Canvas/bg/box_front");
this.playEffect("boxJump");
cc.tween(boxFront)
.to(0.1, { scaleX: 1.02, scaleY: 1.02 })
.to(0.1, { scaleX: 1.0, scaleY: 1.0 })
.start();
cc.tween(boxBehind)
.to(0.1, { scaleX: 1.02, scaleY: 1.02 })
.to(0.1, { scaleX: 1.0, scaleY: 1.0 })
.start();
},
submitBtnMoveOut() {
const submitBtn = cc.find("Canvas/bg/btnSubmit");
cc.tween(submitBtn).by(1, { y: -submitBtn.height }).start();
},
showNextBtn() {
const btnNext = cc.find("Canvas/bg/btnNext");
btnNext.active = true;
},
coolCatSpeak(url, cb) {
const cat = cc.find("Canvas/bg/catFrame/CoolCat");
playDragonBoneAnimation(cat, "begin", -1);
this.playAudioByUrl(url, () => {
playDragonBoneAnimation(cat, "normal", -1);
if (cb) {
cb();
}
});
},
coolCatSpeakStart(cb) {
const cat = cc.find("Canvas/bg/catFrame/CoolCat");
playDragonBoneAnimation(cat, "begin", -1);
this.playAudioByUrl(this.data.startAudio, () => {
playDragonBoneAnimation(cat, "normal", -1);
if (cb) {
cb();
}
});
},
coolCatSpeakRight(cb) {
const cat = cc.find("Canvas/bg/catFrame/CoolCat");
playDragonBoneAnimation(cat, "right", -1);
this.playEffect("CoolCatRight", () => {
playDragonBoneAnimation(cat, "normal", -1);
cb();
});
},
coolCatSpeakWrong(cb) {
const cat = cc.find("Canvas/bg/catFrame/CoolCat");
playDragonBoneAnimation(cat, "wrong", -1);
this.playEffect("CoolCatWrong", () => {
playDragonBoneAnimation(cat, "normal", -1);
if (cb) {
cb();
}
});
},
coolCatSpeakEnd(cb) {
const cat = cc.find("Canvas/bg/catFrame/CoolCat");
playDragonBoneAnimation(cat, "finish", -1);
this.playAudioByUrl(this.data.endAudio, () => {
playDragonBoneAnimation(cat, "normal", -1);
if (cb) {
cb();
}
});
},
// ------------------------------------------------
loadSpriteByUrl(node, url, cb) {
cc.loader.load(
{
url: url.toLowerCase(),
},
(err, img) => {
if (!node) {
cb && cb();
}
const spriteFrame = new cc.SpriteFrame(img);
const spr = node.getComponent(cc.Sprite);
spr.spriteFrame = spriteFrame;
if (cb) {
cb();
}
}
);
},
currentPlayedAudioId: null,
stopCurrentPlayedAudio() {
if (this.currentPlayedAudioId !== null) {
cc.audioEngine.stop(this.currentPlayedAudioId);
this.currentPlayedAudioId = null;
}
},
playEffect(name, cb) {
this.stopCurrentPlayedAudio();
const audioNode = cc.find(`audios/${name}`);
const audioClip = audioNode.getComponent(cc.AudioSource).clip;
const audioId = cc.audioEngine.play(audioClip, false, 0.8);
this.currentPlayedAudioId = audioId;
if (cb) {
cc.audioEngine.setFinishCallback(audioId, cb);
}
},
playAudioByUrl(audio_url, cb = null) {
if (!audio_url) {
if (cb) {
cb();
}
return;
}
this.stopCurrentPlayedAudio();
const url = audio_url.toLowerCase();
cc.assetManager.loadRemote(url, (err, audioClip) => {
const audioId = cc.audioEngine.play(audioClip, false, 0.8);
this.currentPlayedAudioId = audioId;
if (cb) {
cc.audioEngine.setFinishCallback(audioId, cb);
}
});
},
_timeoutIds: null,
_intervalIds: null,
// 生命周期
onDestroy() {
this._timeoutIds.forEach((id) => {
clearTimeout(id);
});
this._intervalIds.forEach((id) => {
clearInterval(id);
});
if (this.server) {
this.server.onDestroy();
}
this.networkHelper.onDestroy();
},
log(str) {
const node = cc.find("middleLayer");
if (node) {
node.getComponent("middleLayer").log(str);
} else {
cc.log(str);
}
},
// 生命周期
onDestroy() {
this.networkHelper.onDestroy();
},
});
{
"ver": "1.0.8",
"uuid": "badc4c0a-bc4e-4125-a4ac-81c4ade0526d",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
import { RandomInt } from "../script/util";
cc.Class({
extends: cc.Component,
properties: {
},
ctor() {
this._resultList = [];
this._maxPlayerNumber = 5;
},
setFinishAudioList(finishAudioList) {
this._finishAudioList = finishAudioList;
},
start() {
this.updateLabel('等待其他小伙伴中');
},
addPlayerResult(headUrl, isSelf, name, duration, uuid) {
if (this._resultList.find(player => player.uuid == uuid)) {
return;
}
this._resultList.push({ headUrl, isSelf, name, duration, uuid });
if (isSelf) {
this.showJiangTai();
}
this.updatePlayer();
if (isSelf) {
const idx = this._resultList.findIndex(result => result.isSelf == true);
if (idx != -1) {
this.playAudioByUrl(this._finishAudioList[idx]);
}
}
},
showLight() {
const fire = cc.find('jiangtaiNode/fire', this.node);
cc.tween(fire)
.set({ opacity: 200 })
.to(1, { opacity: 255, scale: 1.0 }, { easing: 'quadOut' })
.to(1, { opacity: 200, scale: 0.8 }, { easing: 'quadIn' })
.union()
.repeatForever()
.start();
const light = cc.find('jiangtaiNode/light', this.node);
cc.tween(light)
.by(4, { angle: 360 })
.repeatForever()
.start();
},
showJiangTai() {
const label = cc.find('label', this.node);
label.active = false;
const jiangtaiNode = cc.find('jiangtaiNode', this.node);
jiangtaiNode.active = true;
jiangtaiNode.zIndex = 1;
const catFrame = cc.find('catFrame', this.node);
catFrame.zIndex = 1;
this.showLight();
this.showStar();
this.updatePlayer();
},
showStar() {
for (let i = 0; i < 100; i++) {
const star = cc.instantiate(cc.find('star', this.node));
star.active = true;
star.parent = this.node;
const basePos = {
x: RandomInt(this.node.width / 2, -this.node.width / 2),
y: RandomInt(this.node.height / 2, -500)
};
cc.tween(star)
.to(0.5, { x: basePos.x, y: basePos.y }, { easing: 'quintIn' })
.start();
const rate = Math.random();
cc.tween(star)
.set({ scale: rate, opacity: parseInt(255 * rate) })
.to((1 - rate), { scale: 1, opacity: 255 })
.to(1, { scale: 0, opacity: 0 })
.delay(Math.random() * 3)
.to(rate, { scale: rate, opacity: parseInt(255 * rate) })
.union()
.repeatForever()
.start();
}
},
updatePlayer() {
this._resultList.sort((a, b) => {
return a.duration - b.duration;
});
this._resultList.forEach((player, idx) => {
const headNode = cc.find(`jiangtaiNode/head_${idx}`, this.node);
const headImg = cc.find(`mask/headImg`, headNode);
const name = cc.find(`name`, headNode);
const arrow = cc.find(`arrow`, headNode);
if (player.isSelf) {
arrow.active = true;
} else {
arrow.active = false;
}
name.getComponent(cc.Label).string = player.name;
this.loadSpriteByUrl(headImg, player.headUrl, () => {
const scale = Math.max(
headImg.parent.width / headImg.width,
headImg.parent.height / headImg.height
);
headImg.scale = scale;
if (!headNode.active) {
headNode.active = true;
cc.tween(headNode)
.set({ scale: 0 })
.to(0.2, { scale: 1 }, { easing: 'backOut' })
.start();
}
});
});
},
updateLabel(str) {
const label = cc.find('label', this.node).getComponent(cc.Label);
if (label.tweenAction) {
label.tweenAction.stop();
}
label.tweenAction = cc.tween(label)
.set({ string: `${str}` })
.delay(0.4)
.set({ string: `${str}.` })
.delay(0.4)
.set({ string: `${str}..` })
.delay(0.4)
.set({ string: `${str}...` })
.delay(0.4)
.union()
.repeatForever()
.start();
},
loadSpriteByUrl(node, url, cb) {
cc.loader.load({
url: url.toLowerCase()
}, (err, img) => {
if (!node) {
cb && cb();
}
const spriteFrame = new cc.SpriteFrame(img)
const spr = node.getComponent(cc.Sprite);
spr.spriteFrame = spriteFrame;
if (cb) {
cb();
}
});
},
playAudioByUrl(audio_url, cb = null) {
if (!audio_url) {
if (cb) {
cb();
}
return;
}
const url = audio_url
.toLowerCase();
cc.assetManager.loadRemote(url, (err, audioClip) => {
const audioId = cc.audioEngine.play(audioClip, false, 0.8);
if (cb) {
cc.audioEngine.setFinishCallback(audioId, cb);
}
});
},
});
{
"ver": "1.0.8",
"uuid": "a4bc6cba-f662-42e6-91cd-36632f88ac11",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
import { RandomInt } from "../script/util";
export class GameServer {
playerList = [];
playerMaxNumber = 0;
networkHelper = null;
nameList = [
'Chris', 'Benny', 'Leslie', 'Devin', 'Sam',
'Kerry', 'Joey', 'Hailey', 'Fred', 'Arrow',
'Tony', 'Michael',
];
headUrls = [
'http://staging-teach.cdn.ireadabc.com/0751c28419a0e8ffb1f0e84435b081ce.png',
'http://staging-teach.cdn.ireadabc.com/f596e586a31ac2813b1702557941c022.png',
'http://staging-teach.cdn.ireadabc.com/f0f396c52c42239913fd94523db979fa.png',
'http://staging-teach.cdn.ireadabc.com/9f2d2ef622fa33d4e2abcbdc4b40ab6a.png',
'http://staging-teach.cdn.ireadabc.com/f40ce4a8630039c4cf48a63fc1399c52.png'
];
constructor(playerMaxNumber, networkHelper) {
this.playerMaxNumber = playerMaxNumber;
this.networkHelper = networkHelper;
this._timeoutIds = [];
this._intervalIds = [];
this.headUrls = this.headUrls.sort((a, b) => RandomInt(2) - 1);
this.nameList = this.nameList.sort((a, b) => RandomInt(2) - 1);
this.networkHelper.startFrameSync();
}
addPlayer(player) {
this.playerList.push({
name: this.nameList.splice(0, 1)[0],
uuid: player.uuid,
isAI: player.isAI,
headUrl: this.headUrls.splice(0, 1)[0],
complete: false,
duration: null
});
if (this.playerList.length == this.playerMaxNumber) {
this.networkHelper.closeRoom();
this.startAIDuration();
}
this.networkHelper.sendFrame({
type: 'all_player_info',
playerData: this.playerList
});
}
onPlayerComplete(uuid: string, duration: number) {
const player = this.playerList.find(player => player.uuid == uuid);
player.complete = true;
player.duration = duration;
this.networkHelper.sendFrame({
type: 'player_complete',
playerData: this.playerList
});
}
onPlayerJoin(event) {
this.addPlayer({
uuid: event.data.joinPlayerId,
isAI: false
});
}
startMatch() {
for (let i = 0; i < this.playerMaxNumber; i++) {
this._timeoutIds.push(setTimeout(() => {
const count = this.playerMaxNumber - this.playerList.length;
if (count > 0) {
this.addPlayer({
uuid: 'ai_' + i,
isAI: true
});
}
}, RandomInt(10000, 15000)));
}
}
_timeoutIds = null;
_intervalIds = null;
// 生命周期
onDestroy() {
this._timeoutIds.forEach(id => {
clearTimeout(id);
});
this._intervalIds.forEach(id => {
clearInterval(id);
});
}
startAIDuration() {
this.playerList
.filter(player => player.isAI == true)
.forEach(player => {
const duration = RandomInt(15000, 20000);
this._timeoutIds.push(setTimeout(() => {
player.complete = true;
player.duration = duration;
this.networkHelper.sendFrame({
type: 'player_complete',
playerData: this.playerList
});
console.log(JSON.stringify(this.playerList));
}, duration + 3000));
});
}
}
\ No newline at end of file
{
"ver": "1.0.8",
"uuid": "c14083ff-05eb-40ee-8eae-2cadede6f0c5",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
export const defaultData = {
"maxWrongNumber": 4,
"question_arr": [{
"question_audio_url": "",
"option_arr": [{
"pic_url": "http://staging-teach.cdn.ireadabc.com/251667ae3d4921582392f6bc42bd2a96.png",
"audio_url": "http://staging-teach.cdn.ireadabc.com/f3eda5d3f2866c9fca772432d84563ed.mp3",
"is_right": false
},
{
"pic_url": "http://staging-teach.cdn.ireadabc.com/c6bfc85fcd5fd0640e216ed3da2a3886.png",
"audio_url": "http://staging-teach.cdn.ireadabc.com/6d038c728e2c83e4817c544432846f5a.mp3",
"is_right": false
},
{
"pic_url": "http://staging-teach.cdn.ireadabc.com/1d74d3c390aa740bc2c91537fcefed61.png",
"audio_url": "http://staging-teach.cdn.ireadabc.com/ddbe93d8bbe74dc0d2f5d8af70ea942a.mp3",
"is_right": true
},
{
"pic_url": "http://staging-teach.cdn.ireadabc.com/5aebe09b50932e725006a1a28741f3d4.png",
"audio_url": "http://staging-teach.cdn.ireadabc.com/ffdb9f038d5549c9deba6d3f92371e61.mp3",
"is_right": true
},
{
"pic_url": "http://staging-teach.cdn.ireadabc.com/48ecba3519b1d58a1fa434ae694fc831.png",
"audio_url": "http://staging-teach.cdn.ireadabc.com/07ceac383f7378b2467d61747554ec86.mp3",
"is_right": false
}],
"audio_url": "http://staging-teach.cdn.ireadabc.com/ddbe93d8bbe74dc0d2f5d8af70ea942a.mp3"
},
{
"question_audio_url": "",
"option_arr": [{
"pic_url": "http://staging-teach.cdn.ireadabc.com/5ba43828aef85c585743a0c898b43c42.png",
"audio_url": "http://staging-teach.cdn.ireadabc.com/9f6ff5d0617bf274ee2d9af4cfc93c62.mp3",
"is_right": true
},
{
"pic_url": "http://staging-teach.cdn.ireadabc.com/f0bcd7fa36f501fd16e5ea3b74d0eb57.png",
"audio_url": "http://staging-teach.cdn.ireadabc.com/95406df1ba11178599241300743ec2d7.mp3",
"is_right": true
},
{
"pic_url": "http://staging-teach.cdn.ireadabc.com/b1f05766a01d797c00839a5554c00050.png",
"audio_url": "http://staging-teach.cdn.ireadabc.com/353fc10d75bfd114a9fcf105b86092e3.mp3",
"is_right": false
},
{
"pic_url": "http://staging-teach.cdn.ireadabc.com/d69dee492fd35b3c066207c3fc8e3258.png",
"audio_url": "http://staging-teach.cdn.ireadabc.com/d99f49fcc1c920a20bfef0b16a17d594.mp3",
"is_right": false
},
{
"pic_url": "http://staging-teach.cdn.ireadabc.com/44464e706225cfe43e918bf1167a2ac1.png",
"audio_url": "http://staging-teach.cdn.ireadabc.com/5dcdfcd4ae196947723d014812f473ce.mp3",
"is_right": false
}],
"audio_url": "http://staging-teach.cdn.ireadabc.com/40468ef6d120d03f83541b9344c6f9ea.mp3"
}],
"startLoadingAudio": 'http://staging-teach.cdn.ireadabc.com/9cec313846bab63a27c2bc4bc46e67eb.mp3',
"startAudio": "http://staging-teach.cdn.ireadabc.com/9cec313846bab63a27c2bc4bc46e67eb.mp3",
"endAudio": "http://staging-teach.cdn.ireadabc.com/026d820c5fccbc3c6fe4bb7a71f4e356.mp3",
"finishAudioList": [
"http://staging-teach.cdn.ireadabc.com/026d820c5fccbc3c6fe4bb7a71f4e356.mp3",
"http://staging-teach.cdn.ireadabc.com/026d820c5fccbc3c6fe4bb7a71f4e356.mp3",
"http://staging-teach.cdn.ireadabc.com/026d820c5fccbc3c6fe4bb7a71f4e356.mp3",
"http://staging-teach.cdn.ireadabc.com/026d820c5fccbc3c6fe4bb7a71f4e356.mp3",
"http://staging-teach.cdn.ireadabc.com/026d820c5fccbc3c6fe4bb7a71f4e356.mp3",
]
}
\ No newline at end of file
...@@ -165,7 +165,7 @@ export function getSprNodeByUrl(url, cb) { ...@@ -165,7 +165,7 @@ export function getSprNodeByUrl(url, cb) {
export function playAudio(audioClip, cb = null) { export function playAudio(audioClip, cb = null) {
if (audioClip) { if (audioClip) {
const audioId = cc.audioEngine.playEffect(audioClip, false); const audioId = cc.audioEngine.playEffect(audioClip, false, 0.8);
if (cb) { if (cb) {
cc.audioEngine.setFinishCallback(audioId, () => { cc.audioEngine.setFinishCallback(audioId, () => {
cb(); cb();
...@@ -177,12 +177,9 @@ export function playAudio(audioClip, cb = null) { ...@@ -177,12 +177,9 @@ export function playAudio(audioClip, cb = null) {
export async function asyncDelay(time) { export async function asyncDelay(time) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
try { try {
cc.tween(cc.find('Canvas')) setTimeout(() => {
.delay(time) resolve();
.call(()=>{ }, time * 1000);
resolve(null);
})
.start();
} catch (e) { } catch (e) {
reject(e); reject(e);
} }
...@@ -299,7 +296,7 @@ export async function asyncTweenTo(node, duration, obj, ease = undefined) { ...@@ -299,7 +296,7 @@ export async function asyncTweenTo(node, duration, obj, ease = undefined) {
cc.tween(node) cc.tween(node)
.to(duration, obj, ease) .to(duration, obj, ease)
.call(() => { .call(() => {
resolve(null); resolve();
}) })
.start(); .start();
} catch (e) { } catch (e) {
...@@ -314,7 +311,7 @@ export async function asyncTweenBy(node, duration, obj, ease = undefined) { ...@@ -314,7 +311,7 @@ export async function asyncTweenBy(node, duration, obj, ease = undefined) {
cc.tween(node) cc.tween(node)
.by(duration, obj, ease) .by(duration, obj, ease)
.call(() => { .call(() => {
resolve(null); resolve();
}) })
.start(); .start();
} catch (e) { } catch (e) {
...@@ -354,4 +351,38 @@ export function onHomeworkFinish() { ...@@ -354,4 +351,38 @@ export function onHomeworkFinish() {
} else { } else {
console.log('onHomeworkFinish'); console.log('onHomeworkFinish');
} }
} }
\ No newline at end of file
export async function asyncPlayDragonBoneAnimation(node, animationName, time = 1, onFrameEvent = null) {
return new Promise((resolve, reject) => {
const armatureDisplay = node.getComponent(dragonBones.ArmatureDisplay);
armatureDisplay.timeScale = 1;
armatureDisplay.once(dragonBones.EventObject.COMPLETE, () => {
resolve();
});
armatureDisplay.on(dragonBones.EventObject.FRAME_EVENT, (event) => {
if (onFrameEvent) {
onFrameEvent(event);
}
});
armatureDisplay.playAnimation(animationName, time);
});
}
export function playDragonBoneAnimation(node, animationName, time = 1, onFinish = null, onFrameEvent = null) {
const armatureDisplay = node.getComponent(dragonBones.ArmatureDisplay);
armatureDisplay.timeScale = 1;
armatureDisplay.once(dragonBones.EventObject.COMPLETE, () => {
if (onFinish) {
onFinish();
}
});
armatureDisplay.on(dragonBones.EventObject.FRAME_EVENT, (event) => {
if (onFrameEvent) {
onFrameEvent(event);
}
});
armatureDisplay.playAnimation(animationName, time);
}
{
"ver": "2.3.5",
"uuid": "6c8e488b-9cdf-4d20-89c5-4d432d8a2e23",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 2176,
"height": 1074,
"platformSettings": {},
"subMetas": {
"bg_bg": {
"ver": "1.0.4",
"uuid": "95074812-ffd9-4326-9008-60a88279bd2e",
"rawTextureUuid": "6c8e488b-9cdf-4d20-89c5-4d432d8a2e23",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 2176,
"height": 1074,
"rawWidth": 2176,
"rawHeight": 1074,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "e5d8b6de-dae4-4605-9f8f-8584b745b7f2",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1244,
"height": 792,
"platformSettings": {},
"subMetas": {
"bg_box_behind": {
"ver": "1.0.4",
"uuid": "83ae63f9-5160-4995-af20-110757bb4d21",
"rawTextureUuid": "e5d8b6de-dae4-4605-9f8f-8584b745b7f2",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 1,
"offsetY": 189.5,
"trimX": 2,
"trimY": 0,
"width": 1242,
"height": 413,
"rawWidth": 1244,
"rawHeight": 792,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "66f6b898-e326-4bab-89e3-78997d049e47",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1244,
"height": 792,
"platformSettings": {},
"subMetas": {
"bg_box_front": {
"ver": "1.0.4",
"uuid": "2b44a5d3-fe98-49c2-9099-8400d48c17c9",
"rawTextureUuid": "66f6b898-e326-4bab-89e3-78997d049e47",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": -47,
"trimX": 0,
"trimY": 98,
"width": 1244,
"height": 690,
"rawWidth": 1244,
"rawHeight": 792,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "e5a3f41e-df6e-4314-9db7-0771939bb4d6",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 2176,
"height": 798,
"platformSettings": {},
"subMetas": {
"bg_deck": {
"ver": "1.0.4",
"uuid": "3d584bab-9dfe-4922-8dc7-821b4f063796",
"rawTextureUuid": "e5a3f41e-df6e-4314-9db7-0771939bb4d6",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 2176,
"height": 798,
"rawWidth": 2176,
"rawHeight": 798,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "e6d712f3-3bc6-4a7b-a140-9016e0628f67",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": true,
"genMipmaps": false,
"packable": true,
"width": 209,
"height": 146,
"platformSettings": {},
"subMetas": {
"btn_next": {
"ver": "1.0.4",
"uuid": "e666ed9c-0ebf-4802-8d58-7473ddde1634",
"rawTextureUuid": "e6d712f3-3bc6-4a7b-a140-9016e0628f67",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 1,
"trimY": 1,
"width": 207,
"height": 144,
"rawWidth": 209,
"rawHeight": 146,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{ {
"ver": "2.3.5", "ver": "2.3.5",
"uuid": "18d07592-51a9-421e-8972-0f67b68d29e1", "uuid": "552ce11c-0f7d-4146-8c78-23fc7cd917cb",
"type": "sprite", "type": "sprite",
"wrapMode": "clamp", "wrapMode": "clamp",
"filterMode": "bilinear", "filterMode": "bilinear",
"premultiplyAlpha": false, "premultiplyAlpha": false,
"genMipmaps": false, "genMipmaps": false,
"packable": true, "packable": true,
"width": 144, "width": 171,
"height": 144, "height": 146,
"platformSettings": {}, "platformSettings": {},
"subMetas": { "subMetas": {
"icon": { "btn_return": {
"ver": "1.0.4", "ver": "1.0.4",
"uuid": "6fbc30a8-3c49-44ae-8ba4-7f56f385b78a", "uuid": "70f3d2ee-ca1d-49fd-84dd-3cdc8164fba0",
"rawTextureUuid": "18d07592-51a9-421e-8972-0f67b68d29e1", "rawTextureUuid": "552ce11c-0f7d-4146-8c78-23fc7cd917cb",
"trimType": "auto", "trimType": "auto",
"trimThreshold": 1, "trimThreshold": 1,
"rotated": false, "rotated": false,
"offsetX": 0, "offsetX": 0,
"offsetY": -0.5, "offsetY": 0,
"trimX": 3, "trimX": 1,
"trimY": 2, "trimY": 1,
"width": 138, "width": 169,
"height": 141, "height": 144,
"rawWidth": 144, "rawWidth": 171,
"rawHeight": 144, "rawHeight": 146,
"borderTop": 0, "borderTop": 0,
"borderBottom": 0, "borderBottom": 0,
"borderLeft": 0, "borderLeft": 0,
......
{
"ver": "2.3.5",
"uuid": "52a666fa-b2b9-41a0-8254-1ff8ef313a43",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": true,
"genMipmaps": false,
"packable": true,
"width": 244,
"height": 232,
"platformSettings": {},
"subMetas": {
"btn_submit": {
"ver": "1.0.4",
"uuid": "b9d7ec09-fa5f-4f90-be2c-e8d035b0f74d",
"rawTextureUuid": "52a666fa-b2b9-41a0-8254-1ff8ef313a43",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 244,
"height": 232,
"rawWidth": 244,
"rawHeight": 232,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "de942899-3b26-4895-b811-f7c71942abc2",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{ {
"ver": "2.3.5", "ver": "2.3.5",
"uuid": "e1b4d971-9876-4832-803a-5a321964a78b", "uuid": "72c80654-1372-4928-9ee4-77d515f8921d",
"type": "sprite", "type": "sprite",
"wrapMode": "clamp", "wrapMode": "clamp",
"filterMode": "bilinear", "filterMode": "bilinear",
...@@ -11,10 +11,10 @@ ...@@ -11,10 +11,10 @@
"height": 720, "height": 720,
"platformSettings": {}, "platformSettings": {},
"subMetas": { "subMetas": {
"bg": { "bg_bg": {
"ver": "1.0.4", "ver": "1.0.4",
"uuid": "8288e3d4-4c75-4b27-8f01-f7014417f4dd", "uuid": "280d2e77-9498-4021-9be3-b6dd95f6e215",
"rawTextureUuid": "e1b4d971-9876-4832-803a-5a321964a78b", "rawTextureUuid": "72c80654-1372-4928-9ee4-77d515f8921d",
"trimType": "auto", "trimType": "auto",
"trimThreshold": 1, "trimThreshold": 1,
"rotated": false, "rotated": false,
......
{
"ver": "2.3.5",
"uuid": "39ae964c-4cd6-4bd6-9d02-dd8bb71e94f5",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 386,
"height": 296,
"platformSettings": {},
"subMetas": {
"bg_box_behind": {
"ver": "1.0.4",
"uuid": "0576b5b0-66ad-42e3-9973-f93bee1ff263",
"rawTextureUuid": "39ae964c-4cd6-4bd6-9d02-dd8bb71e94f5",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 386,
"height": 296,
"rawWidth": 386,
"rawHeight": 296,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "53514cd9-3005-4899-9b54-cfdc67af8558",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 386,
"height": 296,
"platformSettings": {},
"subMetas": {
"bg_box_front": {
"ver": "1.0.4",
"uuid": "a0b15474-fd76-4cd5-b737-c0dfc4f5d8cc",
"rawTextureUuid": "53514cd9-3005-4899-9b54-cfdc67af8558",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": -19,
"trimX": 0,
"trimY": 38,
"width": 386,
"height": 258,
"rawWidth": 386,
"rawHeight": 296,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "d25ad18c-c4b7-498e-a531-4cbf51112411",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1280,
"height": 181,
"platformSettings": {},
"subMetas": {
"bg_deck": {
"ver": "1.0.4",
"uuid": "3b49358d-0e1e-4977-9c75-2e19931a4d72",
"rawTextureUuid": "d25ad18c-c4b7-498e-a531-4cbf51112411",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"height": 181,
"rawWidth": 1280,
"rawHeight": 181,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "38ea309a-9940-443f-a078-ee7311fe55f8",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 156,
"height": 349,
"platformSettings": {},
"subMetas": {
"bg_left": {
"ver": "1.0.4",
"uuid": "f0dbf02f-e80b-46ed-ad4d-3c1f62a1dabd",
"rawTextureUuid": "38ea309a-9940-443f-a078-ee7311fe55f8",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 156,
"height": 349,
"rawWidth": 156,
"rawHeight": 349,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "12966e70-8f04-41a5-9d24-fed2ea3cba24",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 304,
"height": 679,
"platformSettings": {},
"subMetas": {
"bg_right": {
"ver": "1.0.4",
"uuid": "e9a52313-5e4d-419a-b97b-0938c9ed7c7b",
"rawTextureUuid": "12966e70-8f04-41a5-9d24-fed2ea3cba24",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 304,
"height": 679,
"rawWidth": 304,
"rawHeight": 679,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "b30398ea-23b9-4df0-95fa-2fba348a8b92",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1280,
"height": 79,
"platformSettings": {},
"subMetas": {
"bg_top": {
"ver": "1.0.4",
"uuid": "20836821-567f-4627-9e00-baf2069ca5a3",
"rawTextureUuid": "b30398ea-23b9-4df0-95fa-2fba348a8b92",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"height": 79,
"rawWidth": 1280,
"rawHeight": 79,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "9a60a2e8-23f0-4dfd-a3d5-1dbc74ac9bcd",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "93b7928b-9588-4786-989f-d6295307bd95",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 147,
"height": 135,
"platformSettings": {},
"subMetas": {
"arrow": {
"ver": "1.0.4",
"uuid": "b0287da3-862c-4e47-beb8-dff0feaa288d",
"rawTextureUuid": "93b7928b-9588-4786-989f-d6295307bd95",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 147,
"height": 135,
"rawWidth": 147,
"rawHeight": 135,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "c0ae5a81-8eed-4024-bf49-3f7445f7516e",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 416,
"height": 416,
"platformSettings": {},
"subMetas": {
"head_0": {
"ver": "1.0.4",
"uuid": "e325dc7f-ad92-4187-bdf6-86bc14b75dea",
"rawTextureUuid": "c0ae5a81-8eed-4024-bf49-3f7445f7516e",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 416,
"height": 416,
"rawWidth": 416,
"rawHeight": 416,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "b23b4da3-96ce-4b20-9375-5b3a5a485146",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 416,
"height": 416,
"platformSettings": {},
"subMetas": {
"head_1": {
"ver": "1.0.4",
"uuid": "a974aa59-094b-4458-99a8-8e3fd757d1cd",
"rawTextureUuid": "b23b4da3-96ce-4b20-9375-5b3a5a485146",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 416,
"height": 416,
"rawWidth": 416,
"rawHeight": 416,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "48b7512e-25b8-47d0-ad19-3f3a2c21296c",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 416,
"height": 416,
"platformSettings": {},
"subMetas": {
"head_2": {
"ver": "1.0.4",
"uuid": "00d08897-ee1b-471b-914a-82d17405da68",
"rawTextureUuid": "48b7512e-25b8-47d0-ad19-3f3a2c21296c",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 416,
"height": 416,
"rawWidth": 416,
"rawHeight": 416,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "4f63c643-cd97-4049-8d81-ed98ceaa5267",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 200,
"height": 200,
"platformSettings": {},
"subMetas": {
"head_3": {
"ver": "1.0.4",
"uuid": "9bb9586f-6d21-4aae-95c0-fb7168d1e78e",
"rawTextureUuid": "4f63c643-cd97-4049-8d81-ed98ceaa5267",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 200,
"height": 200,
"rawWidth": 200,
"rawHeight": 200,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "1ef83556-701c-452c-abca-cf8ea6c1b1d2",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1731,
"height": 585,
"platformSettings": {},
"subMetas": {
"jiangtai": {
"ver": "1.0.4",
"uuid": "4bf8b80a-06e3-4d83-93c2-70701cca3545",
"rawTextureUuid": "1ef83556-701c-452c-abca-cf8ea6c1b1d2",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1731,
"height": 585,
"rawWidth": 1731,
"rawHeight": 585,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "1c9a02f0-c081-42b1-ab6b-90d3527ceba1",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1511,
"height": 1495,
"platformSettings": {},
"subMetas": {
"lj_guangxiao01": {
"ver": "1.0.4",
"uuid": "49544b13-6bda-4f46-bb89-8e33b4c7cda9",
"rawTextureUuid": "1c9a02f0-c081-42b1-ab6b-90d3527ceba1",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1511,
"height": 1495,
"rawWidth": 1511,
"rawHeight": 1495,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "b46b2bf5-5b64-4afc-8cc9-401794e06a42",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1270,
"height": 987,
"platformSettings": {},
"subMetas": {
"lj_guangxiao02": {
"ver": "1.0.4",
"uuid": "51c4369b-03e5-4d65-ad96-559f264d380f",
"rawTextureUuid": "b46b2bf5-5b64-4afc-8cc9-401794e06a42",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1270,
"height": 987,
"rawWidth": 1270,
"rawHeight": 987,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "b60276fb-8b6c-4ff6-8964-39850f2e6c7b",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 184,
"height": 184,
"platformSettings": {},
"subMetas": {
"lj_tx_zw": {
"ver": "1.0.4",
"uuid": "4691c890-4524-41c9-9256-fed03ce1d7cd",
"rawTextureUuid": "b60276fb-8b6c-4ff6-8964-39850f2e6c7b",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 184,
"height": 184,
"rawWidth": 184,
"rawHeight": 184,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "88ced7bf-98a1-4e76-a0a1-c36c5eafeef3",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 174,
"height": 169,
"platformSettings": {},
"subMetas": {
"star": {
"ver": "1.0.4",
"uuid": "cfe4d76e-8750-43c5-83ed-ad18f8d84553",
"rawTextureUuid": "88ced7bf-98a1-4e76-a0a1-c36c5eafeef3",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 174,
"height": 169,
"rawWidth": 174,
"rawHeight": 169,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "8c310b2c-6a4b-4dc5-a4cd-aa051e9b91fa",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1104,
"height": 1042,
"platformSettings": {},
"subMetas": {
"texiao_01": {
"ver": "1.0.4",
"uuid": "200a1cd6-267a-43f4-845e-e6b645050e47",
"rawTextureUuid": "8c310b2c-6a4b-4dc5-a4cd-aa051e9b91fa",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1104,
"height": 1042,
"rawWidth": 1104,
"rawHeight": 1042,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
import { asyncDelay, onHomeworkFinish } from "../script/util";
import { MyCocosSceneComponent } from "../script/MyCocosSceneComponent";
const { ccclass, property } = cc._decorator;
@ccclass
export default class SceneComponent extends MyCocosSceneComponent {
addPreloadImage() {
// TODO 根据自己的配置预加载图片资源
this._imageResList.push({ url: this.data.pic_url });
this._imageResList.push({ url: this.data.pic_url_2 });
}
addPreloadAudio() {
// TODO 根据自己的配置预加载音频资源
this._audioResList.push({ url: this.data.audio_url });
}
addPreloadAnima() {
}
onLoadEnd() {
// TODO 加载完成后的逻辑写在这里, 下面的代码仅供参考
this.initData();
this.initView();
this.initListener();
}
_cantouch = null;
initData() {
// 所有全局变量 默认都是null
this._cantouch = true;
}
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();
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) {},
initListener() {
}
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);
});
})
}
}
import { defaultData } from "../script/defaultData";
export class MyCocosSceneComponent extends cc.Component {
// 生命周期 onLoad
onLoad() {
this.initSceneData();
this.initSize();
}
_imageResList = null;
_audioResList = null;
_animaResList = null;
initSceneData() {
this._imageResList = [];
this._audioResList = [];
this._animaResList = [];
}
_designSize = null; // 设计分辨率
_frameSize = null; // 屏幕分辨率
_mapScaleMin = null; // 场景中常用缩放(取大值)
_mapScaleMax = null; // 场景中常用缩放(取小值)
_cocosScale = null; // cocos 自缩放 (较少用到)
initSize() {
// 注意cc.winSize只有在适配后(修改fitHeight/fitWidth后)才能获取到正确的值,因此使用cc.getFrameSize()来获取初始的屏幕大小
let screen_size = cc.view.getFrameSize().width / cc.view.getFrameSize().height
let design_size = cc.Canvas.instance.designResolution.width / cc.Canvas.instance.designResolution.height
let f = screen_size >= design_size
cc.Canvas.instance.fitHeight = f
cc.Canvas.instance.fitWidth = !f
const frameSize = cc.view.getFrameSize();
this._frameSize = frameSize;
this._designSize = cc.view.getDesignResolutionSize();
let sx = cc.winSize.width / frameSize.width;
let sy = cc.winSize.height / frameSize.height;
this._cocosScale = Math.min(sx, sy);
sx = frameSize.width / this._designSize.width;
sy = frameSize.height / this._designSize.height;
this._mapScaleMin = Math.min(sx, sy) * this._cocosScale;
this._mapScaleMax = Math.max(sx, sy) * this._cocosScale;
cc.director['_scene'].width = frameSize.width;
cc.director['_scene'].height = frameSize.height;
}
data = null;
// 生命周期 start
start() {
if (window && (<any>window).courseware && (<any>window).courseware.getData) {
(<any>window).courseware.getData((data) => {
this.log('data:' + data);
this.data = data || this.getDefaultData();
this.data = JSON.parse(JSON.stringify(this.data));
this.preloadItem();
})
} else {
this.data = this.getDefaultData();
this.preloadItem();
}
}
getDefaultData() {
return defaultData;
}
preloadItem() {
this.addPreloadImage();
this.addPreloadAudio();
this.addPreloadAnima();
this.preload();
}
addPreloadImage() {
}
addPreloadAudio() {
}
addPreloadAnima() {
}
preload() {
const preloadArr = this._imageResList.concat(this._audioResList).concat(this._animaResList);
cc.assetManager.loadAny(preloadArr, null, null, (err, data) => {
if (window && window["air"]) {
// window["air"].onCourseInScreen = (next) => {
// window["air"].isCourseInScreen = true;
// this.onLoadEnd();
// next();
// };
this.onLoadEnd();
window["air"].hideAirClassLoading();
} else {
this.onLoadEnd();
}
cc.debug.setDisplayStats(false);
});
}
log (str) {
const node = cc.find('middleLayer');
if(node){
node.getComponent('middleLayer').log(str);
}else{
cc.log(str);
}
}
onLoadEnd() {
}
// ------------------------------------------------
getSprNode(resName) {
const sf = cc.find('Canvas/res/img/' + resName).getComponent(cc.Sprite).spriteFrame;
const node = new cc.Node();
node.addComponent(cc.Sprite).spriteFrame = sf;
return node;
}
getSpriteFrimeByUrl(url, cb) {
cc.loader.load({ url }, (err, img) => {
const spriteFrame = new cc.SpriteFrame(img)
if (cb) {
cb(spriteFrame);
}
})
}
getSprNodeByUrl(url, cb) {
const node = new cc.Node();
const spr = node.addComponent(cc.Sprite);
this.getSpriteFrimeByUrl(url, (sf) => {
spr.spriteFrame = sf;
if (cb) {
cb(node);
}
})
}
playAudioByUrl(audio_url, cb = null) {
if (audio_url) {
cc.assetManager.loadRemote(audio_url, (err, audioClip) => {
const audioId = cc.audioEngine.play(audioClip, false, 0.8);
if (cb) {
cc.audioEngine.setFinishCallback(audioId, () => {
cb();
});
}
});
}else{
cb && cb();
}
}
}
\ No newline at end of file
export const defaultData = {
"pic_url": "http://staging-teach.cdn.ireadabc.com/ed94332a503c31e0908bd4c6923a2665.png",
"pic_url_2": "http://staging-teach.cdn.ireadabc.com/5fb60317ade0195d35ad8034d5370a7f.png",
"text": "This is a test label.",
"audio_url": "http://staging-teach.cdn.ireadabc.com/f47f1d7b5c160fe1c59500d180346240.mp3"
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
define("ace/ext/menu_tools/overlay_page",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../../lib/dom"),i="#ace_settingsmenu, #kbshortcutmenu {background-color: #F7F7F7;color: black;box-shadow: -5px 4px 5px rgba(126, 126, 126, 0.55);padding: 1em 0.5em 2em 1em;overflow: auto;position: absolute;margin: 0;bottom: 0;right: 0;top: 0;z-index: 9991;cursor: default;}.ace_dark #ace_settingsmenu, .ace_dark #kbshortcutmenu {box-shadow: -20px 10px 25px rgba(126, 126, 126, 0.25);background-color: rgba(255, 255, 255, 0.6);color: black;}.ace_optionsMenuEntry:hover {background-color: rgba(100, 100, 100, 0.1);transition: all 0.3s}.ace_closeButton {background: rgba(245, 146, 146, 0.5);border: 1px solid #F48A8A;border-radius: 50%;padding: 7px;position: absolute;right: -8px;top: -8px;z-index: 100000;}.ace_closeButton{background: rgba(245, 146, 146, 0.9);}.ace_optionsMenuKey {color: darkslateblue;font-weight: bold;}.ace_optionsMenuCommand {color: darkcyan;font-weight: normal;}.ace_optionsMenuEntry input, .ace_optionsMenuEntry button {vertical-align: middle;}.ace_optionsMenuEntry button[ace_selected_button=true] {background: #e7e7e7;box-shadow: 1px 0px 2px 0px #adadad inset;border-color: #adadad;}.ace_optionsMenuEntry button {background: white;border: 1px solid lightgray;margin: 0px;}.ace_optionsMenuEntry button:hover{background: #f0f0f0;}";r.importCssString(i,"settings_menu.css",!1),n.exports.overlayPage=function(t,n,r){function o(e){e.keyCode===27&&u()}function u(){if(!i)return;document.removeEventListener("keydown",o),i.parentNode.removeChild(i),t&&t.focus(),i=null,r&&r()}function a(e){s=e,e&&(i.style.pointerEvents="none",n.style.pointerEvents="auto")}var i=document.createElement("div"),s=!1;return i.style.cssText="margin: 0; padding: 0; position: fixed; top:0; bottom:0; left:0; right:0;z-index: 9990; "+(t?"background-color: rgba(0, 0, 0, 0.3);":""),i.addEventListener("click",function(e){s||u()}),document.addEventListener("keydown",o),n.addEventListener("click",function(e){e.stopPropagation()}),i.appendChild(n),document.body.appendChild(i),t&&t.blur(),{close:u,setIgnoreFocusOut:a}}}),define("ace/ext/modelist",["require","exports","module"],function(e,t,n){"use strict";function i(e){var t=a.text,n=e.split(/[\/\\]/).pop();for(var i=0;i<r.length;i++)if(r[i].supportsFile(n)){t=r[i];break}return t}var r=[],s=function(e,t,n){this.name=e,this.caption=t,this.mode="ace/mode/"+e,this.extensions=n;var r;/\^/.test(n)?r=n.replace(/\|(\^)?/g,function(e,t){return"$|"+(t?"^":"^.*\\.")})+"$":r="^.*\\.("+n+")$",this.extRe=new RegExp(r,"gi")};s.prototype.supportsFile=function(e){return e.match(this.extRe)};var o={ABAP:["abap"],ABC:["abc"],ActionScript:["as"],ADA:["ada|adb"],Alda:["alda"],Apache_Conf:["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],Apex:["apex|cls|trigger|tgr"],AQL:["aql"],AsciiDoc:["asciidoc|adoc"],ASL:["dsl|asl|asl.json"],Assembly_x86:["asm|a"],AutoHotKey:["ahk"],BatchFile:["bat|cmd"],C_Cpp:["cpp|c|cc|cxx|h|hh|hpp|ino"],C9Search:["c9search_results"],Cirru:["cirru|cr"],Clojure:["clj|cljs"],Cobol:["CBL|COB"],coffee:["coffee|cf|cson|^Cakefile"],ColdFusion:["cfm"],Crystal:["cr"],CSharp:["cs"],Csound_Document:["csd"],Csound_Orchestra:["orc"],Csound_Score:["sco"],CSS:["css"],Curly:["curly"],D:["d|di"],Dart:["dart"],Diff:["diff|patch"],Dockerfile:["^Dockerfile"],Dot:["dot"],Drools:["drl"],Edifact:["edi"],Eiffel:["e|ge"],EJS:["ejs"],Elixir:["ex|exs"],Elm:["elm"],Erlang:["erl|hrl"],Forth:["frt|fs|ldr|fth|4th"],Fortran:["f|f90"],FSharp:["fsi|fs|ml|mli|fsx|fsscript"],FSL:["fsl"],FTL:["ftl"],Gcode:["gcode"],Gherkin:["feature"],Gitignore:["^.gitignore"],Glsl:["glsl|frag|vert"],Gobstones:["gbs"],golang:["go"],GraphQLSchema:["gql"],Groovy:["groovy"],HAML:["haml"],Handlebars:["hbs|handlebars|tpl|mustache"],Haskell:["hs"],Haskell_Cabal:["cabal"],haXe:["hx"],Hjson:["hjson"],HTML:["html|htm|xhtml|vue|we|wpy"],HTML_Elixir:["eex|html.eex"],HTML_Ruby:["erb|rhtml|html.erb"],INI:["ini|conf|cfg|prefs"],Io:["io"],Jack:["jack"],Jade:["jade|pug"],Java:["java"],JavaScript:["js|jsm|jsx"],JSON:["json"],JSON5:["json5"],JSONiq:["jq"],JSP:["jsp"],JSSM:["jssm|jssm_state"],JSX:["jsx"],Julia:["jl"],Kotlin:["kt|kts"],LaTeX:["tex|latex|ltx|bib"],Latte:["latte"],LESS:["less"],Liquid:["liquid"],Lisp:["lisp"],LiveScript:["ls"],LogiQL:["logic|lql"],LSL:["lsl"],Lua:["lua"],LuaPage:["lp"],Lucene:["lucene"],Makefile:["^Makefile|^GNUmakefile|^makefile|^OCamlMakefile|make"],Markdown:["md|markdown"],Mask:["mask"],MATLAB:["matlab"],Maze:["mz"],MediaWiki:["wiki|mediawiki"],MEL:["mel"],MIPS:["s|asm"],MIXAL:["mixal"],MUSHCode:["mc|mush"],MySQL:["mysql"],Nginx:["nginx|conf"],Nim:["nim"],Nix:["nix"],NSIS:["nsi|nsh"],Nunjucks:["nunjucks|nunjs|nj|njk"],ObjectiveC:["m|mm"],OCaml:["ml|mli"],Pascal:["pas|p"],Perl:["pl|pm"],pgSQL:["pgsql"],PHP:["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],PHP_Laravel_blade:["blade.php"],Pig:["pig"],Powershell:["ps1"],Praat:["praat|praatscript|psc|proc"],Prisma:["prisma"],Prolog:["plg|prolog"],Properties:["properties"],Protobuf:["proto"],Puppet:["epp|pp"],Python:["py"],QML:["qml"],R:["r"],Raku:["raku|rakumod|rakutest|p6|pl6|pm6"],Razor:["cshtml|asp"],RDoc:["Rd"],Red:["red|reds"],RHTML:["Rhtml"],RST:["rst"],Ruby:["rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile"],Rust:["rs"],SASS:["sass"],SCAD:["scad"],Scala:["scala|sbt"],Scheme:["scm|sm|rkt|oak|scheme"],Scrypt:["scrypt"],SCSS:["scss"],SH:["sh|bash|^.bashrc"],SJS:["sjs"],Slim:["slim|skim"],Smarty:["smarty|tpl"],Smithy:["smithy"],snippets:["snippets"],Soy_Template:["soy"],Space:["space"],SQL:["sql"],SQLServer:["sqlserver"],Stylus:["styl|stylus"],SVG:["svg"],Swift:["swift"],Tcl:["tcl"],Terraform:["tf","tfvars","terragrunt"],Tex:["tex"],Text:["txt"],Textile:["textile"],Toml:["toml"],TSX:["tsx"],Twig:["twig|swig"],Typescript:["ts|typescript|str"],Vala:["vala"],VBScript:["vbs|vb"],Velocity:["vm"],Verilog:["v|vh|sv|svh"],VHDL:["vhd|vhdl"],Visualforce:["vfp|component|page"],Wollok:["wlk|wpgm|wtest"],XML:["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl|xaml"],XQuery:["xq"],YAML:["yaml|yml"],Zeek:["zeek|bro"],Django:["html"]},u={ObjectiveC:"Objective-C",CSharp:"C#",golang:"Go",C_Cpp:"C and C++",Csound_Document:"Csound Document",Csound_Orchestra:"Csound",Csound_Score:"Csound Score",coffee:"CoffeeScript",HTML_Ruby:"HTML (Ruby)",HTML_Elixir:"HTML (Elixir)",FTL:"FreeMarker",PHP_Laravel_blade:"PHP (Blade Template)",Perl6:"Perl 6",AutoHotKey:"AutoHotkey / AutoIt"},a={};for(var f in o){var l=o[f],c=(u[f]||f).replace(/_/g," "),h=f.toLowerCase(),p=new s(h,c,l[0]);a[h]=p,r.push(p)}n.exports={getModeForPath:i,modes:r,modesByName:a}}),define("ace/ext/themelist",["require","exports","module"],function(e,t,n){"use strict";var r=[["Chrome"],["Clouds"],["Crimson Editor"],["Dawn"],["Dreamweaver"],["Eclipse"],["GitHub"],["IPlastic"],["Solarized Light"],["TextMate"],["Tomorrow"],["Xcode"],["Kuroir"],["KatzenMilch"],["SQL Server","sqlserver","light"],["Ambiance","ambiance","dark"],["Chaos","chaos","dark"],["Clouds Midnight","clouds_midnight","dark"],["Dracula","","dark"],["Cobalt","cobalt","dark"],["Gruvbox","gruvbox","dark"],["Green on Black","gob","dark"],["idle Fingers","idle_fingers","dark"],["krTheme","kr_theme","dark"],["Merbivore","merbivore","dark"],["Merbivore Soft","merbivore_soft","dark"],["Mono Industrial","mono_industrial","dark"],["Monokai","monokai","dark"],["Nord Dark","nord_dark","dark"],["One Dark","one_dark","dark"],["Pastel on dark","pastel_on_dark","dark"],["Solarized Dark","solarized_dark","dark"],["Terminal","terminal","dark"],["Tomorrow Night","tomorrow_night","dark"],["Tomorrow Night Blue","tomorrow_night_blue","dark"],["Tomorrow Night Bright","tomorrow_night_bright","dark"],["Tomorrow Night 80s","tomorrow_night_eighties","dark"],["Twilight","twilight","dark"],["Vibrant Ink","vibrant_ink","dark"]];t.themesByName={},t.themes=r.map(function(e){var n=e[1]||e[0].replace(/ /g,"_").toLowerCase(),r={caption:e[0],theme:"ace/theme/"+n,isDark:e[2]=="dark",name:n};return t.themesByName[n]=r,r})}),define("ace/ext/options",["require","exports","module","ace/ext/menu_tools/overlay_page","ace/lib/dom","ace/lib/oop","ace/config","ace/lib/event_emitter","ace/ext/modelist","ace/ext/themelist"],function(e,t,n){"use strict";e("./menu_tools/overlay_page");var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../config"),o=e("../lib/event_emitter").EventEmitter,u=r.buildDom,a=e("./modelist"),f=e("./themelist"),l={Bright:[],Dark:[]};f.themes.forEach(function(e){l[e.isDark?"Dark":"Bright"].push({caption:e.caption,value:e.theme})});var c=a.modes.map(function(e){return{caption:e.caption,value:e.mode}}),h={Main:{Mode:{path:"mode",type:"select",items:c},Theme:{path:"theme",type:"select",items:l},Keybinding:{type:"buttonBar",path:"keyboardHandler",items:[{caption:"Ace",value:null},{caption:"Vim",value:"ace/keyboard/vim"},{caption:"Emacs",value:"ace/keyboard/emacs"},{caption:"Sublime",value:"ace/keyboard/sublime"},{caption:"VSCode",value:"ace/keyboard/vscode"}]},"Font Size":{path:"fontSize",type:"number",defaultValue:12,defaults:[{caption:"12px",value:12},{caption:"24px",value:24}]},"Soft Wrap":{type:"buttonBar",path:"wrap",items:[{caption:"Off",value:"off"},{caption:"View",value:"free"},{caption:"margin",value:"printMargin"},{caption:"40",value:"40"}]},"Cursor Style":{path:"cursorStyle",items:[{caption:"Ace",value:"ace"},{caption:"Slim",value:"slim"},{caption:"Smooth",value:"smooth"},{caption:"Smooth And Slim",value:"smooth slim"},{caption:"Wide",value:"wide"}]},Folding:{path:"foldStyle",items:[{caption:"Manual",value:"manual"},{caption:"Mark begin",value:"markbegin"},{caption:"Mark begin and end",value:"markbeginend"}]},"Soft Tabs":[{path:"useSoftTabs"},{ariaLabel:"Tab Size",path:"tabSize",type:"number",values:[2,3,4,8,16]}],Overscroll:{type:"buttonBar",path:"scrollPastEnd",items:[{caption:"None",value:0},{caption:"Half",value:.5},{caption:"Full",value:1}]}},More:{"Atomic soft tabs":{path:"navigateWithinSoftTabs"},"Enable Behaviours":{path:"behavioursEnabled"},"Wrap with quotes":{path:"wrapBehavioursEnabled"},"Enable Auto Indent":{path:"enableAutoIndent"},"Full Line Selection":{type:"checkbox",values:"text|line",path:"selectionStyle"},"Highlight Active Line":{path:"highlightActiveLine"},"Show Invisibles":{path:"showInvisibles"},"Show Indent Guides":{path:"displayIndentGuides"},"Persistent HScrollbar":{path:"hScrollBarAlwaysVisible"},"Persistent VScrollbar":{path:"vScrollBarAlwaysVisible"},"Animate scrolling":{path:"animatedScroll"},"Show Gutter":{path:"showGutter"},"Show Line Numbers":{path:"showLineNumbers"},"Relative Line Numbers":{path:"relativeLineNumbers"},"Fixed Gutter Width":{path:"fixedWidthGutter"},"Show Print Margin":[{path:"showPrintMargin"},{ariaLabel:"Print Margin",type:"number",path:"printMarginColumn"}],"Indented Soft Wrap":{path:"indentedSoftWrap"},"Highlight selected word":{path:"highlightSelectedWord"},"Fade Fold Widgets":{path:"fadeFoldWidgets"},"Use textarea for IME":{path:"useTextareaForIME"},"Merge Undo Deltas":{path:"mergeUndoDeltas",items:[{caption:"Always",value:"always"},{caption:"Never",value:"false"},{caption:"Timed",value:"true"}]},"Elastic Tabstops":{path:"useElasticTabstops"},"Incremental Search":{path:"useIncrementalSearch"},"Read-only":{path:"readOnly"},"Copy without selection":{path:"copyWithEmptySelection"},"Live Autocompletion":{path:"enableLiveAutocompletion"}}},p=function(e,t){this.editor=e,this.container=t||document.createElement("div"),this.groups=[],this.options={}};(function(){i.implement(this,o),this.add=function(e){e.Main&&i.mixin(h.Main,e.Main),e.More&&i.mixin(h.More,e.More)},this.render=function(){this.container.innerHTML="",u(["table",{role:"presentation",id:"controls"},this.renderOptionGroup(h.Main),["tr",null,["td",{colspan:2},["table",{role:"presentation",id:"more-controls"},this.renderOptionGroup(h.More)]]],["tr",null,["td",{colspan:2},"version "+s.version]]],this.container)},this.renderOptionGroup=function(e){return Object.keys(e).map(function(t,n){var r=e[t];return r.position||(r.position=n/1e4),r.label||(r.label=t),r}).sort(function(e,t){return e.position-t.position}).map(function(e){return this.renderOption(e.label,e)},this)},this.renderOptionControl=function(e,t){var n=this;if(Array.isArray(t))return t.map(function(t){return n.renderOptionControl(e,t)});var r,i=n.getOption(t);t.values&&t.type!="checkbox"&&(typeof t.values=="string"&&(t.values=t.values.split("|")),t.items=t.values.map(function(e){return{value:e,name:e}}));if(t.type=="buttonBar")r=["div",{role:"group","aria-labelledby":t.path+"-label"},t.items.map(function(e){return["button",{value:e.value,ace_selected_button:i==e.value,"aria-pressed":i==e.value,onclick:function(){n.setOption(t,e.value);var r=this.parentNode.querySelectorAll("[ace_selected_button]");for(var i=0;i<r.length;i++)r[i].removeAttribute("ace_selected_button"),r[i].setAttribute("aria-pressed",!1);this.setAttribute("ace_selected_button",!0),this.setAttribute("aria-pressed",!0)}},e.desc||e.caption||e.name]})];else if(t.type=="number")r=["input",{type:"number",value:i||t.defaultValue,style:"width:3em",oninput:function(){n.setOption(t,parseInt(this.value))}}],t.ariaLabel?r[1]["aria-label"]=t.ariaLabel:r[1].id=e,t.defaults&&(r=[r,t.defaults.map(function(e){return["button",{onclick:function(){var t=this.parentNode.firstChild;t.value=e.value,t.oninput()}},e.caption]})]);else if(t.items){var s=function(e){return e.map(function(e){return["option",{value:e.value||e.name},e.desc||e.caption||e.name]})},o=Array.isArray(t.items)?s(t.items):Object.keys(t.items).map(function(e){return["optgroup",{label:e},s(t.items[e])]});r=["select",{id:e,value:i,onchange:function(){n.setOption(t,this.value)}},o]}else typeof t.values=="string"&&(t.values=t.values.split("|")),t.values&&(i=i==t.values[1]),r=["input",{type:"checkbox",id:e,checked:i||null,onchange:function(){var e=this.checked;t.values&&(e=t.values[e?1:0]),n.setOption(t,e)}}],t.type=="checkedNumber"&&(r=[r,[]]);return r},this.renderOption=function(e,t){if(t.path&&!t.onchange&&!this.editor.$options[t.path])return;var n=Array.isArray(t)?t[0].path:t.path;this.options[n]=t;var r="-"+n,i=n+"-label",s=this.renderOptionControl(r,t);return["tr",{"class":"ace_optionsMenuEntry"},["td",["label",{"for":r,id:i},e]],["td",s]]},this.setOption=function(e,t){typeof e=="string"&&(e=this.options[e]),t=="false"&&(t=!1),t=="true"&&(t=!0),t=="null"&&(t=null),t=="undefined"&&(t=undefined),typeof t=="string"&&parseFloat(t).toString()==t&&(t=parseFloat(t)),e.onchange?e.onchange(t):e.path&&this.editor.setOption(e.path,t),this._signal("setOption",{name:e.path,value:t})},this.getOption=function(e){return e.getValue?e.getValue():this.editor.getOption(e.path)}}).call(p.prototype),t.OptionPanel=p}); (function() {
window.require(["ace/ext/options"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();
\ No newline at end of file
define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||e.jsx!=0)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}.call(l.prototype),t.Mode=l}); (function() {
window.require(["ace/mode/javascript"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();
\ No newline at end of file
define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./json_highlight_rules").JsonHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=e("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/json_worker","JsonWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/json"}.call(l.prototype),t.Mode=l}); (function() {
window.require(["ace/mode/json"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();
\ No newline at end of file
define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),define("ace/mode/json5_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/json_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./json_highlight_rules").JsonHighlightRules,s=function(){i.call(this);var e=[{token:"variable",regex:/[a-zA-Z$_\u00a1-\uffff][\w$\u00a1-\uffff]*\s*(?=:)/},{token:"variable",regex:/['](?:(?:\\.)|(?:[^'\\]))*?[']\s*(?=:)/},{token:"constant.language.boolean",regex:/(?:null)\b/},{token:"string",regex:/'/,next:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\/bfnrt]|$)/,consumeLineEnd:!0},{token:"string",regex:/'|$/,next:"start"},{defaultToken:"string"}]},{token:"string",regex:/"(?![^"]*":)/,next:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\/bfnrt]|$)/,consumeLineEnd:!0},{token:"string",regex:/"|$/,next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:/[+-]?(?:Infinity|NaN)\b/}];for(var t in this.$rules)this.$rules[t].unshift.apply(this.$rules[t],e);this.normalizeRules()};r.inherits(s,i),t.Json5HighlightRules=s}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),define("ace/mode/json5",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json5_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./json5_highlight_rules").Json5HighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/json5"}.call(f.prototype),t.Mode=f}); (function() {
window.require(["ace/mode/json5"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();
\ No newline at end of file
define("ace/snippets/javascript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Prototype\nsnippet proto\n ${1:class_name}.prototype.${2:method_name} = function(${3:first_argument}) {\n ${4:// body...}\n };\n# Function\nsnippet fun\n function ${1?:function_name}(${2:argument}) {\n ${3:// body...}\n }\n# Anonymous Function\nregex /((=)\\s*|(:)\\s*|(\\()|\\b)/f/(\\))?/\nsnippet f\n function${M1?: ${1:functionName}}($2) {\n ${0:$TM_SELECTED_TEXT}\n }${M2?;}${M3?,}${M4?)}\n# Immediate function\ntrigger \\(?f\\(\nendTrigger \\)?\nsnippet f(\n (function(${1}) {\n ${0:${TM_SELECTED_TEXT:/* code */}}\n }(${1}));\n# if\nsnippet if\n if (${1:true}) {\n ${0}\n }\n# if ... else\nsnippet ife\n if (${1:true}) {\n ${2}\n } else {\n ${0}\n }\n# tertiary conditional\nsnippet ter\n ${1:/* condition */} ? ${2:a} : ${3:b}\n# switch\nsnippet switch\n switch (${1:expression}) {\n case \'${3:case}\':\n ${4:// code}\n break;\n ${5}\n default:\n ${2:// code}\n }\n# case\nsnippet case\n case \'${1:case}\':\n ${2:// code}\n break;\n ${3}\n\n# while (...) {...}\nsnippet wh\n while (${1:/* condition */}) {\n ${0:/* code */}\n }\n# try\nsnippet try\n try {\n ${0:/* code */}\n } catch (e) {}\n# do...while\nsnippet do\n do {\n ${2:/* code */}\n } while (${1:/* condition */});\n# Object Method\nsnippet :f\nregex /([,{[])|^\\s*/:f/\n ${1:method_name}: function(${2:attribute}) {\n ${0}\n }${3:,}\n# setTimeout function\nsnippet setTimeout\nregex /\\b/st|timeout|setTimeo?u?t?/\n setTimeout(function() {${3:$TM_SELECTED_TEXT}}, ${1:10});\n# Get Elements\nsnippet gett\n getElementsBy${1:TagName}(\'${2}\')${3}\n# Get Element\nsnippet get\n getElementBy${1:Id}(\'${2}\')${3}\n# console.log (Firebug)\nsnippet cl\n console.log(${1});\n# return\nsnippet ret\n return ${1:result}\n# for (property in object ) { ... }\nsnippet fori\n for (var ${1:prop} in ${2:Things}) {\n ${0:$2[$1]}\n }\n# hasOwnProperty\nsnippet has\n hasOwnProperty(${1})\n# docstring\nsnippet /**\n /**\n * ${1:description}\n *\n */\nsnippet @par\nregex /^\\s*\\*\\s*/@(para?m?)?/\n @param {${1:type}} ${2:name} ${3:description}\nsnippet @ret\n @return {${1:type}} ${2:description}\n# JSON.parse\nsnippet jsonp\n JSON.parse(${1:jstr});\n# JSON.stringify\nsnippet jsons\n JSON.stringify(${1:object});\n# self-defining function\nsnippet sdf\n var ${1:function_name} = function(${2:argument}) {\n ${3:// initial code ...}\n\n $1 = function($2) {\n ${4:// main code}\n };\n }\n# singleton\nsnippet sing\n function ${1:Singleton} (${2:argument}) {\n // the cached instance\n var instance;\n\n // rewrite the constructor\n $1 = function $1($2) {\n return instance;\n };\n \n // carry over the prototype properties\n $1.prototype = this;\n\n // the instance\n instance = new $1();\n\n // reset the constructor pointer\n instance.constructor = $1;\n\n ${3:// code ...}\n\n return instance;\n }\n# class\nsnippet class\nregex /^\\s*/clas{0,2}/\n var ${1:class} = function(${20}) {\n $40$0\n };\n \n (function() {\n ${60:this.prop = ""}\n }).call(${1:class}.prototype);\n \n exports.${1:class} = ${1:class};\n# \nsnippet for-\n for (var ${1:i} = ${2:Things}.length; ${1:i}--; ) {\n ${0:${2:Things}[${1:i}];}\n }\n# for (...) {...}\nsnippet for\n for (var ${1:i} = 0; $1 < ${2:Things}.length; $1++) {\n ${3:$2[$1]}$0\n }\n# for (...) {...} (Improved Native For-Loop)\nsnippet forr\n for (var ${1:i} = ${2:Things}.length - 1; $1 >= 0; $1--) {\n ${3:$2[$1]}$0\n }\n\n\n#modules\nsnippet def\n define(function(require, exports, module) {\n "use strict";\n var ${1/.*\\///} = require("${1}");\n \n $TM_SELECTED_TEXT\n });\nsnippet req\nguard ^\\s*\n var ${1/.*\\///} = require("${1}");\n $0\nsnippet requ\nguard ^\\s*\n var ${1/.*\\/(.)/\\u$1/} = require("${1}").${1/.*\\/(.)/\\u$1/};\n $0\n',t.scope="javascript"}); (function() {
window.require(["ace/snippets/javascript"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();
\ No newline at end of file
; (function() {
window.require(["ace/snippets/json"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();
\ No newline at end of file
; (function() {
window.require(["ace/snippets/json5"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();
\ No newline at end of file
define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;color: black;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass,!1)}); (function() {
window.require(["ace/theme/chrome"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
"no use strict";!function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.slice(0,r.length).map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}}(this),define("ace/lib/oop",[],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/range",[],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),define("ace/apply_delta",[],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),define("ace/lib/event_emitter",[],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;this.on(e,function r(){n.off(e,r),t.apply(null,arguments)});if(!t)return new Promise(function(e){t=e})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t)r&&this.setDefaultHandler(e,r.pop());else if(r){var i=r.indexOf(t);i!=-1&&r.splice(i,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){e||(this._eventRegistry=this._defaultHandlers=undefined),this._eventRegistry&&(this._eventRegistry[e]=undefined),this._defaultHandlers&&(this._defaultHandlers[e]=undefined)},t.EventEmitter=r}),define("ace/anchor",[],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.off("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/document",[],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e))},this.$safeApplyDelta=function(e){var t=this.$lines.length;(e.action=="remove"&&e.start.row<t&&e.end.row<t||e.action=="insert"&&e.start.row<=t)&&this.applyDelta(e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length-t+1,i=e.start.row,s=e.start.column;for(var o=0,u=0;o<r;o=u){u+=t-1;var a=n.slice(o,u);a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}e.lines=n.slice(o),e.start.row=i+o,e.start.column=s,this.applyDelta(e,!0)},this.revertDelta=function(e){this.$safeApplyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:e+n[s-1].length+r}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),define("ace/lib/lang",[],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}if(Object.prototype.toString.call(e)!=="[object Object]")return e;t={};for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return(""+e).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),define("ace/worker/mirror",[],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../document").Document,s=e("../lib/lang"),o=t.Mirror=function(e){this.sender=e;var t=this.doc=new i(""),n=this.deferredUpdate=s.delayedCall(this.onUpdate.bind(this)),r=this;e.on("change",function(e){var i=e.data;if(i[0].start)t.applyDeltas(i);else for(var s=0;s<i.length;s+=2){if(Array.isArray(i[s+1]))var o={action:"insert",start:i[s],lines:i[s+1]};else var o={action:"remove",start:i[s],end:i[s+1]};t.applyDelta(o,!0)}if(r.$timeout)return n.schedule(r.$timeout);r.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(o.prototype)}),define("ace/mode/json/json_parse",[],function(e,t,n){"use strict";var r,i,s={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:" "},o,u=function(e){throw{name:"SyntaxError",message:e,at:r,text:o}},a=function(e){return e&&e!==i&&u("Expected '"+e+"' instead of '"+i+"'"),i=o.charAt(r),r+=1,i},f=function(){var e,t="";i==="-"&&(t="-",a("-"));while(i>="0"&&i<="9")t+=i,a();if(i==="."){t+=".";while(a()&&i>="0"&&i<="9")t+=i}if(i==="e"||i==="E"){t+=i,a();if(i==="-"||i==="+")t+=i,a();while(i>="0"&&i<="9")t+=i,a()}e=+t;if(!isNaN(e))return e;u("Bad number")},l=function(){var e,t,n="",r;if(i==='"')while(a()){if(i==='"')return a(),n;if(i==="\\"){a();if(i==="u"){r=0;for(t=0;t<4;t+=1){e=parseInt(a(),16);if(!isFinite(e))break;r=r*16+e}n+=String.fromCharCode(r)}else{if(typeof s[i]!="string")break;n+=s[i]}}else{if(i=="\n"||i=="\r")break;n+=i}}u("Bad string")},c=function(){while(i&&i<=" ")a()},h=function(){switch(i){case"t":return a("t"),a("r"),a("u"),a("e"),!0;case"f":return a("f"),a("a"),a("l"),a("s"),a("e"),!1;case"n":return a("n"),a("u"),a("l"),a("l"),null}u("Unexpected '"+i+"'")},p,d=function(){var e=[];if(i==="["){a("["),c();if(i==="]")return a("]"),e;while(i){e.push(p()),c();if(i==="]")return a("]"),e;a(","),c()}}u("Bad array")},v=function(){var e,t={};if(i==="{"){a("{"),c();if(i==="}")return a("}"),t;while(i){e=l(),c(),a(":"),Object.hasOwnProperty.call(t,e)&&u('Duplicate key "'+e+'"'),t[e]=p(),c();if(i==="}")return a("}"),t;a(","),c()}}u("Bad object")};return p=function(){c();switch(i){case"{":return v();case"[":return d();case'"':return l();case"-":return f();default:return i>="0"&&i<="9"?f():h()}},function(e,t){var n;return o=e,r=0,i=" ",n=p(),c(),i&&u("Syntax error"),typeof t=="function"?function s(e,n){var r,i,o=e[n];if(o&&typeof o=="object")for(r in o)Object.hasOwnProperty.call(o,r)&&(i=s(o,r),i!==undefined?o[r]=i:delete o[r]);return t.call(e,n,o)}({"":n},""):n}}),define("ace/mode/json_worker",[],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("./json/json_parse"),o=t.JsonWorker=function(e){i.call(this,e),this.setTimeout(200)};r.inherits(o,i),function(){this.onUpdate=function(){var e=this.doc.getValue(),t=[];try{e&&s(e)}catch(n){var r=this.doc.indexToPosition(n.at-1);t.push({row:r.row,column:r.column,text:n.message,type:"error"})}this.sender.emit("annotate",t)}}.call(o.prototype)})
\ No newline at end of file
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>NgOne</title>
<!-- <base href="/"> -->
<!-- <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">-->
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="ace/ace.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="//staging-teach.cdn.ireadabc.com/h5template/h5-static-lib/js/air.js"></script>
<style>
#saveDataTextarea {
margin: 0;
position: absolute;
top: 0;
left: 0;
right: 180px;
height: 100%;
}
.upload-container {
width: 100px;
height: 40px;
position: absolute;
right: 40px;
border-radius: 2px;
border: 1px solid #dcdfe6;
line-height: 100px;
margin: 10px;
text-align: center;
display:flex;
align-items:center;
justify-content:center;
}
.hide-fileinput {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
opacity: 0;
cursor: pointer;
}
</style>
</head>
<body onload="loadData();" style="background-color: white;">
<pre id="saveDataTextarea"></pre>
<div class="upload-container">
<div class="upload-file">上传文件</div>
<input class="hide-fileinput" type="file" name="file" onchange="uploadFile()">
</div>
</body>
<script>
var editor = ace.edit("saveDataTextarea");
editor.setTheme("ace/theme/chrome");
editor.session.setMode("ace/mode/json");
editor.session.on('change', function(delta) {
try {
const data = JSON.parse(editor.getValue());
window.courseware.setData(data, null, "cocos_001");
} catch (error) {}
});
let saveDataStr = '';
function loadData() {
window.courseware.getData((data) => {
try {
editor.setValue(JSON.stringify(data, null, 2));
editor.gotoLine(editor.session.getLength());
} catch (error) {}
}, "cocos_001");
}
function uploadFile(){
const dom = document.querySelector(".hide-fileinput");
const file = dom.files[0];
dom.setAttribute("disabled", true);
document.querySelector(".upload-file").innerHTML = "上传中...";
commonUploadFile(file, (data) => {
try {
const d = JSON.parse(data);
const protocolStr = document.location.protocol;
const url = d.url
.replace(/http:/g, protocolStr)
.replace(/https:/g, protocolStr);
editor.insert(url);
} catch (error) {}
dom.removeAttribute("disabled");
document.querySelector(".upload-file").innerHTML = "上传文件";
});
}
function commonUploadFile(file, callback) {
const uploadUrl = window.courseware.uploadUrl(); //上传文件的路径
const uploadData = window.courseware.uploadData(); //上传文件必须要的参数
const formData = new FormData();
formData.append("file", file);
for (const key in uploadData) {
formData.append(key, uploadData[key]);
}
var xhr = new XMLHttpRequest();
xhr.open("post",uploadUrl);
//回调
xhr.onreadystatechange = function () {
if (xhr.readyState==4 && xhr.status==200){
callback && callback(xhr.responseText);
}
}
//获取上传的进度
xhr.upload.onprogress = function (event) {
if(event.lengthComputable){
var percent = event.loaded/event.total *100;
document.querySelector(".upload-file").innerHTML = Math.floor(percent)+"%";
}
}
//将formdata上传
xhr.send(formData);
}
</script>
</html>
\ No newline at end of file
<div class="model-content">
<div style="padding: 10px;">
<div style="width: 500px; margin-top: 20px; border: 1px solid #ccc; border-radius: 5px; padding: 15px;">
答对所有题或答题满<input style="width: 50px;" type="number" nz-input [(ngModel)]="item.maxWrongNumber" (blur)="save()">次自动结束游戏
</div>
</div>
<div style="padding: 10px;">
<div style="width: 500px; margin-top: 20px; border: 1px solid #ccc; border-radius: 5px; padding: 15px;">
猫咪开头音频:
<app-audio-recorder
style="margin-left: 10px; "
[audioUrl]="item.startAudio"
(audioUploaded)="onAudioUploadSuccess($event, 'startAudio', item)"
></app-audio-recorder>
</div>
<div style="width: 500px; margin-top: 20px; border: 1px solid #ccc; border-radius: 5px; padding: 15px;">
猫咪结束音频:
<app-audio-recorder
style="margin-left: 10px; "
[audioUrl]="item.endAudio"
(audioUploaded)="onAudioUploadSuccess($event, 'endAudio', item)"
></app-audio-recorder>
</div>
</div>
<div style="padding: 10px;">
<div *ngFor="let q of questionArr; let i = index;" style="width: 500px; margin-top: 20px; border: 1px solid #ccc; border-radius: 5px; padding: 15px;">
<div style=" display: flex; align-items: center;">
<h3 style="margin-top: 5px">question-{{i+1}}:</h3>
<app-audio-recorder
style="margin-left: 10px; "
[audioUrl]="q.audio_url"
(audioUploaded)="onAudioUploadSuccess($event, 'audio_url', q)"
></app-audio-recorder>
<button *ngIf="q.option_arr.length < 5" nz-button nzType="primary" (click)="addOptionBtnClick(q)" style="margin-left: 15px;">
+
</button>
<button nz-button nzType="danger" (click)="deleteQuestionBtnClick(i)" style="margin-left: 5px;">
x
</button>
</div>
<div *ngFor="let o of q.option_arr; let oi = index" style="margin-top: 5px; display: flex;">
<div style="width: 200px;">
<app-upload-image-with-preview
[picUrl]="o.pic_url"
(imageUploaded)="onImageUploadSuccess($event, 'pic_url', o)">
</app-upload-image-with-preview>
</div>
<div style="margin-left: 10px">
<h4>option-{{oi+1}} : </h4>
<app-audio-recorder
[audioUrl]="o.audio_url"
(audioUploaded)="onAudioUploadSuccess($event, 'audio_url', o)"
></app-audio-recorder>
<div style="display: flex; align-items: center; margin-top: 10px;">
<nz-switch [(ngModel)]="o.is_right" (ngModelChange)="save()"></nz-switch>
<button nz-button nzType="danger" (click)="deleteOptionBtnClick(q.option_arr, oi)" style="margin-left: 5px;">
delete
</button>
</div>
</div>
</div>
</div>
<button nz-button nzType="dashed" (click)="addQuestionBtnClick()" style="height: 70px; margin-top: 20px;">
<i nz-icon nzType="plus-circle" nzTheme="outline"></i>
Add Question
</button>
<!-- <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 style="margin-top: 5px">
<span>音频: </span>
<app-audio-recorder
[audioUrl]="item.audio_url"
(audioUploaded)="onAudioUploadSuccess($event, 'audio_url')"
></app-audio-recorder>
</div> -->
</div>
</div>
...@@ -10,32 +10,24 @@ import { JsonPipe } from '@angular/common'; ...@@ -10,32 +10,24 @@ import { JsonPipe } from '@angular/common';
export class FormComponent implements OnInit, OnChanges, OnDestroy { export class FormComponent implements OnInit, OnChanges, OnDestroy {
// 储存数据用 // 储存数据用
saveKey = "test_001"; saveKey = "op_09";
// 储存对象 // 储存对象
item; item;
constructor(private appRef: ApplicationRef, private changeDetectorRef: ChangeDetectorRef) { questionArr = [];
}
createShell() { constructor(private appRef: ApplicationRef, private changeDetectorRef: ChangeDetectorRef) {
this.item.wordList.push({
word: '',
audio: '',
backWord: '',
backWordAudio: '',
});
this.save();
}
removeShell(idx) {
this.item.wordList.splice(idx, 1);
this.save();
} }
ngOnInit() { ngOnInit() {
this.item = {}; this.item = {
maxWrongNumber: 4,
startAudio: '',
endAudio: '',
question_arr: []
};
// 获取存储的数据 // 获取存储的数据
(<any>window).courseware.getData((data) => { (<any>window).courseware.getData((data) => {
...@@ -44,6 +36,8 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy { ...@@ -44,6 +36,8 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
this.item = data; this.item = data;
} }
console.log('data: ', data);
this.init(); this.init();
this.changeDetectorRef.markForCheck(); this.changeDetectorRef.markForCheck();
this.changeDetectorRef.detectChanges(); this.changeDetectorRef.detectChanges();
...@@ -59,17 +53,49 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy { ...@@ -59,17 +53,49 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
} }
init() { init() {
if (!this.item.question_arr) {
this.item.question_arr = [];
}
this.questionArr = this.item.question_arr;
}
addQuestionBtnClick() {
this.questionArr.push({
question_audio_url: '',
option_arr: [ //选项 (多选)
],
audio_url: '',
})
this.save();
} }
addOptionBtnClick(question) {
question.option_arr.push({
pic_url: '', // 图片路径
audio_url: '', //音频路径
is_right: false, //是否正确
})
this.save();
}
deleteQuestionBtnClick(index) {
this.questionArr.splice(index, 1);
this.save();
}
deleteOptionBtnClick(option, index) {
option.splice(index, 1)
this.save();
}
/** /**
* 储存图片数据 * 储存图片数据
* @param e * @param e
*/ */
onImageUploadSuccess(e, key) { onImageUploadSuccess(e, key, item) {
this.item[key] = e.url; item[key] = e.url;
this.save(); this.save();
} }
...@@ -77,8 +103,8 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy { ...@@ -77,8 +103,8 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
* 储存音频数据 * 储存音频数据
* @param e * @param e
*/ */
onAudioUploadSuccess(e, key) { onAudioUploadSuccess(e, key, item) {
this.item[key] = e.url; item[key] = e.url;
this.save(); this.save();
} }
......
/* You can add global styles to this file, and also import other style files */ /* You can add global styles to this file, and also import other style files */
@import "~ng-zorro-antd/ng-zorro-antd.min.css";
\ No newline at end of file
<div class="model-content">
<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 style="margin-top: 5px">
<span>音频: </span>
<app-audio-recorder
[audioUrl]="item.audio_url"
(audioUploaded)="onAudioUploadSuccess($event, 'audio_url')"
></app-audio-recorder>
</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