Commit 960e4b6c authored by limingzhe's avatar limingzhe

fix: 异常 调试

parent 38105715
No preview for this file type
......@@ -219,6 +219,10 @@ cc.Class({
initMusic() {
if (!this.data.bg_audio_url) {
return;
}
cc.assetManager.loadRemote(this.data.bg_audio_url, (err, clip) => {
cc.audioEngine.setMusicVolume(0.3);
const audioID = cc.audioEngine.playMusic(clip, true);
......@@ -382,7 +386,7 @@ cc.Class({
initBottomPart() {
const bgBottom = cc.find('Canvas/bgBottom');
const script = bgBottom.getComponent('bgBottom');
const script = bgBottom.getComponent('bgBottom_cc_mz_004');
const picArr = [];
this.data.hotZoneItemArr.forEach((item) => {
......@@ -726,6 +730,10 @@ cc.Class({
cc.tween(this._circle)
.to(1, {opacity: 0}, {easing: 'cubicOut'})
.start();
},
onDestroy() {
}
......
{
"paths": {
"30aC+Hnw1PF4pEcoY3kUYb": [
"effects/builtin-2d-graphics",
"cc.EffectAsset"
],
"14TDKXr2NJ6LjvHPops74o": [
"effects/builtin-2d-gray-sprite",
"cc.EffectAsset"
],
"f1h0LXVtJOta5JLZ1xCzfI": [
"effects/builtin-2d-label",
"cc.EffectAsset"
],
"0ek66qC1NOQLjgYmi04HvX": [
"effects/builtin-2d-spine",
"cc.EffectAsset"
],
"28dPjdQWxEQIG3VVl1Qm6T": [
"effects/builtin-2d-sprite",
"cc.EffectAsset"
],
"82migssElAGb04Ws6NimQX": [
"effects/builtin-3d-particle",
"cc.EffectAsset"
],
"2afAA24LNP4YmYiaVLiivs": [
"effects/builtin-3d-trail",
"cc.EffectAsset"
],
"c0BAyVxX9JzZy8EjFrc9DU": [
"effects/builtin-clear-stencil",
"cc.EffectAsset"
],
"6dkeWRTOBGXICfYQ7JUBnG": [
"effects/builtin-unlit",
"cc.EffectAsset"
],
"6fgBCSDDdPMInvyNlggls2": [
"materials/builtin-2d-base",
"cc.Material"
],
"a1U5RdJRFMFL57BdJC9H1X": [
"materials/builtin-2d-graphics",
"cc.Material"
],
"3ae7efMv1CLq2ilvUY/tQi": [
"materials/builtin-2d-gray-sprite",
"cc.Material"
],
"e0LYfU5ZlNFoAB4UiRrGUG": [
"materials/builtin-2d-label",
"cc.Material"
],
"7a/QZLET9IDreTiBfRn2PD": [
"materials/builtin-2d-spine",
"cc.Material"
],
"ecpdLyjvZBwrvm+cedCcQy": [
"materials/builtin-2d-sprite",
"cc.Material"
],
"43L6CczwNM/6GGmCYEQIoH": [
"materials/builtin-3d-particle",
"cc.Material"
],
"46bU+b5fROqIXVPG6aZWWK": [
"materials/builtin-3d-trail",
"cc.Material"
],
"cffgu4qBxEqa150o1DmRAy": [
"materials/builtin-clear-stencil",
"cc.Material"
],
"2aKWBXJHxKHLvrBUi2yYZQ": [
"materials/builtin-unlit",
"cc.Material"
]
},
"uuids": [
"02delMVqdBD70a/HSD99FK",
"0ek66qC1NOQLjgYmi04HvX",
"14TDKXr2NJ6LjvHPops74o",
"28dPjdQWxEQIG3VVl1Qm6T",
"2aKWBXJHxKHLvrBUi2yYZQ",
"2afAA24LNP4YmYiaVLiivs",
"30aC+Hnw1PF4pEcoY3kUYb",
"3ae7efMv1CLq2ilvUY/tQi",
"43L6CczwNM/6GGmCYEQIoH",
"46bU+b5fROqIXVPG6aZWWK",
"60AwGqM1dKELCGhPAR+jK6",
"6dkeWRTOBGXICfYQ7JUBnG",
"6fgBCSDDdPMInvyNlggls2",
"7a/QZLET9IDreTiBfRn2PD",
"82migssElAGb04Ws6NimQX",
"a1U5RdJRFMFL57BdJC9H1X",
"c0BAyVxX9JzZy8EjFrc9DU",
"cffgu4qBxEqa150o1DmRAy",
"e0LYfU5ZlNFoAB4UiRrGUG",
"ecpdLyjvZBwrvm+cedCcQy",
"f1h0LXVtJOta5JLZ1xCzfI"
],
"scenes": {},
"redirect": [],
"deps": [],
"packs": {
"0771a325d": [
"43L6CczwNM/6GGmCYEQIoH",
"82migssElAGb04Ws6NimQX"
],
"079499991": [
"2aKWBXJHxKHLvrBUi2yYZQ",
"6dkeWRTOBGXICfYQ7JUBnG"
],
"07ce7530a": [
"14TDKXr2NJ6LjvHPops74o",
"3ae7efMv1CLq2ilvUY/tQi"
],
"08018726a": [
"e0LYfU5ZlNFoAB4UiRrGUG",
"f1h0LXVtJOta5JLZ1xCzfI"
],
"0a5cba09d": [
"2afAA24LNP4YmYiaVLiivs",
"46bU+b5fROqIXVPG6aZWWK"
],
"0d5255670": [
"30aC+Hnw1PF4pEcoY3kUYb",
"a1U5RdJRFMFL57BdJC9H1X"
],
"0d669730c": [
"c0BAyVxX9JzZy8EjFrc9DU",
"cffgu4qBxEqa150o1DmRAy"
],
"0e4bc3b03": [
"0ek66qC1NOQLjgYmi04HvX",
"7a/QZLET9IDreTiBfRn2PD"
],
"0ea3dbfa0": [
"02delMVqdBD70a/HSD99FK",
"60AwGqM1dKELCGhPAR+jK6"
]
},
"name": "internal",
"importBase": "import",
"nativeBase": "native",
"debug": true,
"isZip": false,
"encrypted": false
}
\ No newline at end of file
[
{
"__type__": "cc.Material",
"_name": "builtin-3d-particle",
"_effectAsset": {
"__uuid__": "82migssElAGb04Ws6NimQX"
},
"_techniqueData": {
"0": {
"props": {
"mainTiling_Offset": {
"__type__": "cc.Vec4",
"x": 1,
"y": 1
},
"tintColor": {
"__type__": "cc.Color",
"r": 172,
"g": 165,
"b": 165,
"a": 127
},
"mainTexture": {
"__uuid__": "60AwGqM1dKELCGhPAR+jK6"
}
},
"defines": {
"CC_USE_BILLBOARD": true,
"CC_USE_STRETCHED_BILLBOARD": false,
"CC_USE_HORIZONTAL_BILLBOARD": false,
"CC_USE_VERTICAL_BILLBOARD": false,
"CC_USE_MESH": false
}
}
}
},
{
"__type__": "cc.EffectAsset",
"_name": "builtin-3d-particle",
"techniques": [
{
"name": "add",
"passes": [
{
"rasterizerState": {
"cullMode": 0
},
"blendState": {
"targets": [
{
"blend": true,
"blendSrc": 770,
"blendDst": 1,
"blendSrcAlpha": 770,
"blendDstAlpha": 1
}
]
},
"depthStencilState": {
"depthTest": true,
"depthWrite": false
},
"properties": {
"mainTexture": {
"value": "grey",
"type": 29
},
"mainTiling_Offset": {
"value": [
1,
1,
0,
0
],
"type": 16
},
"tintColor": {
"value": [
0.5,
0.5,
0.5,
0.5
],
"inspector": {
"type": "color"
},
"type": 16
}
},
"program": "builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:add"
}
]
},
{
"name": "alpha-blend",
"passes": [
{
"rasterizerState": {
"cullMode": 0
},
"blendState": {
"targets": [
{
"blend": true,
"blendSrc": 770,
"blendDst": 771,
"blendSrcAlpha": 770,
"blendDstAlpha": 771
}
]
},
"depthStencilState": {
"depthTest": true,
"depthWrite": false
},
"properties": {
"mainTexture": {
"value": "grey",
"type": 29
},
"mainTiling_Offset": {
"value": [
1,
1,
0,
0
],
"type": 16
},
"tintColor": {
"value": [
0.5,
0.5,
0.5,
0.5
],
"inspector": {
"type": "color"
},
"type": 16
}
},
"program": "builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:add"
}
]
},
{
"name": "add-multiply",
"passes": [
{
"rasterizerState": {
"cullMode": 0
},
"blendState": {
"targets": [
{
"blend": true,
"blendSrc": 770,
"blendDst": 771,
"blendSrcAlpha": 770,
"blendDstAlpha": 771
}
]
},
"depthStencilState": {
"depthTest": true,
"depthWrite": false
},
"properties": {
"mainTexture": {
"value": "grey",
"type": 29
},
"mainTiling_Offset": {
"value": [
1,
1,
0,
0
],
"type": 16
},
"tintColor": {
"value": [
0.5,
0.5,
0.5,
0.5
],
"inspector": {
"type": "color"
},
"type": 16
}
},
"program": "builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:multiply"
}
]
},
{
"name": "add-smooth",
"passes": [
{
"rasterizerState": {
"cullMode": 0
},
"blendState": {
"targets": [
{
"blend": true,
"blendSrc": 770,
"blendDst": 771,
"blendSrcAlpha": 770,
"blendDstAlpha": 771
}
]
},
"depthStencilState": {
"depthTest": true,
"depthWrite": false
},
"properties": {
"mainTexture": {
"value": "grey",
"type": 29
},
"mainTiling_Offset": {
"value": [
1,
1,
0,
0
],
"type": 16
}
},
"program": "builtin-3d-particle|particle-vs-legacy:lpvs_main|no-tint-fs:addSmooth"
}
]
},
{
"name": "premultiply-blend",
"passes": [
{
"rasterizerState": {
"cullMode": 0
},
"blendState": {
"targets": [
{
"blend": true,
"blendSrc": 770,
"blendDst": 771,
"blendSrcAlpha": 770,
"blendDstAlpha": 771
}
]
},
"depthStencilState": {
"depthTest": true,
"depthWrite": false
},
"properties": {
"mainTexture": {
"value": "grey",
"type": 29
},
"mainTiling_Offset": {
"value": [
1,
1,
0,
0
],
"type": 16
}
},
"program": "builtin-3d-particle|particle-vs-legacy:lpvs_main|no-tint-fs:premultiplied"
}
]
}
],
"shaders": [
{
"hash": 1682193167,
"glsl3": {
"vert": "\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nin vec3 a_position;\nin vec3 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n in vec3 a_color1;\n#endif\n#if CC_USE_MESH\n in vec3 a_texCoord3;\n in vec3 a_normal;\n in vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }",
"frag": "\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\nuniform sampler2D mainTexture;\nuniform FragConstants {\n vec4 tintColor;\n};\nvec4 add () {\n vec4 col = 2.0 * color * tintColor * texture(mainTexture, uv);\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = add(); }"
},
"glsl1": {
"vert": "\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform vec4 mainTiling_Offset;\nuniform vec4 frameTile_velLenScale;\nuniform vec4 scale;\nuniform mat4 cc_matView;\nuniform mat4 cc_matViewInv;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nattribute vec3 a_position;\nattribute vec3 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n attribute vec3 a_color1;\n#endif\n#if CC_USE_MESH\n attribute vec3 a_texCoord3;\n attribute vec3 a_normal;\n attribute vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }",
"frag": "\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nuniform vec4 tintColor;\nvec4 add () {\n vec4 col = 2.0 * color * tintColor * texture2D(mainTexture, uv);\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = add(); }"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "CC_USE_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_STRETCHED_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_HORIZONTAL_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_VERTICAL_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_MESH",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_WORLD_SPACE",
"type": "boolean",
"defines": []
},
{
"name": "OUTPUT_TO_GAMMA",
"type": "boolean",
"defines": []
}
],
"blocks": [
{
"name": "Constants",
"members": [
{
"name": "mainTiling_Offset",
"type": 16,
"count": 1
},
{
"name": "frameTile_velLenScale",
"type": 16,
"count": 1
},
{
"name": "scale",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 0
},
{
"name": "FragConstants",
"members": [
{
"name": "tintColor",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 1
}
],
"samplers": [
{
"name": "mainTexture",
"type": 29,
"count": 1,
"defines": [],
"binding": 30
}
],
"record": null,
"name": "builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:add"
},
{
"hash": 1933642753,
"glsl3": {
"vert": "\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nin vec3 a_position;\nin vec3 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n in vec3 a_color1;\n#endif\n#if CC_USE_MESH\n in vec3 a_texCoord3;\n in vec3 a_normal;\n in vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }",
"frag": "\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\nuniform sampler2D mainTexture;\nuniform FragConstants {\n vec4 tintColor;\n};\nvec4 multiply () {\n vec4 col;\n vec4 texColor = texture(mainTexture, uv);\n col.rgb = tintColor.rgb * texColor.rgb * color.rgb * vec3(2.0);\n col.a = (1.0 - texColor.a) * (tintColor.a * color.a * 2.0);\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = multiply(); }"
},
"glsl1": {
"vert": "\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform vec4 mainTiling_Offset;\nuniform vec4 frameTile_velLenScale;\nuniform vec4 scale;\nuniform mat4 cc_matView;\nuniform mat4 cc_matViewInv;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nattribute vec3 a_position;\nattribute vec3 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n attribute vec3 a_color1;\n#endif\n#if CC_USE_MESH\n attribute vec3 a_texCoord3;\n attribute vec3 a_normal;\n attribute vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }",
"frag": "\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nuniform vec4 tintColor;\nvec4 multiply () {\n vec4 col;\n vec4 texColor = texture2D(mainTexture, uv);\n col.rgb = tintColor.rgb * texColor.rgb * color.rgb * vec3(2.0);\n col.a = (1.0 - texColor.a) * (tintColor.a * color.a * 2.0);\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = multiply(); }"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "CC_USE_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_STRETCHED_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_HORIZONTAL_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_VERTICAL_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_MESH",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_WORLD_SPACE",
"type": "boolean",
"defines": []
},
{
"name": "OUTPUT_TO_GAMMA",
"type": "boolean",
"defines": []
}
],
"blocks": [
{
"name": "Constants",
"members": [
{
"name": "mainTiling_Offset",
"type": 16,
"count": 1
},
{
"name": "frameTile_velLenScale",
"type": 16,
"count": 1
},
{
"name": "scale",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 0
},
{
"name": "FragConstants",
"members": [
{
"name": "tintColor",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 1
}
],
"samplers": [
{
"name": "mainTexture",
"type": 29,
"count": 1,
"defines": [],
"binding": 30
}
],
"record": null,
"name": "builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:multiply"
},
{
"hash": 1851787849,
"glsl3": {
"vert": "\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nin vec3 a_position;\nin vec3 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n in vec3 a_color1;\n#endif\n#if CC_USE_MESH\n in vec3 a_texCoord3;\n in vec3 a_normal;\n in vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }",
"frag": "\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\nuniform sampler2D mainTexture;\nvec4 addSmooth () {\n vec4 col = color * texture(mainTexture, uv);\n col.rgb *= col.a;\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = addSmooth(); }"
},
"glsl1": {
"vert": "\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform vec4 mainTiling_Offset;\nuniform vec4 frameTile_velLenScale;\nuniform vec4 scale;\nuniform mat4 cc_matView;\nuniform mat4 cc_matViewInv;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nattribute vec3 a_position;\nattribute vec3 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n attribute vec3 a_color1;\n#endif\n#if CC_USE_MESH\n attribute vec3 a_texCoord3;\n attribute vec3 a_normal;\n attribute vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }",
"frag": "\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nvec4 addSmooth () {\n vec4 col = color * texture2D(mainTexture, uv);\n col.rgb *= col.a;\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = addSmooth(); }"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "CC_USE_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_STRETCHED_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_HORIZONTAL_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_VERTICAL_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_MESH",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_WORLD_SPACE",
"type": "boolean",
"defines": []
},
{
"name": "OUTPUT_TO_GAMMA",
"type": "boolean",
"defines": []
}
],
"blocks": [
{
"name": "Constants",
"members": [
{
"name": "mainTiling_Offset",
"type": 16,
"count": 1
},
{
"name": "frameTile_velLenScale",
"type": 16,
"count": 1
},
{
"name": "scale",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 0
}
],
"samplers": [
{
"name": "mainTexture",
"type": 29,
"count": 1,
"defines": [],
"binding": 30
}
],
"record": null,
"name": "builtin-3d-particle|particle-vs-legacy:lpvs_main|no-tint-fs:addSmooth"
},
{
"hash": 145387972,
"glsl3": {
"vert": "\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nin vec3 a_position;\nin vec3 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n in vec3 a_color1;\n#endif\n#if CC_USE_MESH\n in vec3 a_texCoord3;\n in vec3 a_normal;\n in vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }",
"frag": "\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\nuniform sampler2D mainTexture;\nvec4 premultiplied () {\n vec4 col = color * texture(mainTexture, uv) * color.a;\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = premultiplied(); }"
},
"glsl1": {
"vert": "\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform vec4 mainTiling_Offset;\nuniform vec4 frameTile_velLenScale;\nuniform vec4 scale;\nuniform mat4 cc_matView;\nuniform mat4 cc_matViewInv;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nattribute vec3 a_position;\nattribute vec3 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n attribute vec3 a_color1;\n#endif\n#if CC_USE_MESH\n attribute vec3 a_texCoord3;\n attribute vec3 a_normal;\n attribute vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }",
"frag": "\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nvec4 premultiplied () {\n vec4 col = color * texture2D(mainTexture, uv) * color.a;\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = premultiplied(); }"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "CC_USE_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_STRETCHED_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_HORIZONTAL_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_VERTICAL_BILLBOARD",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_MESH",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_WORLD_SPACE",
"type": "boolean",
"defines": []
},
{
"name": "OUTPUT_TO_GAMMA",
"type": "boolean",
"defines": []
}
],
"blocks": [
{
"name": "Constants",
"members": [
{
"name": "mainTiling_Offset",
"type": 16,
"count": 1
},
{
"name": "frameTile_velLenScale",
"type": 16,
"count": 1
},
{
"name": "scale",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 0
}
],
"samplers": [
{
"name": "mainTexture",
"type": 29,
"count": 1,
"defines": [],
"binding": 30
}
],
"record": null,
"name": "builtin-3d-particle|particle-vs-legacy:lpvs_main|no-tint-fs:premultiplied"
}
]
}
]
\ No newline at end of file
[
{
"__type__": "cc.Material",
"_name": "builtin-unlit",
"_effectAsset": {
"__uuid__": "6dkeWRTOBGXICfYQ7JUBnG"
},
"_techniqueData": {
"0": {
"props": {
"diffuseTexture": {
"__uuid__": "02delMVqdBD70a/HSD99FK"
}
},
"defines": {
"USE_DIFFUSE_TEXTURE": true
}
}
}
},
{
"__type__": "cc.EffectAsset",
"_name": "builtin-unlit",
"techniques": [
{
"name": "opaque",
"passes": [
{
"blendState": {
"targets": [
{
"blend": true
}
]
},
"rasterizerState": {
"cullMode": 0
},
"depthStencilState": {
"depthTest": true,
"depthWrite": true
},
"properties": {
"diffuseTexture": {
"value": "white",
"type": 29
},
"diffuseColor": {
"value": [
1,
1,
1,
1
],
"editor": {
"type": "color"
},
"type": 16
},
"alphaThreshold": {
"value": [
0.5
],
"type": 13
},
"mainTiling": {
"value": [
1,
1
],
"type": 14
},
"mainOffset": {
"value": [
0,
0
],
"type": 14
}
},
"program": "builtin-unlit|unlit-vs|unlit-fs"
}
]
},
{
"name": "transparent",
"passes": [
{
"stage": "transparent",
"blendState": {
"targets": [
{
"blend": true
}
]
},
"rasterizerState": {
"cullMode": 0
},
"depthStencilState": {
"depthTest": true,
"depthWrite": true
},
"properties": {
"diffuseTexture": {
"value": "white",
"type": 29
},
"diffuseColor": {
"value": [
1,
1,
1,
1
],
"editor": {
"type": "color"
},
"type": 16
},
"alphaThreshold": {
"value": [
0.5
],
"type": 13
},
"mainTiling": {
"value": [
1,
1
],
"type": 14
},
"mainOffset": {
"value": [
0,
0
],
"type": 14
}
},
"program": "builtin-unlit|unlit-vs|unlit-fs"
}
]
}
],
"shaders": [
{
"hash": 922858114,
"glsl3": {
"vert": "\nprecision highp float;\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\n#if CC_USE_SKINNING\n in vec4 a_weights;\n in vec4 a_joints;\n #if CC_USE_JOINTS_TEXTRUE\n uniform SKINNING {\n vec2 jointsTextureSize;\n };\n uniform sampler2D jointsTexture;\n #if CC_JOINTS_TEXTURE_FLOAT32\n mat4 getBoneMatrix(const in float i) {\n float width = jointsTextureSize.x;\n float height = jointsTextureSize.y;\n float j = i * 4.0;\n float x = mod(j, width);\n float y = floor(j / width);\n float dx = 1.0 / width;\n float dy = 1.0 / height;\n y = dy * (y + 0.5);\n vec4 v1 = texture(jointsTexture, vec2(dx * (x + 0.5), y));\n vec4 v2 = texture(jointsTexture, vec2(dx * (x + 1.5), y));\n vec4 v3 = texture(jointsTexture, vec2(dx * (x + 2.5), y));\n vec4 v4 = texture(jointsTexture, vec2(dx * (x + 3.5), y));\n return mat4(v1, v2, v3, v4);\n }\n #else\n float decode32(vec4 rgba) {\n float Sign = 1.0 - step(128.0, rgba[0]) * 2.0;\n float Exponent = 2.0 * mod(rgba[0], 128.0) + step(128.0, rgba[1]) - 127.0;\n float Mantissa = mod(rgba[1], 128.0) * 65536.0 + rgba[2] * 256.0 + rgba[3] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n }\n vec4 decodevec4 (vec4 x, vec4 y, vec4 z, vec4 w) {\n return vec4(\n decode32(x.wzyx * 255.0),\n decode32(y.wzyx * 255.0),\n decode32(z.wzyx * 255.0),\n decode32(w.wzyx * 255.0)\n );\n }\n vec4 decodevec4 (float dx, float x, float y) {\n return decodevec4(\n texture(jointsTexture, vec2(dx * (x + 0.5), y)),\n texture(jointsTexture, vec2(dx * (x + 1.5), y)),\n texture(jointsTexture, vec2(dx * (x + 2.5), y)),\n texture(jointsTexture, vec2(dx * (x + 3.5), y))\n );\n }\n mat4 getBoneMatrix(const in float i) {\n float width = jointsTextureSize.x;\n float height = jointsTextureSize.y;\n float j = i * 16.0;\n float x = mod(j, width);\n float y = floor(j / width);\n float dx = 1.0 / width;\n float dy = 1.0 / height;\n y = dy * (y + 0.5);\n vec4 v1 = decodevec4(dx, x, y);\n vec4 v2 = decodevec4(dx, x+4.0, y);\n vec4 v3 = decodevec4(dx, x+8.0, y);\n vec4 v4 = decodevec4(dx, x+12.0, y);\n return mat4(v1, v2, v3, v4);\n }\n #endif\n #else\n uniform JOINT_MATRIX {\n mat4 jointMatrices[50];\n };\n mat4 getBoneMatrix(const in float i) {\n return jointMatrices[int(i)];\n }\n #endif\n mat4 skinMatrix() {\n return\n getBoneMatrix(a_joints.x) * a_weights.x +\n getBoneMatrix(a_joints.y) * a_weights.y +\n getBoneMatrix(a_joints.z) * a_weights.z +\n getBoneMatrix(a_joints.w) * a_weights.w\n ;\n }\n#endif\nstruct StandardVertInput {\n vec2 uv;\n vec4 position;\n vec3 normal;\n vec4 tangent;\n vec4 color;\n};\nin vec3 a_position;\n#if CC_USE_ATTRIBUTE_UV0\nin vec2 a_uv0;\n#endif\n#if CC_USE_ATTRIBUTE_COLOR\nin vec4 a_color;\n#endif\n#if CC_USE_ATTRIBUTE_NORMAL\nin vec3 a_normal;\n#endif\n#if CC_USE_ATTRIBUTE_TANGENT\nin vec4 a_tangent;\n#endif\nvoid CCAttribute (out StandardVertInput In) {\n In.position = vec4(a_position, 1.0);\n #if CC_USE_ATTRIBUTE_UV0\n In.uv = a_uv0;\n #else\n In.uv = vec2(0.0);\n #endif\n #if CC_USE_ATTRIBUTE_COLOR\n In.color = a_color;\n #else\n In.color = vec4(1.0);\n #endif\n #if CC_USE_ATTRIBUTE_NORMAL\n In.normal = a_normal;\n #else\n In.normal = vec3(0.0, 1.0, 0.0);\n #endif\n #if CC_USE_ATTRIBUTE_TANGENT\n In.tangent = a_tangent;\n #else\n In.tangent = vec4(1.0, 0.0, 0.0, 0.0);\n #endif\n}\nvoid CCVertInput(out StandardVertInput In) {\n CCAttribute(In);\n #if CC_USE_SKINNING\n mat4 m = skinMatrix();\n In.position = m * In.position;\n #if CC_USE_ATTRIBUTE_NORMAL\n In.normal = (m * vec4(In.normal, 0)).xyz;\n #endif\n #if CC_USE_ATTRIBUTE_TANGENT\n In.tangent = m * In.tangent;\n #endif\n #endif\n}\nuniform MAIN_TILING {\n vec2 mainTiling;\n vec2 mainOffset;\n};\n#if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n out mediump vec2 v_uv0;\n#endif\n#if CC_USE_ATTRIBUTE_COLOR\n out lowp vec4 v_color;\n#endif\nvoid main () {\n StandardVertInput In;\n CCVertInput(In);\n #if CC_USE_ATTRIBUTE_COLOR\n v_color = In.color;\n #endif\n #if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n v_uv0 = In.uv * mainTiling + mainOffset;\n #endif\n gl_Position = cc_matViewProj * cc_matWorld * In.position;\n}",
"frag": "\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nuniform UNLIT {\n lowp vec4 diffuseColor;\n};\n#if USE_DIFFUSE_TEXTURE\n uniform sampler2D diffuseTexture;\n#endif\n#if CC_USE_ATTRIBUTE_COLOR\n in lowp vec4 v_color;\n#endif\n#if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n in mediump vec2 v_uv0;\n#endif\nvoid main () {\n vec4 color = diffuseColor;\n #if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n vec4 diffuseTexture_tmp = texture(diffuseTexture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_diffuseTexture\n diffuseTexture_tmp.a *= texture(diffuseTexture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n color.rgb *= (diffuseTexture_tmp.rgb * diffuseTexture_tmp.rgb);\n color.a *= diffuseTexture_tmp.a;\n #else\n color *= diffuseTexture_tmp;\n #endif\n #endif\n #if CC_USE_ATTRIBUTE_COLOR\n color *= v_color;\n #endif\n ALPHA_TEST(color);\n gl_FragColor = CCFragOutput(color);\n}"
},
"glsl1": {
"vert": "\nprecision highp float;\nuniform mat4 cc_matWorld;\nuniform mat4 cc_matViewProj;\n#if CC_USE_SKINNING\n attribute vec4 a_weights;\n attribute vec4 a_joints;\n #if CC_USE_JOINTS_TEXTRUE\n uniform vec2 jointsTextureSize;\n uniform sampler2D jointsTexture;\n #if CC_JOINTS_TEXTURE_FLOAT32\n mat4 getBoneMatrix(const in float i) {\n float width = jointsTextureSize.x;\n float height = jointsTextureSize.y;\n float j = i * 4.0;\n float x = mod(j, width);\n float y = floor(j / width);\n float dx = 1.0 / width;\n float dy = 1.0 / height;\n y = dy * (y + 0.5);\n vec4 v1 = texture2D(jointsTexture, vec2(dx * (x + 0.5), y));\n vec4 v2 = texture2D(jointsTexture, vec2(dx * (x + 1.5), y));\n vec4 v3 = texture2D(jointsTexture, vec2(dx * (x + 2.5), y));\n vec4 v4 = texture2D(jointsTexture, vec2(dx * (x + 3.5), y));\n return mat4(v1, v2, v3, v4);\n }\n #else\n float decode32(vec4 rgba) {\n float Sign = 1.0 - step(128.0, rgba[0]) * 2.0;\n float Exponent = 2.0 * mod(rgba[0], 128.0) + step(128.0, rgba[1]) - 127.0;\n float Mantissa = mod(rgba[1], 128.0) * 65536.0 + rgba[2] * 256.0 + rgba[3] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n }\n vec4 decodevec4 (vec4 x, vec4 y, vec4 z, vec4 w) {\n return vec4(\n decode32(x.wzyx * 255.0),\n decode32(y.wzyx * 255.0),\n decode32(z.wzyx * 255.0),\n decode32(w.wzyx * 255.0)\n );\n }\n vec4 decodevec4 (float dx, float x, float y) {\n return decodevec4(\n texture2D(jointsTexture, vec2(dx * (x + 0.5), y)),\n texture2D(jointsTexture, vec2(dx * (x + 1.5), y)),\n texture2D(jointsTexture, vec2(dx * (x + 2.5), y)),\n texture2D(jointsTexture, vec2(dx * (x + 3.5), y))\n );\n }\n mat4 getBoneMatrix(const in float i) {\n float width = jointsTextureSize.x;\n float height = jointsTextureSize.y;\n float j = i * 16.0;\n float x = mod(j, width);\n float y = floor(j / width);\n float dx = 1.0 / width;\n float dy = 1.0 / height;\n y = dy * (y + 0.5);\n vec4 v1 = decodevec4(dx, x, y);\n vec4 v2 = decodevec4(dx, x+4.0, y);\n vec4 v3 = decodevec4(dx, x+8.0, y);\n vec4 v4 = decodevec4(dx, x+12.0, y);\n return mat4(v1, v2, v3, v4);\n }\n #endif\n #else\n uniform mat4 jointMatrices[50];\n mat4 getBoneMatrix(const in float i) {\n return jointMatrices[int(i)];\n }\n #endif\n mat4 skinMatrix() {\n return\n getBoneMatrix(a_joints.x) * a_weights.x +\n getBoneMatrix(a_joints.y) * a_weights.y +\n getBoneMatrix(a_joints.z) * a_weights.z +\n getBoneMatrix(a_joints.w) * a_weights.w\n ;\n }\n#endif\nstruct StandardVertInput {\n vec2 uv;\n vec4 position;\n vec3 normal;\n vec4 tangent;\n vec4 color;\n};\nattribute vec3 a_position;\n#if CC_USE_ATTRIBUTE_UV0\nattribute vec2 a_uv0;\n#endif\n#if CC_USE_ATTRIBUTE_COLOR\nattribute vec4 a_color;\n#endif\n#if CC_USE_ATTRIBUTE_NORMAL\nattribute vec3 a_normal;\n#endif\n#if CC_USE_ATTRIBUTE_TANGENT\nattribute vec4 a_tangent;\n#endif\nvoid CCAttribute (out StandardVertInput In) {\n In.position = vec4(a_position, 1.0);\n #if CC_USE_ATTRIBUTE_UV0\n In.uv = a_uv0;\n #else\n In.uv = vec2(0.0);\n #endif\n #if CC_USE_ATTRIBUTE_COLOR\n In.color = a_color;\n #else\n In.color = vec4(1.0);\n #endif\n #if CC_USE_ATTRIBUTE_NORMAL\n In.normal = a_normal;\n #else\n In.normal = vec3(0.0, 1.0, 0.0);\n #endif\n #if CC_USE_ATTRIBUTE_TANGENT\n In.tangent = a_tangent;\n #else\n In.tangent = vec4(1.0, 0.0, 0.0, 0.0);\n #endif\n}\nvoid CCVertInput(out StandardVertInput In) {\n CCAttribute(In);\n #if CC_USE_SKINNING\n mat4 m = skinMatrix();\n In.position = m * In.position;\n #if CC_USE_ATTRIBUTE_NORMAL\n In.normal = (m * vec4(In.normal, 0)).xyz;\n #endif\n #if CC_USE_ATTRIBUTE_TANGENT\n In.tangent = m * In.tangent;\n #endif\n #endif\n}\nuniform vec2 mainTiling;\nuniform vec2 mainOffset;\n#if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n varying mediump vec2 v_uv0;\n#endif\n#if CC_USE_ATTRIBUTE_COLOR\n varying lowp vec4 v_color;\n#endif\nvoid main () {\n StandardVertInput In;\n CCVertInput(In);\n #if CC_USE_ATTRIBUTE_COLOR\n v_color = In.color;\n #endif\n #if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n v_uv0 = In.uv * mainTiling + mainOffset;\n #endif\n gl_Position = cc_matViewProj * cc_matWorld * In.position;\n}",
"frag": "\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nuniform lowp vec4 diffuseColor;\n#if USE_DIFFUSE_TEXTURE\n uniform sampler2D diffuseTexture;\n#endif\n#if CC_USE_ATTRIBUTE_COLOR\n varying lowp vec4 v_color;\n#endif\n#if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n varying mediump vec2 v_uv0;\n#endif\nvoid main () {\n vec4 color = diffuseColor;\n #if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n vec4 diffuseTexture_tmp = texture2D(diffuseTexture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_diffuseTexture\n diffuseTexture_tmp.a *= texture2D(diffuseTexture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n color.rgb *= (diffuseTexture_tmp.rgb * diffuseTexture_tmp.rgb);\n color.a *= diffuseTexture_tmp.a;\n #else\n color *= diffuseTexture_tmp;\n #endif\n #endif\n #if CC_USE_ATTRIBUTE_COLOR\n color *= v_color;\n #endif\n ALPHA_TEST(color);\n gl_FragColor = CCFragOutput(color);\n}"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "CC_USE_SKINNING",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_JOINTS_TEXTRUE",
"type": "boolean",
"defines": [
"CC_USE_SKINNING"
]
},
{
"name": "CC_JOINTS_TEXTURE_FLOAT32",
"type": "boolean",
"defines": [
"CC_USE_SKINNING",
"CC_USE_JOINTS_TEXTRUE"
]
},
{
"name": "CC_USE_ATTRIBUTE_UV0",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_ATTRIBUTE_COLOR",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_ATTRIBUTE_NORMAL",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_ATTRIBUTE_TANGENT",
"type": "boolean",
"defines": []
},
{
"name": "USE_DIFFUSE_TEXTURE",
"type": "boolean",
"defines": []
},
{
"name": "USE_ALPHA_TEST",
"type": "boolean",
"defines": []
},
{
"name": "OUTPUT_TO_GAMMA",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_ALPHA_ATLAS_diffuseTexture",
"type": "boolean",
"defines": [
"CC_USE_ATTRIBUTE_UV0",
"USE_DIFFUSE_TEXTURE"
]
},
{
"name": "INPUT_IS_GAMMA",
"type": "boolean",
"defines": [
"CC_USE_ATTRIBUTE_UV0",
"USE_DIFFUSE_TEXTURE"
]
}
],
"blocks": [
{
"name": "SKINNING",
"members": [
{
"name": "jointsTextureSize",
"type": 14,
"count": 1
}
],
"defines": [
"CC_USE_SKINNING",
"CC_USE_JOINTS_TEXTRUE"
],
"binding": 0
},
{
"name": "JOINT_MATRIX",
"members": [
{
"name": "jointMatrices",
"type": 26,
"count": 50
}
],
"defines": [
"CC_USE_SKINNING"
],
"binding": 1
},
{
"name": "MAIN_TILING",
"members": [
{
"name": "mainTiling",
"type": 14,
"count": 1
},
{
"name": "mainOffset",
"type": 14,
"count": 1
}
],
"defines": [],
"binding": 2
},
{
"name": "ALPHA_TEST",
"members": [
{
"name": "alphaThreshold",
"type": 13,
"count": 1
}
],
"defines": [
"USE_ALPHA_TEST"
],
"binding": 3
},
{
"name": "UNLIT",
"members": [
{
"name": "diffuseColor",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 4
}
],
"samplers": [
{
"name": "jointsTexture",
"type": 29,
"count": 1,
"defines": [
"CC_USE_SKINNING",
"CC_USE_JOINTS_TEXTRUE"
],
"binding": 30
},
{
"name": "diffuseTexture",
"type": 29,
"count": 1,
"defines": [
"USE_DIFFUSE_TEXTURE"
],
"binding": 31
}
],
"record": null,
"name": "builtin-unlit|unlit-vs|unlit-fs"
}
]
}
]
\ No newline at end of file
[
{
"__type__": "cc.EffectAsset",
"_name": "builtin-2d-gray-sprite",
"techniques": [
{
"passes": [
{
"blendState": {
"targets": [
{
"blend": true
}
]
},
"rasterizerState": {
"cullMode": 0
},
"properties": {
"texture": {
"value": "white",
"type": 29
}
},
"program": "builtin-2d-gray-sprite|vs|fs"
}
]
}
],
"shaders": [
{
"hash": 4278481454,
"glsl3": {
"vert": "\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nin vec3 a_position;\nin mediump vec2 a_uv0;\nout mediump vec2 v_uv0;\nin vec4 a_color;\nout vec4 v_color;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n v_uv0 = a_uv0;\n v_color = a_color;\n}",
"frag": "\nprecision highp float;\nuniform sampler2D texture;\nin mediump vec2 v_uv0;\nin vec4 v_color;\nvoid main () {\n vec4 color = v_color;\n vec4 texture_tmp = texture(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_texture\n texture_tmp.a *= texture(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n color.rgb *= (texture_tmp.rgb * texture_tmp.rgb);\n color.a *= texture_tmp.a;\n #else\n color *= texture_tmp;\n #endif\n float gray = 0.2126*color.r + 0.7152*color.g + 0.0722*color.b;\n gl_FragColor = vec4(gray, gray, gray, color.a);\n}"
},
"glsl1": {
"vert": "\nprecision highp float;\nuniform mat4 cc_matViewProj;\nattribute vec3 a_position;\nattribute mediump vec2 a_uv0;\nvarying mediump vec2 v_uv0;\nattribute vec4 a_color;\nvarying vec4 v_color;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n v_uv0 = a_uv0;\n v_color = a_color;\n}",
"frag": "\nprecision highp float;\nuniform sampler2D texture;\nvarying mediump vec2 v_uv0;\nvarying vec4 v_color;\nvoid main () {\n vec4 color = v_color;\n vec4 texture_tmp = texture2D(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_texture\n texture_tmp.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n color.rgb *= (texture_tmp.rgb * texture_tmp.rgb);\n color.a *= texture_tmp.a;\n #else\n color *= texture_tmp;\n #endif\n float gray = 0.2126*color.r + 0.7152*color.g + 0.0722*color.b;\n gl_FragColor = vec4(gray, gray, gray, color.a);\n}"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [],
"samplers": []
}
},
"defines": [
{
"name": "CC_USE_ALPHA_ATLAS_texture",
"type": "boolean",
"defines": []
},
{
"name": "INPUT_IS_GAMMA",
"type": "boolean",
"defines": []
}
],
"blocks": [],
"samplers": [
{
"name": "texture",
"type": 29,
"count": 1,
"defines": [],
"binding": 30
}
],
"record": null,
"name": "builtin-2d-gray-sprite|vs|fs"
}
]
},
{
"__type__": "cc.Material",
"_name": "builtin-2d-gray-sprite",
"_effectAsset": {
"__uuid__": "14TDKXr2NJ6LjvHPops74o"
},
"_techniqueData": {}
}
]
\ No newline at end of file
[
{
"__type__": "cc.Material",
"_name": "builtin-2d-label",
"_effectAsset": {
"__uuid__": "f1h0LXVtJOta5JLZ1xCzfI"
},
"_techniqueData": {
"0": {
"defines": {
"USE_TEXTURE": true
}
}
}
},
{
"__type__": "cc.EffectAsset",
"_name": "builtin-2d-label",
"techniques": [
{
"passes": [
{
"blendState": {
"targets": [
{
"blend": true
}
]
},
"rasterizerState": {
"cullMode": 0
},
"properties": {
"texture": {
"value": "white",
"type": 29
},
"alphaThreshold": {
"value": [
0.5
],
"type": 13
},
"outlineSize": {
"value": [
0
],
"type": 13
},
"outlineColor": {
"value": [
1,
1,
1,
1
],
"type": 16
}
},
"program": "builtin-2d-label|vs|fs"
}
]
}
],
"shaders": [
{
"hash": 1105459032,
"glsl3": {
"vert": "\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\nout vec4 v_color;\n#if USE_TEXTURE\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}",
"frag": "\n#if CC_SUPPORT_standard_derivatives\n #extension GL_OES_standard_derivatives : enable\n#endif\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nin vec4 v_color;\n#if USE_TEXTURE\nin vec2 v_uv0;\nuniform sampler2D texture;\n#endif\n#if USE_SDF\nuniform Outline {\n vec4 outlineColor;\n float outlineSize;\n};\n#endif\nvoid main () {\n#if USE_SDF\n #if USE_TEXTURE_ALPHAONLY\n float dist = texture(texture, v_uv0).a;\n #else\n float dist = texture(texture, v_uv0).r;\n #endif\n #if USE_SDF_EXTEND\n const float EDGE_VALUE = 0.45;\n #else\n const float EDGE_VALUE = 0.5;\n #endif\n #if CC_SUPPORT_standard_derivatives\n float smoothing = fwidth(dist);\n #else\n float smoothing = 0.05;\n #endif\n float outEdge = EDGE_VALUE - outlineSize;\n float bg = smoothstep(outEdge - smoothing, outEdge, dist);\n float fg = smoothstep(EDGE_VALUE - smoothing, EDGE_VALUE, dist);\n vec4 fgColor = outlineColor * (1.0 - fg) + v_color * fg;\n gl_FragColor = vec4(fgColor.rgb, fgColor.a * bg);\n#else\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n #if USE_TEXTURE_ALPHAONLY\n o.a *= texture(texture, v_uv0).a;\n #else\n o *= texture(texture, v_uv0);\n #endif\n #if CC_USE_ALPHA_ATLAS_TEXTURE\n o.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #endif\n o *= v_color;\n ALPHA_TEST(o);\n gl_FragColor = o;\n#endif\n}"
},
"glsl1": {
"vert": "\nprecision highp float;\nuniform mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}",
"frag": "\n#if CC_SUPPORT_standard_derivatives\n #extension GL_OES_standard_derivatives : enable\n#endif\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvarying vec4 v_color;\n#if USE_TEXTURE\nvarying vec2 v_uv0;\nuniform sampler2D texture;\n#endif\n#if USE_SDF\nuniform vec4 outlineColor;\nuniform float outlineSize;\n#endif\nvoid main () {\n#if USE_SDF\n #if USE_TEXTURE_ALPHAONLY\n float dist = texture2D(texture, v_uv0).a;\n #else\n float dist = texture2D(texture, v_uv0).r;\n #endif\n #if USE_SDF_EXTEND\n const float EDGE_VALUE = 0.45;\n #else\n const float EDGE_VALUE = 0.5;\n #endif\n #if CC_SUPPORT_standard_derivatives\n float smoothing = fwidth(dist);\n #else\n float smoothing = 0.05;\n #endif\n float outEdge = EDGE_VALUE - outlineSize;\n float bg = smoothstep(outEdge - smoothing, outEdge, dist);\n float fg = smoothstep(EDGE_VALUE - smoothing, EDGE_VALUE, dist);\n vec4 fgColor = outlineColor * (1.0 - fg) + v_color * fg;\n gl_FragColor = vec4(fgColor.rgb, fgColor.a * bg);\n#else\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n #if USE_TEXTURE_ALPHAONLY\n o.a *= texture2D(texture, v_uv0).a;\n #else\n o *= texture2D(texture, v_uv0);\n #endif\n #if CC_USE_ALPHA_ATLAS_TEXTURE\n o.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #endif\n o *= v_color;\n ALPHA_TEST(o);\n gl_FragColor = o;\n#endif\n}"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "USE_TEXTURE",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_MODEL",
"type": "boolean",
"defines": []
},
{
"name": "CC_SUPPORT_standard_derivatives",
"type": "boolean",
"defines": []
},
{
"name": "USE_ALPHA_TEST",
"type": "boolean",
"defines": []
},
{
"name": "USE_SDF",
"type": "boolean",
"defines": []
},
{
"name": "USE_TEXTURE_ALPHAONLY",
"type": "boolean",
"defines": [
"USE_SDF"
]
},
{
"name": "USE_SDF_EXTEND",
"type": "boolean",
"defines": [
"USE_SDF"
]
},
{
"name": "CC_USE_ALPHA_ATLAS_TEXTURE",
"type": "boolean",
"defines": [
"USE_TEXTURE"
]
}
],
"blocks": [
{
"name": "ALPHA_TEST",
"members": [
{
"name": "alphaThreshold",
"type": 13,
"count": 1
}
],
"defines": [
"USE_ALPHA_TEST"
],
"binding": 0
},
{
"name": "Outline",
"members": [
{
"name": "outlineColor",
"type": 16,
"count": 1
},
{
"name": "outlineSize",
"type": 13,
"count": 1
}
],
"defines": [
"USE_SDF"
],
"binding": 1
}
],
"samplers": [
{
"name": "texture",
"type": 29,
"count": 1,
"defines": [
"USE_TEXTURE"
],
"binding": 30
}
],
"record": null,
"name": "builtin-2d-label|vs|fs"
}
]
}
]
\ No newline at end of file
[
{
"__type__": "cc.EffectAsset",
"_name": "builtin-3d-trail",
"techniques": [
{
"name": "add",
"passes": [
{
"rasterizerState": {
"cullMode": 0
},
"blendState": {
"targets": [
{
"blend": true,
"blendSrc": 770,
"blendDst": 1,
"blendSrcAlpha": 770,
"blendDstAlpha": 1
}
]
},
"depthStencilState": {
"depthTest": true,
"depthWrite": false
},
"properties": {
"mainTexture": {
"value": "grey",
"type": 29
},
"mainTiling_Offset": {
"value": [
1,
1,
0,
0
],
"type": 16
},
"frameTile_velLenScale": {
"value": [
1,
1,
0,
0
],
"type": 16
},
"tintColor": {
"value": [
0.5,
0.5,
0.5,
0.5
],
"inspector": {
"type": "color"
},
"type": 16
}
},
"program": "builtin-3d-trail|particle-trail:vs_main|tinted-fs:add"
}
]
},
{
"name": "alpha-blend",
"passes": [
{
"rasterizerState": {
"cullMode": 0
},
"blendState": {
"targets": [
{
"blend": true,
"blendSrc": 1,
"blendDst": 771,
"blendSrcAlpha": 1,
"blendDstAlpha": 771
}
]
},
"depthStencilState": {
"depthTest": true,
"depthWrite": false
},
"properties": {
"mainTexture": {
"value": "grey",
"type": 29
},
"mainTiling_Offset": {
"value": [
1,
1,
0,
0
],
"type": 16
},
"frameTile_velLenScale": {
"value": [
1,
1,
0,
0
],
"type": 16
},
"tintColor": {
"value": [
0.5,
0.5,
0.5,
0.5
],
"inspector": {
"type": "color"
},
"type": 16
}
},
"program": "builtin-3d-trail|particle-trail:vs_main|tinted-fs:add"
}
]
},
{
"name": "add-multiply",
"passes": [
{
"rasterizerState": {
"cullMode": 0
},
"blendState": {
"targets": [
{
"blend": true,
"blendSrc": 1,
"blendDst": 771,
"blendSrcAlpha": 1,
"blendDstAlpha": 771
}
]
},
"depthStencilState": {
"depthTest": true,
"depthWrite": false
},
"properties": {
"mainTexture": {
"value": "grey",
"type": 29
},
"mainTiling_Offset": {
"value": [
1,
1,
0,
0
],
"type": 16
},
"frameTile_velLenScale": {
"value": [
1,
1,
0,
0
],
"type": 16
},
"tintColor": {
"value": [
0.5,
0.5,
0.5,
0.5
],
"inspector": {
"type": "color"
},
"type": 16
}
},
"program": "builtin-3d-trail|particle-trail:vs_main|tinted-fs:multiply"
}
]
},
{
"name": "add-smooth",
"passes": [
{
"rasterizerState": {
"cullMode": 0
},
"blendState": {
"targets": [
{
"blend": true,
"blendSrc": 1,
"blendDst": 771,
"blendSrcAlpha": 1,
"blendDstAlpha": 771
}
]
},
"depthStencilState": {
"depthTest": true,
"depthWrite": false
},
"properties": {
"mainTexture": {
"value": "grey",
"type": 29
},
"mainTiling_Offset": {
"value": [
1,
1,
0,
0
],
"type": 16
},
"frameTile_velLenScale": {
"value": [
1,
1,
0,
0
],
"type": 16
}
},
"program": "builtin-3d-trail|particle-trail:vs_main|no-tint-fs:addSmooth"
}
]
},
{
"name": "premultiply-blend",
"passes": [
{
"rasterizerState": {
"cullMode": 0
},
"blendState": {
"targets": [
{
"blend": true,
"blendSrc": 1,
"blendDst": 771,
"blendSrcAlpha": 1,
"blendDstAlpha": 771
}
]
},
"depthStencilState": {
"depthTest": true,
"depthWrite": false
},
"properties": {
"mainTexture": {
"value": "grey",
"type": 29
},
"mainTiling_Offset": {
"value": [
1,
1,
0,
0
],
"type": 16
},
"frameTile_velLenScale": {
"value": [
1,
1,
0,
0
],
"type": 16
}
},
"program": "builtin-3d-trail|particle-trail:vs_main|no-tint-fs:premultiplied"
}
]
}
],
"shaders": [
{
"hash": 2929688198,
"glsl3": {
"vert": "\nprecision mediump float;\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nin vec3 a_position;\nin vec4 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n out vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }",
"frag": "\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\n#if CC_DRAW_WIRE_FRAME\n in vec3 vBarycentric;\n#endif\nuniform sampler2D mainTexture;\nuniform FragConstants {\n vec4 tintColor;\n};\nvec4 add () {\n vec4 col = 2.0 * color * tintColor * texture(mainTexture, uv);\n #if CC_DRAW_WIRE_FRAME\n if (any(lessThan(vBarycentric, vec3(0.02)))) {\n col = vec4(0., 1., 1., 1.);\n }\n #endif\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = add(); }"
},
"glsl1": {
"vert": "\nprecision mediump float;\nuniform vec4 mainTiling_Offset;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nattribute vec3 a_position;\nattribute vec4 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }",
"frag": "\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nuniform sampler2D mainTexture;\nuniform vec4 tintColor;\nvec4 add () {\n vec4 col = 2.0 * color * tintColor * texture2D(mainTexture, uv);\n #if CC_DRAW_WIRE_FRAME\n if (any(lessThan(vBarycentric, vec3(0.02)))) {\n col = vec4(0., 1., 1., 1.);\n }\n #endif\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = add(); }"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "CC_DRAW_WIRE_FRAME",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_WORLD_SPACE",
"type": "boolean",
"defines": []
},
{
"name": "OUTPUT_TO_GAMMA",
"type": "boolean",
"defines": []
}
],
"blocks": [
{
"name": "Constants",
"members": [
{
"name": "mainTiling_Offset",
"type": 16,
"count": 1
},
{
"name": "frameTile_velLenScale",
"type": 16,
"count": 1
},
{
"name": "scale",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 0
},
{
"name": "FragConstants",
"members": [
{
"name": "tintColor",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 1
}
],
"samplers": [
{
"name": "mainTexture",
"type": 29,
"count": 1,
"defines": [],
"binding": 30
}
],
"record": null,
"name": "builtin-3d-trail|particle-trail:vs_main|tinted-fs:add"
},
{
"hash": 4224037318,
"glsl3": {
"vert": "\nprecision mediump float;\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nin vec3 a_position;\nin vec4 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n out vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }",
"frag": "\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\n#if CC_DRAW_WIRE_FRAME\n in vec3 vBarycentric;\n#endif\nuniform sampler2D mainTexture;\nuniform FragConstants {\n vec4 tintColor;\n};\nvec4 multiply () {\n vec4 col;\n vec4 texColor = texture(mainTexture, uv);\n col.rgb = tintColor.rgb * texColor.rgb * color.rgb * vec3(2.0);\n col.a = (1.0 - texColor.a) * (tintColor.a * color.a * 2.0);\n #if CC_DRAW_WIRE_FRAME\n if (any(lessThan(vBarycentric, vec3(0.02)))) {\n col = vec4(0., 1., 1., col.a);\n }\n #endif\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = multiply(); }"
},
"glsl1": {
"vert": "\nprecision mediump float;\nuniform vec4 mainTiling_Offset;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nattribute vec3 a_position;\nattribute vec4 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }",
"frag": "\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nuniform sampler2D mainTexture;\nuniform vec4 tintColor;\nvec4 multiply () {\n vec4 col;\n vec4 texColor = texture2D(mainTexture, uv);\n col.rgb = tintColor.rgb * texColor.rgb * color.rgb * vec3(2.0);\n col.a = (1.0 - texColor.a) * (tintColor.a * color.a * 2.0);\n #if CC_DRAW_WIRE_FRAME\n if (any(lessThan(vBarycentric, vec3(0.02)))) {\n col = vec4(0., 1., 1., col.a);\n }\n #endif\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = multiply(); }"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "CC_DRAW_WIRE_FRAME",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_WORLD_SPACE",
"type": "boolean",
"defines": []
},
{
"name": "OUTPUT_TO_GAMMA",
"type": "boolean",
"defines": []
}
],
"blocks": [
{
"name": "Constants",
"members": [
{
"name": "mainTiling_Offset",
"type": 16,
"count": 1
},
{
"name": "frameTile_velLenScale",
"type": 16,
"count": 1
},
{
"name": "scale",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 0
},
{
"name": "FragConstants",
"members": [
{
"name": "tintColor",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 1
}
],
"samplers": [
{
"name": "mainTexture",
"type": 29,
"count": 1,
"defines": [],
"binding": 30
}
],
"record": null,
"name": "builtin-3d-trail|particle-trail:vs_main|tinted-fs:multiply"
},
{
"hash": 1704877102,
"glsl3": {
"vert": "\nprecision mediump float;\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nin vec3 a_position;\nin vec4 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n out vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }",
"frag": "\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\nuniform sampler2D mainTexture;\nvec4 addSmooth () {\n vec4 col = color * texture(mainTexture, uv);\n col.rgb *= col.a;\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = addSmooth(); }"
},
"glsl1": {
"vert": "\nprecision mediump float;\nuniform vec4 mainTiling_Offset;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nattribute vec3 a_position;\nattribute vec4 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }",
"frag": "\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nvec4 addSmooth () {\n vec4 col = color * texture2D(mainTexture, uv);\n col.rgb *= col.a;\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = addSmooth(); }"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "CC_DRAW_WIRE_FRAME",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_WORLD_SPACE",
"type": "boolean",
"defines": []
},
{
"name": "OUTPUT_TO_GAMMA",
"type": "boolean",
"defines": []
}
],
"blocks": [
{
"name": "Constants",
"members": [
{
"name": "mainTiling_Offset",
"type": 16,
"count": 1
},
{
"name": "frameTile_velLenScale",
"type": 16,
"count": 1
},
{
"name": "scale",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 0
}
],
"samplers": [
{
"name": "mainTexture",
"type": 29,
"count": 1,
"defines": [],
"binding": 30
}
],
"record": null,
"name": "builtin-3d-trail|particle-trail:vs_main|no-tint-fs:addSmooth"
},
{
"hash": 2717357054,
"glsl3": {
"vert": "\nprecision mediump float;\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nin vec3 a_position;\nin vec4 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n out vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }",
"frag": "\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\nuniform sampler2D mainTexture;\nvec4 premultiplied () {\n vec4 col = color * texture(mainTexture, uv) * color.a;\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = premultiplied(); }"
},
"glsl1": {
"vert": "\nprecision mediump float;\nuniform vec4 mainTiling_Offset;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nattribute vec3 a_position;\nattribute vec4 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }",
"frag": "\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nvec4 premultiplied () {\n vec4 col = color * texture2D(mainTexture, uv) * color.a;\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = premultiplied(); }"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "CC_DRAW_WIRE_FRAME",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_WORLD_SPACE",
"type": "boolean",
"defines": []
},
{
"name": "OUTPUT_TO_GAMMA",
"type": "boolean",
"defines": []
}
],
"blocks": [
{
"name": "Constants",
"members": [
{
"name": "mainTiling_Offset",
"type": 16,
"count": 1
},
{
"name": "frameTile_velLenScale",
"type": 16,
"count": 1
},
{
"name": "scale",
"type": 16,
"count": 1
}
],
"defines": [],
"binding": 0
}
],
"samplers": [
{
"name": "mainTexture",
"type": 29,
"count": 1,
"defines": [],
"binding": 30
}
],
"record": null,
"name": "builtin-3d-trail|particle-trail:vs_main|no-tint-fs:premultiplied"
}
]
},
{
"__type__": "cc.Material",
"_name": "builtin-3d-trail",
"_effectAsset": {
"__uuid__": "2afAA24LNP4YmYiaVLiivs"
},
"_techniqueData": {
"0": {
"props": {
"mainTexture": {
"__uuid__": "02delMVqdBD70a/HSD99FK"
}
}
}
}
}
]
\ No newline at end of file
[
{
"__type__": "cc.EffectAsset",
"_name": "builtin-2d-graphics",
"techniques": [
{
"passes": [
{
"blendState": {
"targets": [
{
"blend": true,
"blendSrc": 1,
"blendDst": 771,
"blendSrcAlpha": 1,
"blendDstAlpha": 771
}
]
},
"rasterizerState": {
"cullMode": 0
},
"properties": {
"alphaThreshold": {
"value": [
0.5
],
"type": 13
}
},
"program": "builtin-2d-graphics|vs|fs"
}
]
}
],
"shaders": [
{
"hash": 550349795,
"glsl3": {
"vert": "\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\nout vec4 v_color;\nin float a_dist;\nout float v_dist;\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n pos = cc_matViewProj * cc_matWorld * pos;\n v_color = a_color;\n v_dist = a_dist;\n gl_Position = pos;\n}",
"frag": "\n#if CC_SUPPORT_standard_derivatives\n #extension GL_OES_standard_derivatives : enable\n#endif\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nin vec4 v_color;\nin float v_dist;\nvoid main () {\n vec4 o = v_color;\n ALPHA_TEST(o);\n #if CC_SUPPORT_standard_derivatives\n float aa = fwidth(v_dist);\n #else\n float aa = 0.05;\n #endif\n float alpha = 1. - smoothstep(-aa, 0., abs(v_dist) - 1.0);\n o.rgb *= o.a;\n o *= alpha;\n gl_FragColor = o;\n}"
},
"glsl1": {
"vert": "\nprecision highp float;\nuniform mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\nattribute float a_dist;\nvarying float v_dist;\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n pos = cc_matViewProj * cc_matWorld * pos;\n v_color = a_color;\n v_dist = a_dist;\n gl_Position = pos;\n}",
"frag": "\n#if CC_SUPPORT_standard_derivatives\n #extension GL_OES_standard_derivatives : enable\n#endif\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvarying vec4 v_color;\nvarying float v_dist;\nvoid main () {\n vec4 o = v_color;\n ALPHA_TEST(o);\n #if CC_SUPPORT_standard_derivatives\n float aa = fwidth(v_dist);\n #else\n float aa = 0.05;\n #endif\n float alpha = 1. - smoothstep(-aa, 0., abs(v_dist) - 1.0);\n o.rgb *= o.a;\n o *= alpha;\n gl_FragColor = o;\n}"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "CC_SUPPORT_standard_derivatives",
"type": "boolean",
"defines": []
},
{
"name": "USE_ALPHA_TEST",
"type": "boolean",
"defines": []
}
],
"blocks": [
{
"name": "ALPHA_TEST",
"members": [
{
"name": "alphaThreshold",
"type": 13,
"count": 1
}
],
"defines": [
"USE_ALPHA_TEST"
],
"binding": 0
}
],
"samplers": [],
"record": null,
"name": "builtin-2d-graphics|vs|fs"
}
]
},
{
"__type__": "cc.Material",
"_name": "builtin-2d-graphics",
"_effectAsset": {
"__uuid__": "30aC+Hnw1PF4pEcoY3kUYb"
},
"_techniqueData": {
"0": {
"defines": {}
}
}
}
]
\ No newline at end of file
[
{
"__type__": "cc.EffectAsset",
"_name": "builtin-clear-stencil",
"techniques": [
{
"passes": [
{
"blendState": {
"targets": [
{
"blend": true
}
]
},
"rasterizerState": {
"cullMode": 0
},
"program": "builtin-clear-stencil|vs|fs"
}
]
}
],
"shaders": [
{
"hash": 2075641479,
"glsl3": {
"vert": "\nprecision highp float;\nin vec3 a_position;\nvoid main () {\n gl_Position = vec4(a_position, 1);\n}",
"frag": "\nprecision highp float;\nvoid main () {\n gl_FragColor = vec4(1.0);\n}"
},
"glsl1": {
"vert": "\nprecision highp float;\nattribute vec3 a_position;\nvoid main () {\n gl_Position = vec4(a_position, 1);\n}",
"frag": "\nprecision highp float;\nvoid main () {\n gl_FragColor = vec4(1.0);\n}"
},
"builtins": {
"globals": {
"blocks": [],
"samplers": []
},
"locals": {
"blocks": [],
"samplers": []
}
},
"defines": [],
"blocks": [],
"samplers": [],
"record": null,
"name": "builtin-clear-stencil|vs|fs"
}
]
},
{
"__type__": "cc.Material",
"_name": "builtin-clear-stencil",
"_effectAsset": {
"__uuid__": "c0BAyVxX9JzZy8EjFrc9DU"
},
"_techniqueData": {}
}
]
\ No newline at end of file
[
{
"__type__": "cc.EffectAsset",
"_name": "builtin-2d-spine",
"techniques": [
{
"passes": [
{
"blendState": {
"targets": [
{
"blend": true
}
]
},
"rasterizerState": {
"cullMode": 0
},
"properties": {
"texture": {
"value": "white",
"type": 29
},
"alphaThreshold": {
"value": [
0.5
],
"type": 13
}
},
"program": "builtin-2d-spine|vs|fs"
}
]
}
],
"shaders": [
{
"hash": 3550530479,
"glsl3": {
"vert": "\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\n#if USE_TINT\n in vec4 a_color0;\n#endif\nin vec2 a_uv0;\nout vec2 v_uv0;\nout vec4 v_light;\n#if USE_TINT\n out vec4 v_dark;\n#endif\nvoid main () {\n mat4 mvp;\n #if CC_USE_MODEL\n mvp = cc_matViewProj * cc_matWorld;\n #else\n mvp = cc_matViewProj;\n #endif\n v_uv0 = a_uv0;\n v_light = a_color;\n #if USE_TINT\n v_dark = a_color0;\n #endif\n gl_Position = mvp * vec4(a_position, 1);\n}",
"frag": "\nprecision highp float;\nuniform sampler2D texture;\nin vec2 v_uv0;\nin vec4 v_light;\n#if USE_TINT\n in vec4 v_dark;\n#endif\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvoid main () {\n vec4 texColor = vec4(1.0);\n vec4 texture_tmp = texture(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_texture\n texture_tmp.a *= texture(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n texColor.rgb *= (texture_tmp.rgb * texture_tmp.rgb);\n texColor.a *= texture_tmp.a;\n #else\n texColor *= texture_tmp;\n #endif\n vec4 finalColor;\n #if USE_TINT\n finalColor.a = v_light.a * texColor.a;\n finalColor.rgb = ((texColor.a - 1.0) * v_dark.a + 1.0 - texColor.rgb) * v_dark.rgb + texColor.rgb * v_light.rgb;\n #else\n finalColor = texColor * v_light;\n #endif\n ALPHA_TEST(finalColor);\n gl_FragColor = finalColor;\n}"
},
"glsl1": {
"vert": "\nprecision highp float;\nuniform mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\n#if USE_TINT\n attribute vec4 a_color0;\n#endif\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\nvarying vec4 v_light;\n#if USE_TINT\n varying vec4 v_dark;\n#endif\nvoid main () {\n mat4 mvp;\n #if CC_USE_MODEL\n mvp = cc_matViewProj * cc_matWorld;\n #else\n mvp = cc_matViewProj;\n #endif\n v_uv0 = a_uv0;\n v_light = a_color;\n #if USE_TINT\n v_dark = a_color0;\n #endif\n gl_Position = mvp * vec4(a_position, 1);\n}",
"frag": "\nprecision highp float;\nuniform sampler2D texture;\nvarying vec2 v_uv0;\nvarying vec4 v_light;\n#if USE_TINT\n varying vec4 v_dark;\n#endif\n#if USE_ALPHA_TEST\n uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvoid main () {\n vec4 texColor = vec4(1.0);\n vec4 texture_tmp = texture2D(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_texture\n texture_tmp.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n texColor.rgb *= (texture_tmp.rgb * texture_tmp.rgb);\n texColor.a *= texture_tmp.a;\n #else\n texColor *= texture_tmp;\n #endif\n vec4 finalColor;\n #if USE_TINT\n finalColor.a = v_light.a * texColor.a;\n finalColor.rgb = ((texColor.a - 1.0) * v_dark.a + 1.0 - texColor.rgb) * v_dark.rgb + texColor.rgb * v_light.rgb;\n #else\n finalColor = texColor * v_light;\n #endif\n ALPHA_TEST(finalColor);\n gl_FragColor = finalColor;\n}"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "USE_TINT",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_MODEL",
"type": "boolean",
"defines": []
},
{
"name": "USE_ALPHA_TEST",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_ALPHA_ATLAS_texture",
"type": "boolean",
"defines": []
},
{
"name": "INPUT_IS_GAMMA",
"type": "boolean",
"defines": []
}
],
"blocks": [
{
"name": "ALPHA_TEST",
"members": [
{
"name": "alphaThreshold",
"type": 13,
"count": 1
}
],
"defines": [
"USE_ALPHA_TEST"
],
"binding": 0
}
],
"samplers": [
{
"name": "texture",
"type": 29,
"count": 1,
"defines": [],
"binding": 30
}
],
"record": null,
"name": "builtin-2d-spine|vs|fs"
}
]
},
{
"__type__": "cc.Material",
"_name": "builtin-2d-spine",
"_effectAsset": {
"__uuid__": "0ek66qC1NOQLjgYmi04HvX"
},
"_techniqueData": {}
}
]
\ No newline at end of file
{
"type": "cc.Texture2D",
"data": "0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,1,0,0"
}
\ No newline at end of file
{
"__type__": "cc.EffectAsset",
"_name": "builtin-2d-sprite",
"techniques": [
{
"passes": [
{
"blendState": {
"targets": [
{
"blend": true
}
]
},
"rasterizerState": {
"cullMode": 0
},
"properties": {
"texture": {
"value": "white",
"type": 29
},
"alphaThreshold": {
"value": [
0.5
],
"type": 13
}
},
"program": "builtin-2d-sprite|vs|fs"
}
]
}
],
"shaders": [
{
"hash": 3278106612,
"glsl3": {
"vert": "\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\nout vec4 v_color;\n#if USE_TEXTURE\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}",
"frag": "\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nin vec4 v_color;\n#if USE_TEXTURE\nin vec2 v_uv0;\nuniform sampler2D texture;\n#endif\nvoid main () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n vec4 texture_tmp = texture(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_texture\n texture_tmp.a *= texture(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n o.rgb *= (texture_tmp.rgb * texture_tmp.rgb);\n o.a *= texture_tmp.a;\n #else\n o *= texture_tmp;\n #endif\n #endif\n o *= v_color;\n ALPHA_TEST(o);\n gl_FragColor = o;\n}"
},
"glsl1": {
"vert": "\nprecision highp float;\nuniform mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}",
"frag": "\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvarying vec4 v_color;\n#if USE_TEXTURE\nvarying vec2 v_uv0;\nuniform sampler2D texture;\n#endif\nvoid main () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n vec4 texture_tmp = texture2D(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_texture\n texture_tmp.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n o.rgb *= (texture_tmp.rgb * texture_tmp.rgb);\n o.a *= texture_tmp.a;\n #else\n o *= texture_tmp;\n #endif\n #endif\n o *= v_color;\n ALPHA_TEST(o);\n gl_FragColor = o;\n}"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
}
],
"samplers": []
},
"locals": {
"blocks": [
{
"name": "CCLocal",
"defines": []
}
],
"samplers": []
}
},
"defines": [
{
"name": "USE_TEXTURE",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_MODEL",
"type": "boolean",
"defines": []
},
{
"name": "USE_ALPHA_TEST",
"type": "boolean",
"defines": []
},
{
"name": "CC_USE_ALPHA_ATLAS_texture",
"type": "boolean",
"defines": [
"USE_TEXTURE"
]
},
{
"name": "INPUT_IS_GAMMA",
"type": "boolean",
"defines": [
"USE_TEXTURE"
]
}
],
"blocks": [
{
"name": "ALPHA_TEST",
"members": [
{
"name": "alphaThreshold",
"type": 13,
"count": 1
}
],
"defines": [
"USE_ALPHA_TEST"
],
"binding": 0
}
],
"samplers": [
{
"name": "texture",
"type": 29,
"count": 1,
"defines": [
"USE_TEXTURE"
],
"binding": 30
}
],
"record": null,
"name": "builtin-2d-sprite|vs|fs"
}
]
}
\ No newline at end of file
{
"__type__": "cc.Material",
"_name": "builtin-2d-base",
"_effectAsset": {
"__uuid__": "28dPjdQWxEQIG3VVl1Qm6T"
},
"_techniqueData": {}
}
\ No newline at end of file
{
"__type__": "cc.Material",
"_name": "builtin-2d-sprite",
"_effectAsset": {
"__uuid__": "28dPjdQWxEQIG3VVl1Qm6T"
},
"_techniqueData": {
"0": {
"defines": {
"USE_TEXTURE": true
}
}
}
}
\ No newline at end of file
(function e(t, n, r) {
function s(o, u) {
if (!n[o]) {
if (!t[o]) {
var b = o.split("/");
b = b[b.length - 1];
if (!t[b]) {
var a = "function" == typeof __require && __require;
if (!u && a) return a(b, !0);
if (i) return i(b, !0);
throw new Error("Cannot find module '" + o + "'");
}
o = b;
}
var f = n[o] = {
exports: {}
};
t[o][0].call(f.exports, function(e) {
var n = t[o][1][e];
return s(n || e);
}, f, f.exports, e, t, n, r);
}
return n[o].exports;
}
var i = "function" == typeof __require && __require;
for (var o = 0; o < r.length; o++) s(r[o]);
return s;
})({}, {}, []);
\ No newline at end of file
{
"paths": {},
"uuids": [
"02delMVqdBD70a/HSD99FK",
"10jEphdBFOu6ZZQmSeBs3z",
"1ejl+z0StELb2mEvEiZ6vl",
"23FwyEU6VHPL4kx+ue0b+s",
"35MdfsfclJvb6Ukmd9ybfA",
"3dKPHJglZBzI+eAcfj4Tcf",
"43dIM3eEVID7q17+J3if3y",
"47IBQCBJVA+JgCZj8hhYJe",
"58amK658xERYqfswqnS0cS",
"82nQe40gpGGLBfTRrGc7FO",
"8bAJ+sKehJ1J1k2EgZ9QAz",
"8e8ut3kpRBhpKmX4dq0oBB",
"8fjHmUGH5DnrGqgruYvYar",
"99k7fI5ORLSIkinFX0I72z",
"9bvaMerUlDyary99mJa6xp",
"a2MjXRFdtLlYQ5ouAFv/+R",
"a61QWNTm1PcKeDbmxqviuz",
"a8ok1LbyZDWKL7JK1OVhjE",
"abBAGcwMFDC6xD0tMtsFUn",
"b8nYBWqRFFm6W9ONFNUD7C",
"bcbmiDGrpPcaMERxUpJKEF",
"c38YYUxxZPH4mfCfBzrGxD",
"c8Gskh2AlF1Zhou/3P22sh",
"d8HsitJHxOYqo801xBk8ev",
"e5N4U/fdJDP7EIQ6GrCaVv",
"ecpdLyjvZBwrvm+cedCcQy"
],
"scenes": {
"db://assets/mz_004/scene/scene.fire": "c38YYUxxZPH4mfCfBzrGxD"
},
"redirect": [
"02delMVqdBD70a/HSD99FK",
0,
"ecpdLyjvZBwrvm+cedCcQy",
0
],
"deps": [
"internal"
],
"packs": {
"0cbb995cd": [
"10jEphdBFOu6ZZQmSeBs3z",
"23FwyEU6VHPL4kx+ue0b+s",
"58amK658xERYqfswqnS0cS",
"82nQe40gpGGLBfTRrGc7FO",
"8e8ut3kpRBhpKmX4dq0oBB",
"8fjHmUGH5DnrGqgruYvYar",
"99k7fI5ORLSIkinFX0I72z",
"9bvaMerUlDyary99mJa6xp",
"a2MjXRFdtLlYQ5ouAFv/+R",
"a8ok1LbyZDWKL7JK1OVhjE",
"abBAGcwMFDC6xD0tMtsFUn",
"b8nYBWqRFFm6W9ONFNUD7C",
"c38YYUxxZPH4mfCfBzrGxD",
"e5N4U/fdJDP7EIQ6GrCaVv"
],
"0fd04bd60": [
"1ejl+z0StELb2mEvEiZ6vl",
"35MdfsfclJvb6Ukmd9ybfA",
"3dKPHJglZBzI+eAcfj4Tcf",
"43dIM3eEVID7q17+J3if3y",
"47IBQCBJVA+JgCZj8hhYJe",
"8bAJ+sKehJ1J1k2EgZ9QAz",
"a61QWNTm1PcKeDbmxqviuz",
"bcbmiDGrpPcaMERxUpJKEF",
"c8Gskh2AlF1Zhou/3P22sh",
"d8HsitJHxOYqo801xBk8ev"
]
},
"name": "main",
"importBase": "import",
"nativeBase": "native",
"debug": true,
"isZip": false,
"encrypted": false
}
\ No newline at end of file
[
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "white_bg",
"texture": "47IBQCBJVA+JgCZj8hhYJe",
"rect": [
0,
0,
1280,
640
],
"offset": [
0,
0
],
"originalSize": [
1280,
640
],
"capInsets": [
0,
0,
0,
0
]
}
},
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "circle",
"texture": "bcbmiDGrpPcaMERxUpJKEF",
"rect": [
0,
0,
1026,
1026
],
"offset": [
0,
0
],
"originalSize": [
1026,
1026
],
"capInsets": [
0,
0,
0,
0
]
}
},
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "bg",
"texture": "35MdfsfclJvb6Ukmd9ybfA",
"rect": [
0,
0,
715,
715
],
"offset": [
0,
0
],
"originalSize": [
715,
715
],
"capInsets": [
0,
0,
0,
0
]
}
},
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "page_down",
"texture": "c8Gskh2AlF1Zhou/3P22sh",
"rect": [
0,
0,
22,
23
],
"offset": [
0,
0
],
"originalSize": [
22,
23
],
"capInsets": [
0,
0,
0,
0
]
}
},
{
"__type__": "cc.TTFFont",
"_name": "KGMissKindyMarker",
"_native": "KGMissKindyMarker.ttf"
},
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "page_up",
"texture": "8bAJ+sKehJ1J1k2EgZ9QAz",
"rect": [
0,
0,
22,
23
],
"offset": [
0,
0
],
"originalSize": [
22,
23
],
"capInsets": [
0,
0,
0,
0
]
}
},
[
{
"__type__": "cc.Prefab",
"_name": "bgBottom",
"data": {
"__id__": 1
}
},
{
"__type__": "cc.Node",
"_name": "bgBottom",
"_children": [
{
"__id__": 2
},
{
"__id__": 3
},
{
"__id__": 4
},
{
"__id__": 5
},
{
"__id__": 7
},
{
"__id__": 9
}
],
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 1
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "a8ok1LbyZDWKL7JK1OVhjE"
},
"_sizeMode": 0
},
{
"__type__": "ff0e9h++NlKOLbC+Bu/RH2+",
"node": {
"__id__": 1
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "b4DhAnBsxPoJbGH3BcGt5i"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 1280,
"height": 132
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
-360,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "btn",
"_parent": {
"__id__": 1
},
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 2
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "a2MjXRFdtLlYQ5ouAFv/+R"
},
"_sizeMode": 0
},
{
"__type__": "cc.Button",
"node": {
"__id__": 2
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "084fApz9JAurWaytg+oJAF"
},
"_opacity": 0,
"_contentSize": {
"__type__": "cc.Size",
"width": 70,
"height": 50
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
1.55,
33.325,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "arrowUp",
"_parent": {
"__id__": 1
},
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 3
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "e5N4U/fdJDP7EIQ6GrCaVv"
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "edRAfQIkFF1YKIsDN8VNAl"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 24,
"height": 18
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
33,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "arrowDown",
"_parent": {
"__id__": 1
},
"_active": false,
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 4
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "b8nYBWqRFFm6W9ONFNUD7C"
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "d7byJPt2FE3KHHfVE1bP90"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 24,
"height": 18
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
33,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "pageUp",
"_parent": {
"__id__": 1
},
"_children": [
{
"__id__": 6
}
],
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 5
},
"_enabled": false,
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "9bvaMerUlDyary99mJa6xp"
},
"_type": 1,
"_sizeMode": 0
},
{
"__type__": "cc.Button",
"node": {
"__id__": 5
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "a9Fom8DbRPSZOeMw0Jqr8X"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 40,
"height": 40
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
618.054,
-2.429,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "spr",
"_parent": {
"__id__": 5
},
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 6
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "8fjHmUGH5DnrGqgruYvYar"
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "7aCx+Zp2ROf6cAIGRgh4ap"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 22,
"height": 23
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
-3,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "pageDown",
"_parent": {
"__id__": 1
},
"_children": [
{
"__id__": 8
}
],
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 7
},
"_enabled": false,
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "9bvaMerUlDyary99mJa6xp"
},
"_type": 1,
"_sizeMode": 0
},
{
"__type__": "cc.Layout",
"node": {
"__id__": 7
},
"_enabled": false,
"_layoutSize": {
"__type__": "cc.Size",
"width": 40,
"height": 40
}
},
{
"__type__": "cc.Button",
"node": {
"__id__": 7
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "295OcbmFNPGKH4Ej0r/d1D"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 40,
"height": 40
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
618.054,
-43.563,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "spr",
"_parent": {
"__id__": 7
},
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 8
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "82nQe40gpGGLBfTRrGc7FO"
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "acNVn9rVVHIrqRc23p2mf8"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 22,
"height": 23
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
3,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "font",
"_parent": {
"__id__": 1
},
"_active": false,
"_components": [
{
"__type__": "cc.Label",
"node": {
"__id__": 9
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_useOriginalSize": false,
"_string": "Label",
"_N$string": "Label",
"_N$file": {
"__uuid__": "8e8ut3kpRBhpKmX4dq0oBB"
},
"_isSystemFontUsed": false,
"_N$horizontalAlign": 1,
"_N$verticalAlign": 1
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "352OaAKCxOMYj+KGjjLk/4"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 122.85,
"height": 50.4
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
1,
1,
1
]
}
}
],
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "default_panel",
"texture": "d8HsitJHxOYqo801xBk8ev",
"rect": [
0,
0,
20,
20
],
"offset": [
0,
0
],
"originalSize": [
20,
20
],
"capInsets": [
6,
6,
6,
6
]
}
},
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "default_sprite_splash",
"texture": "02delMVqdBD70a/HSD99FK",
"rect": [
0,
0,
2,
2
],
"offset": [
0,
0
],
"originalSize": [
2,
2
],
"capInsets": [
0,
0,
0,
0
]
}
},
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "bg_bottom",
"texture": "a61QWNTm1PcKeDbmxqviuz",
"rect": [
0,
0,
1280,
132
],
"offset": [
0,
0
],
"originalSize": [
1280,
132
],
"capInsets": [
0,
0,
0,
0
]
}
},
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "bg_points",
"texture": "1ejl+z0StELb2mEvEiZ6vl",
"rect": [
0,
0,
1279,
720
],
"offset": [
-0.5,
0
],
"originalSize": [
1280,
720
],
"capInsets": [
0,
0,
0,
0
]
}
},
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "arrow_down",
"texture": "43dIM3eEVID7q17+J3if3y",
"rect": [
0,
0,
24,
18
],
"offset": [
0,
0
],
"originalSize": [
24,
18
],
"capInsets": [
0,
0,
0,
0
]
}
},
[
{
"__type__": "cc.SceneAsset",
"_name": "scene",
"scene": {
"__id__": 1
},
"asyncLoadAssets": null
},
{
"__type__": "cc.Scene",
"_name": "New Node",
"_children": [
{
"__id__": 2
}
],
"_active": false,
"_anchorPoint": {
"__type__": "cc.Vec2"
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "Canvas",
"_parent": {
"__id__": 1
},
"_children": [
{
"__id__": 3
},
{
"__id__": 4
},
{
"__id__": 5
},
{
"__id__": 6
},
{
"__id__": 7
},
{
"__id__": 16
}
],
"_components": [
{
"__type__": "cc.Canvas",
"node": {
"__id__": 2
},
"_designResolution": {
"__type__": "cc.Size",
"width": 1280,
"height": 720
},
"_fitHeight": false
},
{
"__type__": "cc.Widget",
"node": {
"__id__": 2
},
"_alignFlags": 45
},
{
"__type__": "335fea4K1JFqanJyztUAUJR",
"node": {
"__id__": 2
}
}
],
"_contentSize": {
"__type__": "cc.Size",
"width": 1280,
"height": 720
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
640,
360,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_id": "a5esZu+45LA5mBpvttspPD"
},
{
"__type__": "cc.Node",
"_name": "Main Camera",
"_parent": {
"__id__": 2
},
"_components": [
{
"__type__": "cc.Camera",
"node": {
"__id__": 3
},
"_clearFlags": 7,
"_depth": -1
},
{
"__type__": "cc.Widget",
"node": {
"__id__": 3
},
"_alignFlags": 45,
"_originalWidth": 1280,
"_originalHeight": 720
}
],
"_contentSize": {
"__type__": "cc.Size",
"width": 1280,
"height": 720
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "bg",
"_parent": {
"__id__": 2
},
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 4
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "58amK658xERYqfswqnS0cS"
},
"_sizeMode": 0
},
{
"__type__": "cc.Widget",
"node": {
"__id__": 4
},
"alignMode": 2,
"_left": 282.5,
"_top": 2.5,
"_originalWidth": 715,
"_originalHeight": 715
}
],
"_contentSize": {
"__type__": "cc.Size",
"width": 715,
"height": 715
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "bgPoint",
"_parent": {
"__id__": 2
},
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 5
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "abBAGcwMFDC6xD0tMtsFUn"
},
"_sizeMode": 0
},
{
"__type__": "cc.Widget",
"node": {
"__id__": 5
},
"_alignFlags": 44,
"_bottom": -10,
"_originalWidth": 1280
}
],
"_contentSize": {
"__type__": "cc.Size",
"width": 1280,
"height": 720
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
-10,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "bgWhite",
"_parent": {
"__id__": 2
},
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 6
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "10jEphdBFOu6ZZQmSeBs3z"
}
}
],
"_contentSize": {
"__type__": "cc.Size",
"width": 1280,
"height": 640
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
38.789,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "bgBottom",
"_parent": {
"__id__": 2
},
"_children": [
{
"__id__": 8
},
{
"__id__": 9
},
{
"__id__": 10
},
{
"__id__": 11
},
{
"__id__": 13
},
{
"__id__": 15
}
],
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 7
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "a8ok1LbyZDWKL7JK1OVhjE"
},
"_sizeMode": 0
},
{
"__type__": "ff0e9h++NlKOLbC+Bu/RH2+",
"node": {
"__id__": 7
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 7
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "b4DhAnBsxPoJbGH3BcGt5i"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 1280,
"height": 132
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
-360,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "btn",
"_parent": {
"__id__": 7
},
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 8
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "a2MjXRFdtLlYQ5ouAFv/+R"
},
"_sizeMode": 0
},
{
"__type__": "cc.Button",
"node": {
"__id__": 8
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 7
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "084fApz9JAurWaytg+oJAF"
},
"_opacity": 0,
"_contentSize": {
"__type__": "cc.Size",
"width": 70,
"height": 50
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
1.55,
33.325,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "arrowUp",
"_parent": {
"__id__": 7
},
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 9
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "e5N4U/fdJDP7EIQ6GrCaVv"
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 7
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "edRAfQIkFF1YKIsDN8VNAl"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 24,
"height": 18
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
33,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "arrowDown",
"_parent": {
"__id__": 7
},
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 10
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "b8nYBWqRFFm6W9ONFNUD7C"
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 7
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "d7byJPt2FE3KHHfVE1bP90"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 24,
"height": 18
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
33,
0,
0,
0,
0,
1,
0,
0,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "pageUp",
"_parent": {
"__id__": 7
},
"_children": [
{
"__id__": 12
}
],
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 11
},
"_enabled": false,
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "9bvaMerUlDyary99mJa6xp"
},
"_type": 1,
"_sizeMode": 0
},
{
"__type__": "cc.Button",
"node": {
"__id__": 11
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 7
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "a9Fom8DbRPSZOeMw0Jqr8X"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 40,
"height": 40
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
618.054,
-2.429,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "spr",
"_parent": {
"__id__": 11
},
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 12
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "8fjHmUGH5DnrGqgruYvYar"
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 7
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "7aCx+Zp2ROf6cAIGRgh4ap"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 22,
"height": 23
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
-3,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "pageDown",
"_parent": {
"__id__": 7
},
"_children": [
{
"__id__": 14
}
],
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 13
},
"_enabled": false,
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "9bvaMerUlDyary99mJa6xp"
},
"_type": 1,
"_sizeMode": 0
},
{
"__type__": "cc.Layout",
"node": {
"__id__": 13
},
"_enabled": false,
"_layoutSize": {
"__type__": "cc.Size",
"width": 40,
"height": 40
}
},
{
"__type__": "cc.Button",
"node": {
"__id__": 13
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 7
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "295OcbmFNPGKH4Ej0r/d1D"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 40,
"height": 40
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
618.054,
-43.563,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "spr",
"_parent": {
"__id__": 13
},
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 14
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "82nQe40gpGGLBfTRrGc7FO"
}
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 7
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "acNVn9rVVHIrqRc23p2mf8"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 22,
"height": 23
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
3,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "font",
"_parent": {
"__id__": 7
},
"_active": false,
"_components": [
{
"__type__": "cc.Label",
"node": {
"__id__": 15
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_useOriginalSize": false,
"_string": "Label",
"_N$string": "Label",
"_N$file": {
"__uuid__": "8e8ut3kpRBhpKmX4dq0oBB"
},
"_isSystemFontUsed": false,
"_N$horizontalAlign": 1,
"_N$verticalAlign": 1
}
],
"_prefab": {
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 7
},
"asset": {
"__uuid__": "99k7fI5ORLSIkinFX0I72z"
},
"fileId": "352OaAKCxOMYj+KGjjLk/4"
},
"_contentSize": {
"__type__": "cc.Size",
"width": 122.85,
"height": 50.4
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
1,
1,
1
]
}
},
{
"__type__": "cc.Node",
"_name": "circle",
"_parent": {
"__id__": 2
},
"_active": false,
"_components": [
{
"__type__": "cc.Sprite",
"node": {
"__id__": 16
},
"_materials": [
{
"__uuid__": "ecpdLyjvZBwrvm+cedCcQy"
}
],
"_spriteFrame": {
"__uuid__": "23FwyEU6VHPL4kx+ue0b+s"
}
}
],
"_contentSize": {
"__type__": "cc.Size",
"width": 1026,
"height": 1026
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
1,
1,
1
]
}
}
],
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "arrow_up",
"texture": "3dKPHJglZBzI+eAcfj4Tcf",
"rect": [
0,
0,
24,
18
],
"offset": [
0,
0
],
"originalSize": [
24,
18
],
"capInsets": [
0,
0,
0,
0
]
}
}
]
\ No newline at end of file
{
"type": "cc.Texture2D",
"data": "0,9729,9729,33071,33071,0,0,1|1,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|1,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1"
}
\ No newline at end of file
window.__require = function e(t, n, r) {
function s(o, u) {
if (!n[o]) {
if (!t[o]) {
var b = o.split("/");
b = b[b.length - 1];
if (!t[b]) {
var a = "function" == typeof __require && __require;
if (!u && a) return a(b, !0);
if (i) return i(b, !0);
throw new Error("Cannot find module '" + o + "'");
}
o = b;
}
var f = n[o] = {
exports: {}
};
t[o][0].call(f.exports, function(e) {
var n = t[o][1][e];
return s(n || e);
}, f, f.exports, e, t, n, r);
}
return n[o].exports;
}
var i = "function" == typeof __require && __require;
for (var o = 0; o < r.length; o++) s(r[o]);
return s;
}({
bgBottom: [ function(require, module, exports) {
"use strict";
cc._RF.push(module, "ff0e9h++NlKOLbC+Bu/RH2+", "bgBottom");
"use strict";
var _util = require("../script/util");
cc.Class({
extends: cc.Component,
properties: {},
_canTouch: null,
_isTop: null,
_arrowUp: null,
_arrowDown: null,
_pageIndex: null,
_maxPage: null,
_lineMaxCount: null,
_disW: null,
_maxW: null,
onLoad: function onLoad() {
this._canTouch = true;
this._isTop = false;
this._arrowUp = this.node.getChildByName("arrowUp");
this._arrowDown = this.node.getChildByName("arrowDown");
this.node.zIndex = 10;
this._itemLen = 75;
this._pageIndex = 0;
this._maxPage = 0;
this._disW = 5;
this._maxW = 1190;
this._lineMaxCount = Math.floor(this._maxW / (this._disW + this._itemLen));
},
start: function start() {
this._initListener();
this._initItemLayer();
},
_itemLayer: null,
_initItemLayer: function _initItemLayer() {
this._itemLayer = new cc.Node();
this.node.addChild(this._itemLayer);
},
_initListener: function _initListener() {
this._initTopBtnListener();
this._initPageBtnListener();
},
_initTopBtnListener: function _initTopBtnListener() {
var _this = this;
var btn = this.node.getChildByName("btn");
btn.on("click", function() {
if (!_this._canTouch) return;
_this._canTouch = false;
var moveLen = 80 * _this.node.scaleY;
var time = .5;
var targetY = moveLen;
_this._isTop && (targetY = -moveLen);
cc.tween(_this.node).by(time, {
y: targetY
}).call(function() {
_this._canTouch = true;
}).start();
_this._setTopBtnState(time);
_this._isTop = !_this._isTop;
});
},
_pageUpBtn: null,
_pageDownBtn: null,
_initPageBtnListener: function _initPageBtnListener() {
var _this2 = this;
var pageUp = this.node.getChildByName("pageUp");
pageUp.on("click", function() {
if (!_this2._canTouch) return;
if (_this2._pageIndex <= 0) return;
_this2._pageIndex--;
_this2._refreshPage();
_this2._showBtnAnima(pageUp);
});
this._pageUpBtn = pageUp;
var pageDown = this.node.getChildByName("pageDown");
pageDown.on("click", function() {
if (!_this2._canTouch) return;
if (_this2._pageIndex >= _this2._maxPage - 1) return;
_this2._pageIndex++;
_this2._refreshPage();
_this2._showBtnAnima(pageDown);
});
this._pageDownBtn = pageDown;
},
_showBtnAnima: function _showBtnAnima(btn) {
cc.tween(btn).to(.08, {
scale: 1.3
}, {
easing: "sineOut"
}).to(.08, {
scale: 1
}, {
easing: "sineOut"
}).start();
},
_setPageBtnState: function _setPageBtnState() {
if (0 == this._maxPage) {
this._pageUpBtn.active = this._pageDownBtn.active = false;
return;
}
0 == this._pageIndex ? this._pageUpBtn.opacity = 100 : this._pageUpBtn.opacity = 255;
this._pageIndex == this._maxPage - 1 ? this._pageDownBtn.opacity = 100 : this._pageDownBtn.opacity = 255;
},
_setTopBtnState: function _setTopBtnState(time) {
var arrow1, arrow2;
if (this._isTop) {
arrow1 = this._arrowDown;
arrow2 = this._arrowUp;
} else {
arrow1 = this._arrowUp;
arrow2 = this._arrowDown;
}
arrow1.scale = 1;
arrow2.scale = 0;
cc.tween(arrow1).to(time / 2, {
scale: 0
}, {
easing: "cubicOut"
}).start();
cc.tween(arrow2).delay(time / 2).to(time / 2, {
scale: 1
}, {
easing: "cubicOut"
}).start();
},
_dataArr: null,
setItemData: function setItemData(dataArr) {
console.log(" in setItemData", dataArr);
if (!dataArr || 0 == dataArr.length) return;
this._dataArr = dataArr;
this._initPageArr();
this._pageIndex = 0;
this._refreshPage();
},
_pageArr: null,
_initPageArr: function _initPageArr() {
var tmpArr = [];
this._pageArr = [ tmpArr ];
var curLen = this._disW;
for (var i = 0; i < this._dataArr.length; i++) {
var item = this._addOneItem(this._dataArr[i]);
curLen += item.width + this._disW;
if (curLen > this._maxW) {
tmpArr = [ item ];
this._pageArr.push(tmpArr);
} else tmpArr.push(item);
}
this._maxPage = this._pageArr.length;
console.log("this._maxPage: ", this._maxPage);
},
_itemLen: null,
_addOneItem: function _addOneItem(data) {
var item = new cc.Node();
item.width = this._itemLen;
item.height = this._itemLen;
this._addItemPic(item, data.pic_url);
this._addItemLabel(item, data.text);
this._addItemAudio(item, data.audio_url);
item.data = data;
return item;
},
_addItemPic: function _addItemPic(item, url) {
var _this3 = this;
if (!url) return;
var imgLen = .8 * this._itemLen;
cc.assetManager.loadRemote(url, function(err, texture) {
var sprNode = new cc.Node();
item.addChild(sprNode);
sprNode.width = texture.width;
sprNode.height = texture.height;
sprNode.y = (_this3._itemLen - imgLen) / 2;
(0, _util.setSprNodeMaxLen)(sprNode, imgLen, imgLen);
var sf = new cc.SpriteFrame(texture);
sprNode.addComponent(cc.Sprite).spriteFrame = sf;
});
},
_labelFont: null,
_addItemLabel: function _addItemLabel(item, text) {
if (!text) return;
var labelNode = new cc.Node();
labelNode.color = cc.Color.BLACK;
var label = labelNode.addComponent(cc.Label);
label.string = text;
item.addChild(labelNode);
labelNode.y = .4 * -this._itemLen;
label.fontSize = 16;
label.verticalAlign = cc.Label.VerticalAlign.CENTER;
if (!this._labelFont) {
var fontLabel = this.node.getChildByName("font").getComponent(cc.Label);
this._labelFont = fontLabel.font;
}
label.font = this._labelFont;
label._forceUpdateRenderData(true);
labelNode.width > this._itemLen && (item.width = labelNode.width);
},
_addItemAudio: function _addItemAudio(item, url) {
var _this4 = this;
if (!url) return;
cc.assetManager.loadRemote(url, function(err, audioClip) {
item.audioClip = audioClip;
_this4._addItemListener(item);
});
},
_addItemListener: function _addItemListener(item) {
item.addComponent(cc.Button);
item.on("click", function() {
if (item.audioClip) {
cc.audioEngine.stopAllEffects();
cc.audioEngine.playEffect(item.audioClip, false, .5);
}
});
},
_refreshPage: function _refreshPage() {
var _this5 = this;
this._itemLayer.removeAllChildren();
var dataArr = this._dataArr;
var disW = this._disW;
var startIndex = this._pageIndex * this._lineMaxCount;
var showArr = this._pageArr[this._pageIndex];
var baseX = this._getCurPageBaseX();
var baseY = -25;
showArr.forEach(function(el, i) {
var item = _this5._addOneItem(el.data);
_this5._itemLayer.addChild(item);
item.x = baseX + (disW + item.width) / 2;
item.y = baseY;
baseX = item.x + (disW + item.width) / 2;
});
this._setPageBtnState();
},
_getCurPageBaseX: function _getCurPageBaseX() {
var arr = this._pageArr[this._pageIndex];
console.log("arr: ", arr);
var curLen = this._disW;
for (var i = 0; i < arr.length; i++) curLen += arr[i].width + this._disW;
return -curLen / 2;
}
});
cc._RF.pop();
}, {
"../script/util": "util"
} ],
scene: [ function(require, module, exports) {
"use strict";
cc._RF.push(module, "335fea4K1JFqanJyztUAUJR", "scene");
"use strict";
var _util = require("./util");
cc.Class({
extends: cc.Component,
properties: {
baseWidth: {
default: 1280,
type: cc.Integer
},
baseHeight: {
default: 720,
type: cc.Integer
}
},
onLoad: function onLoad() {
cc.debug.setDisplayStats(false);
this.initSceneData();
this.initSize();
},
initSceneData: function initSceneData() {
this._imageResList = [];
this._audioResList = [];
this._animaResList = [];
},
_designSize: null,
initSize: function initSize() {
this._designSize = cc.view.getDesignResolutionSize();
},
start: function start() {
var _this = this;
var getData = this.getData.bind(this);
window && window.courseware && (getData = window.courseware.getData);
getData(function(data) {
console.log("data:", data);
_this.data = data || _this.getDefaultData();
_this.preloadItem();
});
},
_imageResList: null,
_audioResList: null,
_animaResList: null,
preloadItem: function preloadItem() {
this.addPreloadImage();
this.addPreloadAudio();
this.addPreloadAnima();
this.preload();
},
getData: function getData(func) {
func(this.getDefaultData());
},
getDefaultData: function getDefaultData() {
var dataJson = '{"bgColorId":0,"bgColor":"#f9bd03","bgItem":{"url":"http://staging-teach.cdn.ireadabc.com/539e2f58cb1817f852d9c09ec1ac7c8b.png","rect":{"x":265.18,"y":0,"width":776.65,"height":500}},"hotZoneItemArr":[{"id":"1611197962070","index":0,"pic_url":"http://staging-teach.cdn.ireadabc.com/8ce25a36313edb9dfa3de77ba85cb6b9.png","text":"aaa","audio_url":"http://staging-teach.cdn.ireadabc.com/cd8daa8b4d8ff707b3a3680e80bc4761.mp3","itemType":"rect","fontScale":1.02109375,"imgScale":0.7029268568840579,"mapScale":1.02109375,"skeJsonData":{"url":"http://staging-teach.cdn.ireadabc.com/3db1a0ed6b7e33d5f9f284e1a5980349.json","name":"Ubbie_ske.json"},"texJsonData":{"url":"http://staging-teach.cdn.ireadabc.com/4232e00c9b1d272e650e51dbb785e498.json","name":"Ubbie_tex.json"},"texPngData":{"url":"http://staging-teach.cdn.ireadabc.com/2e56dbe3134380952a725eacceb86359.png","name":"Ubbie_tex.png"},"gIdx":"0","rect":{"x":-1.68,"y":-1,"width":200,"height":200}},{"id":"1611197966644","index":1,"pic_url":"http://staging-teach.cdn.ireadabc.com/c8abf7383d65bcbdba8f390785cece60.png","audio_url":"http://staging-teach.cdn.ireadabc.com/1961d807c944e6551af02c7b57e117f3.mp3","itemType":"pic","fontScale":1.02109375,"imgScale":0.2536231884057971,"mapScale":1.02109375,"gIdx":"1","rect":{"x":7.32,"y":424,"width":70,"height":70}},{"id":"1611197971104","index":2,"audio_url":"http://staging-teach.cdn.ireadabc.com/694a80e21cefd6e53880d61e684e1c94.mp3","itemType":"rect","fontScale":1.02109375,"imgScale":1,"mapScale":1.02109375,"skeJsonData":{"url":"http://staging-teach.cdn.ireadabc.com/7efceac56cc9a61b107a11457390d3c6.json","name":"finish1_ske.json"},"texJsonData":{"url":"http://staging-teach.cdn.ireadabc.com/d6e8db4fb385127de9e3cd9d8a9530f7.json","name":"finish1_tex.json"},"texPngData":{"url":"http://staging-teach.cdn.ireadabc.com/96f5c7a9ac9f433c9c870c38b0811a38.png","name":"finish1_tex.png"},"gIdx":"2","rect":{"x":575.32,"y":303,"width":200,"height":200}}],"bg_audio_url":"http://staging-teach.cdn.ireadabc.com/3fa65d5f667a2ef9059d3dfc5df74a4d.mp3"}';
var data1 = JSON.parse(dataJson);
return data1;
var data;
},
preload: function preload() {
var _this2 = this;
var preloadArr = this._imageResList.concat(this._audioResList).concat(this._animaResList);
cc.assetManager.loadAny(preloadArr, null, null, function(err, data) {
console.log(" preload data, ", data);
_this2.loadEnd();
window && window["air"] && window["air"].hideAirClassLoading();
});
},
addPreloadImage: function addPreloadImage() {
var _this3 = this;
this.data.bgItem && this._imageResList.push({
url: this.data.bgItem.url
});
if (!this.data.hotZoneItemArr) return;
this.data.hotZoneItemArr.forEach(function(item) {
item.pic_url && _this3._imageResList.push({
url: item.pic_url
});
});
},
addPreloadAudio: function addPreloadAudio() {
var _this4 = this;
if (!this.data.hotZoneItemArr) return;
this.data.hotZoneItemArr.forEach(function(item) {
_this4._audioResList.push({
url: item.audio_url
});
});
this._audioResList.push({
url: this.data.bg_audio_url
});
},
addPreloadAnima: function addPreloadAnima() {
var _this5 = this;
if (!this.data.hotZoneItemArr) return;
this.data.hotZoneItemArr.forEach(function(item) {
if (item.skeJsonData) {
_this5._animaResList.push({
url: item.skeJsonData.url || ""
});
_this5._animaResList.push({
url: item.texJsonData.url || ""
});
_this5._animaResList.push({
url: item.texPngData.url || ""
});
}
});
},
loadEnd: function loadEnd() {
this.initView();
},
initView: function initView() {
this.initBg();
this.initHotZone();
this.initBottomPart();
this.initCircle();
this.initListener();
this.initMusic();
},
initMusic: function initMusic() {
cc.assetManager.loadRemote(this.data.bg_audio_url, function(err, clip) {
cc.audioEngine.setMusicVolume(.3);
var audioID = cc.audioEngine.playMusic(clip, true);
});
},
_cocosScale: null,
initBg: function initBg() {
var frameSize = cc.view.getFrameSize();
var sx = cc.winSize.width / frameSize.width;
var sy = cc.winSize.height / frameSize.height;
var s = Math.min(sx, sy);
this._cocosScale = s;
var bgNode = cc.find("Canvas/bg");
sx = frameSize.width / bgNode.width;
sy = frameSize.height / bgNode.height;
bgNode.scale = Math.max(sx, sy) * s;
bgNode.anchorX = 1;
bgNode.anchorY = 0;
bgNode.x = frameSize.width / 2 * s;
bgNode.y = -frameSize.height / 2 * s;
var bg = cc.find("Canvas/bg");
var rectNode = new cc.Node();
rectNode.x = -bg.x;
rectNode.y = -bg.y;
rectNode.scaleX = bg.scaleX;
rectNode.scaleY = bg.scaleY;
bg.addChild(rectNode);
var ctx = rectNode.addComponent(cc.Graphics);
ctx.fillColor = this.data.bgColor || "#f9bd03";
ctx.fillRect(-bg.width / 2, -bg.height / 2, bg.width, bg.height);
ctx.fill();
},
initHotZone: function initHotZone() {
this.initHotZoneBg();
},
hotZoneBg: null,
initHotZoneBg: function initHotZoneBg() {
var _this6 = this;
this.hotZoneBg = new cc.Node();
this.hotZoneBg.name = "hotZoneBg";
this.hotZoneBg.parent = cc.find("Canvas");
this.hotZoneBg.zIndex = 4;
var canvas = cc.find("Canvas/Main Camera");
if (!this.data.bgItem) return;
cc.loader.load({
url: this.data.bgItem.url
}, function(err, img) {
_this6.addMask(_this6.hotZoneBg);
_this6.hotZoneBg.width = img.width;
_this6.hotZoneBg.height = img.height;
var box = _this6.hotZoneBg.getBoundingBox();
var tmpS = 640 / 720;
var subNum = 80;
var frameSize = cc.view.getFrameSize();
var winSize = cc.winSize;
console.log("this.hotZoneBg.box: ", _this6.hotZoneBg.getBoundingBox());
console.log("let visiSize=cc.director.getVisibleSize();: ", cc.view.getVisibleSize());
console.log("lframeSize: ", frameSize);
var sx = frameSize.width / _this6._designSize.width;
var sy = frameSize.height / _this6._designSize.height;
var mapS = Math.min(sx, sy);
var bgBottom = cc.find("Canvas/bgBottom");
bgBottom.scale = mapS * _this6._cocosScale;
sx = frameSize.width * _this6._cocosScale / img.width;
sy = (frameSize.height * _this6._cocosScale - subNum * mapS * _this6._cocosScale) / img.height;
var sprNode = new cc.Node();
var sf = new cc.SpriteFrame(img);
var spr = sprNode.addComponent(cc.Sprite);
spr.spriteFrame = sf;
sprNode.width = _this6.hotZoneBg.width;
sprNode.height = _this6.hotZoneBg.height;
sprNode.parent = _this6.hotZoneBg;
_this6.hotZoneBg.scale = Math.min(sx, sy);
_this6.hotZoneBg.y = frameSize.height / 2 * _this6._cocosScale - _this6.hotZoneBg.height / 2 * _this6.hotZoneBg.scaleY;
var bgWhite = cc.find("Canvas/bgWhite");
bgWhite.y = _this6.hotZoneBg.y;
bgWhite.scaleX = _this6.hotZoneBg.width * _this6.hotZoneBg.scaleX / bgWhite.width;
bgWhite.scaleY = _this6.hotZoneBg.height * _this6.hotZoneBg.scaleY / bgWhite.height;
var canvas = cc.find("Canvas");
var shadowNode = new cc.Node();
shadowNode.y = bgWhite.y;
shadowNode.scaleX = bgWhite.scaleX;
shadowNode.scaleY = bgWhite.scaleY;
canvas.addChild(shadowNode);
var ctx = shadowNode.addComponent(cc.Graphics);
ctx.fillColor = cc.Color.BLACK.setA(30);
ctx.fillRect(-bgWhite.width / 2 + 8 / bgWhite.scaleX * _this6.hotZoneBg.scale, -bgWhite.height / 2 - 8 / bgWhite.scaleX * _this6.hotZoneBg.scale, bgWhite.width, bgWhite.height);
ctx.fill();
shadowNode.zIndex = 1;
bgWhite.zIndex = 2;
bgBottom.y = -frameSize.height / 2 * _this6._cocosScale - 15 * bgBottom.scaleY;
_this6.data.hotZoneItemArr.forEach(function(item) {
"0" == item.gIdx ? _this6.setOneCircle(item) : "1" == item.gIdx ? _this6.setOnePic(item) : "2" == item.gIdx && _this6.setOneAnima(item);
});
});
},
addMask: function addMask(node) {
var mask = node.addComponent(cc.Mask);
mask.type = cc.Mask.Type.RECT;
},
initBottomPart: function initBottomPart() {
var bgBottom = cc.find("Canvas/bgBottom");
var script = bgBottom.getComponent("bgBottom");
var picArr = [];
this.data.hotZoneItemArr.forEach(function(item) {
"0" == item.gIdx && picArr.push(item);
});
script.setItemData(picArr);
},
setOneAnima: function setOneAnima(data) {
var rate = this.hotZoneBg.scale * this.hotZoneBg.width / this.data.bgItem.rect.width;
var rectNode = new cc.Node();
rectNode.name = "rect" + data.index;
this.hotZoneBg.addChild(rectNode);
var ctx = rectNode.addComponent(cc.Graphics);
ctx.lineWidth = 4;
ctx.strokeColor = cc.Color.BLACK;
ctx.fillColor = cc.Color.WHITE.setA(100);
var scale = rate / this.hotZoneBg.scaleY;
rectNode.width = data.rect.width * scale;
rectNode.height = data.rect.height * scale;
rectNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;
rectNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;
rectNode.anchorX = rectNode.anchorY = 0;
this.data.bgItem.isShowDebugLine && ctx.rect(0, 0, rectNode.width, rectNode.height);
ctx.stroke();
ctx.fill();
var animaNode = new cc.Node();
animaNode.name = "anima_" + data.index;
this.hotZoneBg.addChild(animaNode);
data.audio_url && cc.assetManager.loadRemote(data.audio_url, function(err, audioClip) {
animaNode.audioClip = audioClip;
});
var dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);
var image = data.texPngData.url;
var ske = data.skeJsonData.url;
var atlas = data.texJsonData.url;
cc.loader.load(image, function(error, texture) {
cc.loader.load({
url: atlas,
type: "txt"
}, function(error, atlasJson) {
cc.loader.load({
url: ske,
type: "txt"
}, function(error, dragonBonesJson) {
var atlas = new dragonBones.DragonBonesAtlasAsset();
atlas.atlasJson = atlasJson;
atlas.texture = texture;
var asset = new dragonBones.DragonBonesAsset();
asset.dragonBonesJson = dragonBonesJson;
dragonDisplay.dragonAtlasAsset = atlas;
dragonDisplay.dragonAsset = asset;
var json = JSON.parse(asset.dragonBonesJson);
var armatures = json["armature"];
console.log("armatures: ", armatures);
var armatureNames = [];
for (var i = 0; i < armatures.length; i++) armatureNames.push(armatures[i].name);
if (armatureNames.length > 0) {
var defaultArmatureName = armatureNames[0];
dragonDisplay.armatureName = defaultArmatureName;
var defaultArmature = armatures[0];
var animations = defaultArmature.animation;
var animationNames = [];
for (var _i = 0; _i < animations.length; _i++) animationNames.push(animations[_i].name);
rectNode.addComponent(cc.Button);
rectNode.on("click", function() {
rectNode.isClicked;
rectNode.isClicked = true;
console.log("clicked");
if (animaNode.audioClip) {
cc.audioEngine.stopAllEffects();
cc.audioEngine.playEffect(animaNode.audioClip, false, .8);
}
animationNames.length > 0 && dragonDisplay.playAnimation(animationNames[0], 1);
});
}
});
});
});
},
setOnePic: function setOnePic(data) {
var _this7 = this;
var rate = this.hotZoneBg.scale * this.hotZoneBg.width / this.data.bgItem.rect.width;
var picNode = new cc.Node();
picNode.data = data;
this.hotZoneBg.addChild(picNode);
cc.loader.load({
url: data.pic_url
}, function(err, img) {
var spr = picNode.addComponent(cc.Sprite);
spr.spriteFrame = new cc.SpriteFrame(img);
var scale = rate / _this7.hotZoneBg.scaleY;
picNode.width = data.rect.width * scale;
picNode.height = data.rect.height * scale;
picNode.x = -_this7.hotZoneBg.width / 2 + data.rect.x * scale;
picNode.y = _this7.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;
picNode.anchorX = picNode.anchorY = 0;
data.audio_url && _this7.addPicAudio(picNode);
});
},
addPicAudio: function addPicAudio(picNode) {
var data = picNode.data;
cc.assetManager.loadRemote(data.audio_url, function(err, audioClip) {
picNode.audioClip = audioClip;
});
picNode.addComponent(cc.Button);
picNode.on("click", function() {
if (picNode.audioClip) {
cc.audioEngine.stopAllEffects();
cc.audioEngine.playEffect(picNode.audioClip, false, .8);
}
});
},
setOneCircle: function setOneCircle(data) {
var _this8 = this;
var rate = this.hotZoneBg.scale * this.hotZoneBg.width / this.data.bgItem.rect.width;
var rectNode = new cc.Node();
rectNode.name = "rect" + data.index;
rectNode.data = data;
this.hotZoneBg.addChild(rectNode);
var scale = rate / this.hotZoneBg.scaleY;
rectNode.width = data.rect.width * scale;
rectNode.height = data.rect.height * scale;
rectNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;
rectNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;
rectNode.anchorX = rectNode.anchorY = 0;
data.audio_url && cc.assetManager.loadRemote(data.audio_url, function(err, audioClip) {
data.audioClip = audioClip;
});
rectNode.addComponent(cc.Button);
rectNode.on("click", function() {
_this8.showCircle(rectNode);
});
var animaNode = new cc.Node();
animaNode.name = "anima_" + data.index;
this.hotZoneBg.addChild(animaNode);
data.animaNode = animaNode;
data.audio_url && cc.assetManager.loadRemote(data.audio_url, function(err, audioClip) {
animaNode.audioClip = audioClip;
});
var dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);
var image = data.texPngData.url;
var ske = data.skeJsonData.url;
var atlas = data.texJsonData.url;
cc.loader.load(image, function(error, texture) {
cc.loader.load({
url: atlas,
type: "txt"
}, function(error, atlasJson) {
cc.loader.load({
url: ske,
type: "txt"
}, function(error, dragonBonesJson) {
var atlas = new dragonBones.DragonBonesAtlasAsset();
atlas.atlasJson = atlasJson;
atlas.texture = texture;
var asset = new dragonBones.DragonBonesAsset();
asset.dragonBonesJson = dragonBonesJson;
dragonDisplay.dragonAtlasAsset = atlas;
dragonDisplay.dragonAsset = asset;
var json = JSON.parse(asset.dragonBonesJson);
var armatures = json["armature"];
console.log("armatures: ", armatures);
var armatureNames = [];
for (var i = 0; i < armatures.length; i++) armatureNames.push(armatures[i].name);
if (armatureNames.length > 0) {
var defaultArmatureName = armatureNames[0];
dragonDisplay.armatureName = defaultArmatureName;
var defaultArmature = armatures[0];
var animations = defaultArmature.animation;
var animationNames = [];
for (var _i2 = 0; _i2 < animations.length; _i2++) animationNames.push(animations[_i2].name);
animaNode.showAnima = function() {
rectNode.isClicked;
rectNode.isClicked = true;
console.log("clicked");
if (animaNode.audioClip) {
cc.audioEngine.stopAllEffects();
cc.audioEngine.playEffect(animaNode.audioClip, false, .8);
}
animationNames.length > 0 && dragonDisplay.playAnimation(animationNames[0], 1);
};
}
});
});
});
},
_circle: null,
initCircle: function initCircle() {
this._circle = cc.find("Canvas/circle");
this._circle.active = false;
this._circle.zIndex = 12;
},
showCircle: function showCircle(node) {
console.log(" in showCircle");
if (node == this._circle.itemNode) {
node.data.animaNode.showAnima();
this.hideCircle();
return;
}
this._circle.itemNode = node;
node.x += node.width / 2;
node.y += node.height / 2;
var rate = (0, _util.getScaleRateBy2Node)(this._circle, node);
var pos = (0, _util.localPosTolocalPos)(this._circle, node);
node.x -= node.width / 2;
node.y -= node.height / 2;
this._circle.scale *= rate;
this._circle.scale *= 5 / 4;
this._circle.x = pos.x;
this._circle.y = pos.y;
this._circle.active = true;
this._circle.opacity = 0;
cc.tween(this._circle).to(1, {
opacity: 255
}, {
easing: "cubicOut"
}).start();
},
initListener: function initListener() {
var _this9 = this;
var canvas = cc.find("Canvas");
canvas.addComponent(cc.Button);
canvas.on("click", function() {
_this9.hideCircle();
});
},
hideCircle: function hideCircle() {
this._circle.itemNode = null;
cc.tween(this._circle).to(1, {
opacity: 0
}, {
easing: "cubicOut"
}).start();
}
});
cc._RF.pop();
}, {
"./util": "util"
} ],
util: [ function(require, module, exports) {
"use strict";
cc._RF.push(module, "5ac8b17OKNJaawviu75DIhe", "util");
"use strict";
exports.__esModule = true;
exports.getPosByAngle = getPosByAngle;
exports.getAngleByPos = getAngleByPos;
exports.exchangeNodePos = exchangeNodePos;
exports.RandomInt = RandomInt;
exports.randomSortByArr = randomSortByArr;
exports.setSprNodeMaxLen = setSprNodeMaxLen;
exports.localPosTolocalPos = localPosTolocalPos;
exports.getScaleRateBy2Node = getScaleRateBy2Node;
function getPosByAngle(angle, len) {
var radian = angle * Math.PI / 180;
var x = Math.sin(radian) * len;
var y = Math.cos(radian) * len;
return {
x: x,
y: y
};
}
function getAngleByPos(px, py, mx, my) {
var x = Math.abs(px - mx);
var y = Math.abs(py - my);
var z = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
var cos = y / z;
var radina = Math.acos(cos);
var angle = Math.floor(180 / (Math.PI / radina) * 100) / 100;
mx > px && my > py && (angle = 180 - angle);
mx === px && my > py && (angle = 180);
mx > px && my === py && (angle = 90);
mx < px && my > py && (angle = 180 + angle);
mx < px && my === py && (angle = 270);
mx < px && my < py && (angle = 360 - angle);
return angle;
}
function exchangeNodePos(baseNode, targetNode) {
return baseNode.convertToNodeSpaceAR(targetNode._parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y)));
}
function RandomInt(a, b) {
void 0 === b && (b = 0);
var max = Math.max(a, b);
var min = Math.min(a, b);
return Math.floor(Math.random() * (max - min) + min);
}
function randomSortByArr(arr) {
var newArr = [];
var tmpArr = arr.concat();
while (tmpArr.length > 0) {
var randomIndex = Math.floor(tmpArr.length * Math.random());
newArr.push(tmpArr[randomIndex]);
tmpArr.splice(randomIndex, 1);
}
return newArr;
}
function setSprNodeMaxLen(sprNode, maxW, maxH) {
var sx = maxW / sprNode.width;
var sy = maxH / sprNode.height;
var s = Math.min(sx, sy);
sprNode.scale = Math.round(1e3 * s) / 1e3;
}
function localPosTolocalPos(baseNode, targetNode) {
var worldPos = targetNode.parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y));
var localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));
return localPos;
}
function getScaleRateBy2Node(baseNode, targetNode, maxFlag) {
void 0 === maxFlag && (maxFlag = true);
var worldRect1 = targetNode.getBoundingBoxToWorld();
var worldRect2 = baseNode.getBoundingBoxToWorld();
var sx = worldRect1.width / worldRect2.width;
var sy = worldRect1.height / worldRect2.height;
return maxFlag ? Math.max(sx, sy) : Math.min(sx, sy);
}
cc._RF.pop();
}, {} ]
}, {}, [ "bgBottom", "scene", "util" ]);
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Cocos Creator | play</title>
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1, minimum-scale=1,maximum-scale=1"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="full-screen" content="yes"/>
<meta name="screen-orientation" content="portrait"/>
<meta name="x5-fullscreen" content="true"/>
<meta name="360-fullscreen" content="true"/>
<meta name="renderer" content="webkit"/>
<meta name="force-rendering" content="webkit"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<link rel="stylesheet" type="text/css" href="style-desktop.css"/>
<link rel="icon" href="favicon.ico"/>
</head>
<body>
<h1 class="header">play</h1>
<div id="GameDiv" style="width:1280px; height: 720px;">
<canvas id="GameCanvas" width="1280" height="720"></canvas>
<div id="splash">
<div class="progress-bar stripes">
<span style="width: 0%"></span>
</div>
</div>
</div>
<p class="footer">Made with <a href="https://www.cocos.com/products#CocosCreator" title="Cocos Creator">Cocos Creator</a></p>
<script src="src/settings.js" charset="utf-8"></script>
<script src="main.js" charset="utf-8"></script>
<script type="text/javascript">
(function () {
// open web debugger console
if (typeof VConsole !== 'undefined') {
window.vConsole = new VConsole();
}
var debug = window._CCSettings.debug;
var splash = document.getElementById('splash');
splash.style.display = 'block';
function loadScript (moduleName, cb) {
function scriptLoaded () {
document.body.removeChild(domScript);
domScript.removeEventListener('load', scriptLoaded, false);
cb && cb();
};
var domScript = document.createElement('script');
domScript.async = true;
domScript.src = moduleName;
domScript.addEventListener('load', scriptLoaded, false);
document.body.appendChild(domScript);
}
loadScript(debug ? 'cocos2d-js.js' : 'cocos2d-js-min.js', function () {
if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) {
loadScript(debug ? 'physics.js' : 'physics-min.js', window.boot);
}
else {
window.boot();
}
});
})();
</script>
</body>
</html>
window.boot = function () {
var settings = window._CCSettings;
window._CCSettings = undefined;
var onProgress = null;
let { RESOURCES, INTERNAL, MAIN, START_SCENE } = cc.AssetManager.BuiltinBundleName;
function setLoadingDisplay () {
// Loading splash scene
var splash = document.getElementById('splash');
var progressBar = splash.querySelector('.progress-bar span');
onProgress = function (finish, total) {
var percent = 100 * finish / total;
if (progressBar) {
progressBar.style.width = percent.toFixed(2) + '%';
}
};
splash.style.display = 'block';
progressBar.style.width = '0%';
cc.director.once(cc.Director.EVENT_AFTER_SCENE_LAUNCH, function () {
splash.style.display = 'none';
});
}
var onStart = function () {
cc.view.enableRetina(true);
cc.view.resizeWithBrowserSize(true);
if (cc.sys.isBrowser) {
setLoadingDisplay();
}
if (cc.sys.isMobile) {
if (settings.orientation === 'landscape') {
cc.view.setOrientation(cc.macro.ORIENTATION_LANDSCAPE);
}
else if (settings.orientation === 'portrait') {
cc.view.setOrientation(cc.macro.ORIENTATION_PORTRAIT);
}
cc.view.enableAutoFullScreen([
cc.sys.BROWSER_TYPE_BAIDU,
cc.sys.BROWSER_TYPE_BAIDU_APP,
cc.sys.BROWSER_TYPE_WECHAT,
cc.sys.BROWSER_TYPE_MOBILE_QQ,
cc.sys.BROWSER_TYPE_MIUI,
].indexOf(cc.sys.browserType) < 0);
}
// Limit downloading max concurrent task to 2,
// more tasks simultaneously may cause performance draw back on some android system / browsers.
// You can adjust the number based on your own test result, you have to set it before any loading process to take effect.
if (cc.sys.isBrowser && cc.sys.os === cc.sys.OS_ANDROID) {
cc.assetManager.downloader.maxConcurrency = 2;
cc.assetManager.downloader.maxRequestsPerFrame = 2;
}
var launchScene = settings.launchScene;
var bundle = cc.assetManager.bundles.find(function (b) {
return b.getSceneInfo(launchScene);
});
bundle.loadScene(launchScene, null, onProgress,
function (err, scene) {
if (!err) {
cc.director.runSceneImmediate(scene);
if (cc.sys.isBrowser) {
// show canvas
var canvas = document.getElementById('GameCanvas');
canvas.style.visibility = '';
var div = document.getElementById('GameDiv');
if (div) {
div.style.backgroundImage = '';
}
console.log('Success to load scene: ' + launchScene);
}
}
}
);
};
var option = {
id: 'GameCanvas',
debugMode: settings.debug ? cc.debug.DebugMode.INFO : cc.debug.DebugMode.ERROR,
showFPS: settings.debug,
frameRate: 60,
groupList: settings.groupList,
collisionMatrix: settings.collisionMatrix,
};
cc.assetManager.init({
bundleVers: settings.bundleVers,
remoteBundles: settings.remoteBundles,
server: settings.server
});
let bundleRoot = [INTERNAL, MAIN];
settings.hasStartSceneBundle && bundleRoot.push(START_SCENE);
settings.hasResourcesBundle && bundleRoot.push(RESOURCES);
var count = 0;
function cb (err) {
if (err) return console.error(err.message, err.stack);
count++;
if (count === bundleRoot.length + 1) {
cc.game.run(option, onStart);
}
}
cc.assetManager.loadScript(settings.jsList.map(function (x) { return 'src/' + x;}), cb);
for (let i = 0; i < bundleRoot.length; i++) {
cc.assetManager.loadBundle(bundleRoot[i], cb);
}
};
if (window.jsb) {
var isRuntime = (typeof loadRuntime === 'function');
if (isRuntime) {
require('src/settings.js');
require('src/cocos2d-runtime.js');
if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) {
require('src/physics.js');
}
require('jsb-adapter/engine/index.js');
}
else {
require('src/settings.js');
require('src/cocos2d-jsb.js');
if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) {
require('src/physics.js');
}
require('jsb-adapter/jsb-engine.js');
}
cc.macro.CLEANUP_IMAGE_CACHE = true;
window.boot();
}
\ No newline at end of file
window._CCSettings = {
platform: "web-desktop",
groupList: [
"default"
],
collisionMatrix: [
[
true
]
],
hasResourcesBundle: false,
hasStartSceneBundle: false,
remoteBundles: [],
subpackages: [],
launchScene: "db://assets/mz_004/scene/scene.fire",
orientation: "",
debug: true,
jsList: []
};
body {
cursor: default;
padding: 0;
border: 0;
margin: 0;
text-align: center;
background-color: white;
font-family: Helvetica, Verdana, Arial, sans-serif;
}
body, canvas, div {
outline: none;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
-khtml-user-select: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
/* Remove spin of input type number */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
/* display: none; <- Crashes Chrome on hover */
-webkit-appearance: none;
margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}
#Cocos2dGameContainer {
position: absolute;
margin: 0;
overflow: hidden;
left: 0px;
top: 0px;
}
canvas {
background-color: rgba(0, 0, 0, 0);
}
a:link, a:visited {
color: #000;
}
a:active, a:hover {
color: #666;
}
p.header {
font-size: small;
}
p.footer {
font-size: x-small;
}
#splash {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #171717 url(./splash.png) no-repeat center;
background-size: 350px;
}
.progress-bar {
background-color: #1a1a1a;
position: absolute;
left: 50%;
top: 80%;
height: 5px;
width: 300px;
margin: 0 -150px;
border-radius: 5px;
box-shadow: 0 1px 5px #000 inset, 0 1px 0 #444;
}
.progress-bar span {
display: block;
height: 100%;
border-radius: 5px;
box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
transition: width .4s ease-in-out;
background-color: #3dc5de;
}
.stripes span {
background-size: 30px 30px;
background-image: linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
transparent 75%, transparent);
animation: animate-stripes 1s linear infinite;
}
@keyframes animate-stripes {
0% {background-position: 0 0;} 100% {background-position: 60px 0;}
}
h1 {
color: #444;
text-shadow: 3px 3px 15px;
}
#GameDiv {
width: 800px;
height: 450px;
margin: 0 auto;
background: black;
position: relative;
border: 3px solid black;
border-radius: 6px;
box-shadow: 0 5px 40px #333
}
html {
-ms-touch-action: none;
}
body, canvas, div {
display: block;
outline: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
-khtml-user-select: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
/* Remove spin of input type number */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
/* display: none; <- Crashes Chrome on hover */
-webkit-appearance: none;
margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}
body {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
padding: 0;
border: 0;
margin: 0;
cursor: default;
color: #888;
background-color: #333;
text-align: center;
font-family: Helvetica, Verdana, Arial, sans-serif;
display: flex;
flex-direction: column;
/* fix bug: https://github.com/cocos-creator/2d-tasks/issues/791 */
/* overflow cannot be applied in Cocos2dGameContainer,
otherwise child elements will be hidden when Cocos2dGameContainer rotated 90 deg */
overflow: hidden;
}
#Cocos2dGameContainer {
position: absolute;
margin: 0;
left: 0px;
top: 0px;
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: center;
-webkit-box-pack: center;
}
canvas {
background-color: rgba(0, 0, 0, 0);
}
a:link, a:visited {
color: #666;
}
a:active, a:hover {
color: #666;
}
p.header {
font-size: small;
}
p.footer {
font-size: x-small;
}
#splash {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #171717 url(./splash.png) no-repeat center;
background-size: 45%;
}
.progress-bar {
position: absolute;
left: 27.5%;
top: 80%;
height: 3px;
padding: 2px;
width: 45%;
border-radius: 7px;
box-shadow: 0 1px 5px #000 inset, 0 1px 0 #444;
}
.progress-bar span {
display: block;
height: 100%;
border-radius: 3px;
transition: width .4s ease-in-out;
background-color: #3dc5de;
}
.stripes span {
background-size: 30px 30px;
background-image: linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
transparent 75%, transparent);
animation: animate-stripes 1s linear infinite;
}
@keyframes animate-stripes {
0% {background-position: 0 0;} 100% {background-position: 60px 0;}
}
{"paths":{"0":["prefab/KGMissKindyMarker",0],"1":["texture/arrow_down",2],"2":["texture/arrow_up",2],"3":["texture/bg_bottom",2],"4":["texture/bg_points",2],"5":["texture/bg",2],"6":["texture/circle",2],"7":["texture/page_down",2],"8":["texture/page_up",2],"9":["texture/white_bg",2],"11":["prefab/bgBottom",1],"12":["texture/arrow_down",3,1],"13":["texture/arrow_up",3,1],"14":["texture/bg_bottom",3,1],"15":["texture/bg_points",3,1],"16":["texture/bg",3,1],"17":["texture/circle",3,1],"18":["texture/page_down",3,1],"19":["texture/page_up",3,1],"20":["texture/white_bg",3,1]},"types":["cc.TTFFont","cc.Prefab","cc.Texture2D","cc.SpriteFrame"],"uuids":["8e8ut3kpRBhpKmX4dq0oBB","43dIM3eEVID7q17+J3if3y","3dKPHJglZBzI+eAcfj4Tcf","a61QWNTm1PcKeDbmxqviuz","1ejl+z0StELb2mEvEiZ6vl","35MdfsfclJvb6Ukmd9ybfA","bcbmiDGrpPcaMERxUpJKEF","c8Gskh2AlF1Zhou/3P22sh","8bAJ+sKehJ1J1k2EgZ9QAz","47IBQCBJVA+JgCZj8hhYJe","3bIuyI4qdCfopLOoZCz8s6","99k7fI5ORLSIkinFX0I72z","b8nYBWqRFFm6W9ONFNUD7C","e5N4U/fdJDP7EIQ6GrCaVv","a8ok1LbyZDWKL7JK1OVhjE","abBAGcwMFDC6xD0tMtsFUn","58amK658xERYqfswqnS0cS","23FwyEU6VHPL4kx+ue0b+s","82nQe40gpGGLBfTRrGc7FO","8fjHmUGH5DnrGqgruYvYar","10jEphdBFOu6ZZQmSeBs3z","d8HsitJHxOYqo801xBk8ev","ecpdLyjvZBwrvm+cedCcQy","a2MjXRFdtLlYQ5ouAFv/+R","9bvaMerUlDyary99mJa6xp","02delMVqdBD70a/HSD99FK"],"scenes":{"db://assets/cc_mz_004/scene/cc_mz_004.fire":10},"redirect":[22,0,25,0],"deps":["internal"],"name":"cc_mz_004","importBase":"import","nativeBase":"native","debug":false,"isZip":false,"encrypted":true,"versions":{"import":[20,"be2e2",4,"7871f",17,"e9362",5,"4b3a3",10,"efdb4",2,"7871f",1,"7871f",9,"4b3a3",16,"64e86",18,"27f77",8,"7871f",0,"87e5f",19,"c7c69",11,"ff6c3",24,"95264",23,"43d76",3,"7871f",14,"a6c1c",15,"55fe4",12,"de764",6,"7871f",7,"7871f",21,"7871f",13,"3c80b"],"native":[4,"ab3f9",5,"44413",2,"63a5c",1,"86eec",9,"8ebb1",8,"5fbba",0,"95550",3,"7c662",6,"c5c99",7,"73036",21,"cdbc9"]}}
\ No newline at end of file
[1,["47IBQCBJVA+JgCZj8hhYJe"],["_textureSetter"],["cc.SpriteFrame"],0,[{"name":"white_bg","rect":[0,0,1280,640],"offset":[0,0],"originalSize":[1280,640],"capInsets":[0,0,0,0]}],[0],0,[0],[0],[0]]
\ No newline at end of file
[1,0,0,["cc.Texture2D"],0,["0,9729,9729,33071,33071,0,0,1",-1],[0],0,[],[],[]]
\ No newline at end of file
[1,["bcbmiDGrpPcaMERxUpJKEF"],["_textureSetter"],["cc.SpriteFrame"],0,[{"name":"circle","rect":[0,0,1026,1026],"offset":[0,0],"originalSize":[1026,1026],"capInsets":[0,0,0,0]}],[0],0,[0],[0],[0]]
\ No newline at end of file
[1,0,0,["cc.Texture2D"],0,["1,9729,9729,33071,33071,0,0,1",-1],[0],0,[],[],[]]
\ No newline at end of file
[1,["ecpdLyjvZBwrvm+cedCcQy","9bvaMerUlDyary99mJa6xp","58amK658xERYqfswqnS0cS","abBAGcwMFDC6xD0tMtsFUn","10jEphdBFOu6ZZQmSeBs3z","a2MjXRFdtLlYQ5ouAFv/+R","e5N4U/fdJDP7EIQ6GrCaVv","b8nYBWqRFFm6W9ONFNUD7C","8fjHmUGH5DnrGqgruYvYar","82nQe40gpGGLBfTRrGc7FO","8e8ut3kpRBhpKmX4dq0oBB","a8ok1LbyZDWKL7JK1OVhjE","23FwyEU6VHPL4kx+ue0b+s"],["node","_spriteFrame","_parent","_N$file","root","scene"],[["cc.Node",["_name","_active","_id","_opacity","_components","_contentSize","_parent","_trs","_prefab","_children"],-1,9,5,1,7,4,2],["cc.Widget",["_alignFlags","_originalWidth","_originalHeight","alignMode","_left","_top","_bottom","node"],-4,1],["cc.Sprite",["_sizeMode","_enabled","_type","node","_materials","_spriteFrame"],0,1,3,6],["cc.SceneAsset",["_name","asyncLoadAssets"],1],["cc.Scene",["_name","_active","_children","_anchorPoint","_trs"],1,2,5,7],["cc.Camera",["_clearFlags","_depth","node"],1,1],["cc.Button",["node"],3,1],["cc.PrefabInfo",["fileId","root"],2,1],["cc.Layout",["_enabled","node","_layoutSize"],2,1,5],["cc.Label",["_string","_isSystemFontUsed","_N$horizontalAlign","_N$verticalAlign","node","_materials","_N$file"],-1,1,3,6],["ff0e9h++NlKOLbC+Bu/RH2+",["node"],3,1],["cc.Canvas",["_fitHeight","node","_designResolution"],2,1,5],["96526IQf8RNELRT3dR6wRPt",["node"],3,1]],[[7,0,1,2],[2,3,4,5,1],[0,0,6,4,8,5,7,2],[2,0,3,4,5,2],[6,0,1],[0,0,6,4,5,2],[0,0,6,4,5,7,2],[0,0,6,9,4,8,5,7,2],[2,1,2,0,3,4,5,4],[3,0,1,3],[4,0,1,2,3,4,3],[0,0,2,9,4,5,7,3],[0,0,9,4,8,5,7,2],[0,0,3,6,4,8,5,7,3],[0,0,1,6,4,8,5,3],[0,0,1,6,4,5,3],[5,0,1,2,3],[1,0,1,2,7,4],[1,3,4,5,1,2,7,6],[1,0,6,1,7,4],[1,0,7,2],[8,0,1,2,2],[9,0,1,2,3,4,5,6,5],[10,0,1],[11,0,1,2,2],[12,0,1]],[[9,"cc_mz_004",null],[12,"bgBottom",[-4,-5,-6,-7,-8,-9],[[3,0,-2,[22],23],[23,-3]],[0,"b4DhAnBsxPoJbGH3BcGt5i",-1],[5,1280,132],[0,-360,0,0,0,0,1,1,1,1]],[11,"Canvas","a5esZu+45LA5mBpvttspPD",[-13,-14,-15,-16,1,-17],[[24,false,-10,[5,1280,720]],[20,45,-11],[25,-12]],[5,1280,720],[640,360,0,0,0,0,1,1,1,1]],[7,"pageDown",1,[-21],[[8,false,1,0,-18,[18],19],[21,false,-19,[5,40,40]],[4,-20]],[0,"295OcbmFNPGKH4Ej0r/d1D",1],[5,40,40],[618.054,-43.563,0,0,0,0,1,1,1,1]],[7,"pageUp",1,[-24],[[8,false,1,0,-22,[14],15],[4,-23]],[0,"a9Fom8DbRPSZOeMw0Jqr8X",1],[5,40,40],[618.054,-2.429,0,0,0,0,1,1,1,1]],[5,"Main Camera",2,[[16,7,-1,-25],[17,45,1280,720,-26]],[5,1280,720]],[5,"bg",2,[[3,0,-27,[0],1],[18,2,282.5,2.5,715,715,-28]],[5,715,715]],[6,"bgPoint",2,[[3,0,-29,[2],3],[19,44,-10,1280,-30]],[5,1280,720],[0,-10,0,0,0,0,1,1,1,1]],[13,"btn",0,1,[[3,0,-31,[6],7],[4,-32]],[0,"084fApz9JAurWaytg+oJAF",1],[5,70,50],[1.55,33.325,0,0,0,0,1,1,1,1]],[10,"New Node",false,[2],[0,0,0],[0,0,0,0,0,0,1,1,1,1]],[6,"bgWhite",2,[[1,-33,[4],5]],[5,1280,640],[0,38.789,0,0,0,0,1,1,1,1]],[2,"arrowUp",1,[[1,-34,[8],9]],[0,"edRAfQIkFF1YKIsDN8VNAl",1],[5,24,18],[0,33,0,0,0,0,1,1,1,1]],[2,"arrowDown",1,[[1,-35,[10],11]],[0,"d7byJPt2FE3KHHfVE1bP90",1],[5,24,18],[0,33,0,0,0,0,1,0,0,1]],[2,"spr",4,[[1,-36,[12],13]],[0,"7aCx+Zp2ROf6cAIGRgh4ap",1],[5,22,23],[0,-3,0,0,0,0,1,1,1,1]],[2,"spr",3,[[1,-37,[16],17]],[0,"acNVn9rVVHIrqRc23p2mf8",1],[5,22,23],[0,3,0,0,0,0,1,1,1,1]],[14,"font",false,1,[[22,"Label",false,1,1,-38,[20],21]],[0,"352OaAKCxOMYj+KGjjLk/4",1],[5,122.85,50.4]],[15,"circle",false,2,[[1,-39,[24],25]],[5,1026,1026]]],0,[0,4,1,0,0,1,0,0,1,0,-1,8,0,-2,11,0,-3,12,0,-4,4,0,-5,3,0,-6,15,0,0,2,0,0,2,0,0,2,0,-1,5,0,-2,6,0,-3,7,0,-4,10,0,-6,16,0,0,3,0,0,3,0,0,3,0,-1,14,0,0,4,0,0,4,0,-1,13,0,0,5,0,0,5,0,0,6,0,0,6,0,0,7,0,0,7,0,0,8,0,0,8,0,0,10,0,0,11,0,0,12,0,0,13,0,0,14,0,0,15,0,0,16,0,5,9,1,2,2,2,2,9,39],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,3,-1,1,-1,1],[0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,1,0,9,0,1,0,10,0,11,0,12]]
\ No newline at end of file
[1,0,0,["cc.Texture2D"],0,["0,9729,9729,33071,33071,0,0,1",-1],[0],0,[],[],[]]
\ No newline at end of file
[1,0,0,["cc.Texture2D"],0,["0,9729,9729,33071,33071,0,0,1",-1],[0],0,[],[],[]]
\ No newline at end of file
[1,0,0,["cc.Texture2D"],0,["1,9729,9729,33071,33071,0,0,1",-1],[0],0,[],[],[]]
\ No newline at end of file
[1,["35MdfsfclJvb6Ukmd9ybfA"],["_textureSetter"],["cc.SpriteFrame"],0,[{"name":"bg","rect":[0,0,715,715],"offset":[0,0],"originalSize":[715,715],"capInsets":[0,0,0,0]}],[0],0,[0],[0],[0]]
\ No newline at end of file
[1,["c8Gskh2AlF1Zhou/3P22sh"],["_textureSetter"],["cc.SpriteFrame"],0,[{"name":"page_down","rect":[0,0,22,23],"offset":[0,0],"originalSize":[22,23],"capInsets":[0,0,0,0]}],[0],0,[0],[0],[0]]
\ No newline at end of file
[1,0,0,["cc.Texture2D"],0,["0,9729,9729,33071,33071,0,0,1",-1],[0],0,[],[],[]]
\ No newline at end of file
[1,0,0,[["cc.TTFFont",["_name","_native"],1]],[[0,0,1,3]],[[0,"KGMissKindyMarker","KGMissKindyMarker.ttf"],-1],0,0,[],[],[]]
\ No newline at end of file
[1,["8bAJ+sKehJ1J1k2EgZ9QAz"],["_textureSetter"],["cc.SpriteFrame"],0,[{"name":"page_up","rect":[0,0,22,23],"offset":[0,0],"originalSize":[22,23],"capInsets":[0,0,0,0]}],[0],0,[0],[0],[0]]
\ No newline at end of file
[1,["ecpdLyjvZBwrvm+cedCcQy","9bvaMerUlDyary99mJa6xp","a2MjXRFdtLlYQ5ouAFv/+R","e5N4U/fdJDP7EIQ6GrCaVv","b8nYBWqRFFm6W9ONFNUD7C","8fjHmUGH5DnrGqgruYvYar","82nQe40gpGGLBfTRrGc7FO","8e8ut3kpRBhpKmX4dq0oBB","a8ok1LbyZDWKL7JK1OVhjE"],["node","_spriteFrame","_N$file","root","data"],[["cc.Node",["_name","_active","_opacity","_components","_prefab","_contentSize","_trs","_parent","_children"],0,9,4,5,7,1,2],["cc.Sprite",["_sizeMode","_enabled","_type","node","_materials","_spriteFrame"],0,1,3,6],["cc.Prefab",["_name"],2],["cc.Button",["node"],3,1],["cc.PrefabInfo",["fileId","root"],2,1],["cc.Layout",["_enabled","node","_layoutSize"],2,1,5],["cc.Label",["_string","_isSystemFontUsed","_N$horizontalAlign","_N$verticalAlign","node","_materials","_N$file"],-1,1,3,6],["ff0e9h++NlKOLbC+Bu/RH2+",["node"],3,1]],[[4,0,1,2],[1,3,4,5,1],[0,0,7,3,4,5,6,2],[3,0,1],[0,0,7,8,3,4,5,6,2],[1,0,3,4,5,2],[1,1,2,0,3,4,5,4],[2,0,2],[0,0,8,3,4,5,6,2],[0,0,2,7,3,4,5,6,3],[0,0,1,7,3,4,5,6,3],[0,0,1,7,3,4,5,3],[5,0,1,2,2],[6,0,1,2,3,4,5,6,5],[7,0,1]],[[7,"bgBottom"],[8,"bgBottom",[-4,-5,-6,-7,-8,-9],[[5,0,-2,[16],17],[14,-3]],[0,"b4DhAnBsxPoJbGH3BcGt5i",-1],[5,1280,132],[0,-360,0,0,0,0,1,1,1,1]],[4,"pageDown",1,[-13],[[6,false,1,0,-10,[12],13],[12,false,-11,[5,40,40]],[3,-12]],[0,"295OcbmFNPGKH4Ej0r/d1D",1],[5,40,40],[618.054,-43.563,0,0,0,0,1,1,1,1]],[4,"pageUp",1,[-16],[[6,false,1,0,-14,[8],9],[3,-15]],[0,"a9Fom8DbRPSZOeMw0Jqr8X",1],[5,40,40],[618.054,-2.429,0,0,0,0,1,1,1,1]],[9,"btn",0,1,[[5,0,-17,[0],1],[3,-18]],[0,"084fApz9JAurWaytg+oJAF",1],[5,70,50],[1.55,33.325,0,0,0,0,1,1,1,1]],[2,"arrowUp",1,[[1,-19,[2],3]],[0,"edRAfQIkFF1YKIsDN8VNAl",1],[5,24,18],[0,33,0,0,0,0,1,1,1,1]],[10,"arrowDown",false,1,[[1,-20,[4],5]],[0,"d7byJPt2FE3KHHfVE1bP90",1],[5,24,18],[0,33,0,0,0,0,1,1,1,1]],[2,"spr",3,[[1,-21,[6],7]],[0,"7aCx+Zp2ROf6cAIGRgh4ap",1],[5,22,23],[0,-3,0,0,0,0,1,1,1,1]],[2,"spr",2,[[1,-22,[10],11]],[0,"acNVn9rVVHIrqRc23p2mf8",1],[5,22,23],[0,3,0,0,0,0,1,1,1,1]],[11,"font",false,1,[[13,"Label",false,1,1,-23,[14],15]],[0,"352OaAKCxOMYj+KGjjLk/4",1],[5,122.85,50.4]]],0,[0,3,1,0,0,1,0,0,1,0,-1,4,0,-2,5,0,-3,6,0,-4,3,0,-5,2,0,-6,9,0,0,2,0,0,2,0,0,2,0,-1,8,0,0,3,0,0,3,0,-1,7,0,0,4,0,0,4,0,0,5,0,0,6,0,0,7,0,0,8,0,0,9,0,4,1,23],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1],[0,2,0,3,0,4,0,5,0,1,0,6,0,1,0,7,0,8]]
\ No newline at end of file
[1,0,0,["cc.Texture2D"],0,["0,9729,9729,33071,33071,0,0,1",-1],[0],0,[],[],[]]
\ No newline at end of file
[1,["a61QWNTm1PcKeDbmxqviuz"],["_textureSetter"],["cc.SpriteFrame"],0,[{"name":"bg_bottom","rect":[0,0,1280,132],"offset":[0,0],"originalSize":[1280,132],"capInsets":[0,0,0,0]}],[0],0,[0],[0],[0]]
\ No newline at end of file
[1,["1ejl+z0StELb2mEvEiZ6vl"],["_textureSetter"],["cc.SpriteFrame"],0,[{"name":"bg_points","rect":[0,0,1279,720],"offset":[-0.5,0],"originalSize":[1280,720],"capInsets":[0,0,0,0]}],[0],0,[0],[0],[0]]
\ No newline at end of file
[1,["43dIM3eEVID7q17+J3if3y"],["_textureSetter"],["cc.SpriteFrame"],0,[{"name":"arrow_down","rect":[0,0,24,18],"offset":[0,0],"originalSize":[24,18],"capInsets":[0,0,0,0]}],[0],0,[0],[0],[0]]
\ No newline at end of file
[1,0,0,["cc.Texture2D"],0,["0,9729,9729,33071,33071,0,0,1",-1],[0],0,[],[],[]]
\ No newline at end of file
[1,0,0,["cc.Texture2D"],0,["0,9729,9729,33071,33071,0,0,1",-1],[0],0,[],[],[]]
\ No newline at end of file
[1,["3dKPHJglZBzI+eAcfj4Tcf"],["_textureSetter"],["cc.SpriteFrame"],0,[{"name":"arrow_up","rect":[0,0,24,18],"offset":[0,0],"originalSize":[24,18],"capInsets":[0,0,0,0]}],[0],0,[0],[0],[0]]
\ No newline at end of file
{"ios":{"sceneName":"cc_mz_004","version":""},"android":{"sceneName":"cc_mz_004","version":"b0035"}}
\ No newline at end of file
{"ios":{"sceneName":"cc_mz_004","version":"4aee4"},"android":{"sceneName":"cc_mz_004","version":"4aee4"}}
\ No newline at end of file
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "white_bg",
"texture": "47201402-0495-40f8-9802-663f2185825e",
"atlas": "",
"rect": [
0,
0,
1280,
640
],
"offset": [
0,
0
],
"originalSize": [
1280,
640
],
"capInsets": [
0,
0,
0,
0
]
}
}
\ No newline at end of file
{
"__type__": "cc.Texture2D",
"content": "0,9729,9729,33071,33071,0,0,1"
}
\ No newline at end of file
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "circle",
"texture": "bc6e6883-1aba-4f71-a304-47152924a105",
"atlas": "",
"rect": [
0,
0,
1026,
1026
],
"offset": [
0,
0
],
"originalSize": [
1026,
1026
],
"capInsets": [
0,
0,
0,
0
]
}
}
\ No newline at end of file
{
"__type__": "cc.Texture2D",
"content": "1,9729,9729,33071,33071,0,0,1"
}
\ No newline at end of file
......@@ -357,7 +357,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "586a62ba-e7cc-4445-8a9f-b30aa74b4712"
"__uuid__": "e87d6a18-47d1-42d5-97ac-270b18c32012"
},
"_type": 0,
"_sizeMode": 0,
......@@ -481,7 +481,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "ab04019c-c0c1-430b-ac43-d2d32db05527"
"__uuid__": "0c617db2-a19b-4c5d-925f-5eb76f224e2e"
},
"_type": 0,
"_sizeMode": 0,
......@@ -602,7 +602,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "108c4a61-7411-4ebb-a659-42649e06cdf3"
"__uuid__": "a448d990-f438-40d9-abaa-a3e6a944d5ff"
},
"_type": 0,
"_sizeMode": 1,
......@@ -877,7 +877,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "084fApz9JAurWaytg+oJAF",
"sync": false
......@@ -962,7 +962,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "e537853f-7dd2-433f-b108-43a1ab09a56f"
"__uuid__": "05868b71-e392-4470-b4cd-d997633e65cb"
},
"_type": 0,
"_sizeMode": 1,
......@@ -984,7 +984,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "edRAfQIkFF1YKIsDN8VNAl",
"sync": false
......@@ -1069,7 +1069,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "b89d8056-a911-459b-a5bd-38d14d503ec2"
"__uuid__": "367d4004-4a60-46a6-a1a7-d913ced994a2"
},
"_type": 0,
"_sizeMode": 1,
......@@ -1091,7 +1091,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "d7byJPt2FE3KHHfVE1bP90",
"sync": false
......@@ -1247,7 +1247,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "8f8c7994-187e-439e-b1aa-82bb98bd86ab"
"__uuid__": "68f4c9b6-4837-4f3b-921f-0699563284be"
},
"_type": 0,
"_sizeMode": 1,
......@@ -1269,7 +1269,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "7aCx+Zp2ROf6cAIGRgh4ap",
"sync": false
......@@ -1380,7 +1380,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "a9Fom8DbRPSZOeMw0Jqr8X",
"sync": false
......@@ -1539,7 +1539,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "829d07b8-d20a-4618-b05f-4d1ac673b14e"
"__uuid__": "fa823657-94b6-44d3-a2e5-62fe16913283"
},
"_type": 0,
"_sizeMode": 1,
......@@ -1561,7 +1561,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "acNVn9rVVHIrqRc23p2mf8",
"sync": false
......@@ -1704,7 +1704,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "295OcbmFNPGKH4Ej0r/d1D",
"sync": false
......@@ -1794,7 +1794,7 @@
"_lineHeight": 40,
"_enableWrapText": true,
"_N$file": {
"__uuid__": "8ef2eb77-9294-4186-92a6-5f876ad28041"
"__uuid__": "0645a443-b4f5-466a-a8e8-58cd88a56fa5"
},
"_isSystemFontUsed": false,
"_spacingX": 0,
......@@ -1814,7 +1814,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "352OaAKCxOMYj+KGjjLk/4",
"sync": false
......@@ -1835,7 +1835,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "a8a24d4b-6f26-4358-a2fb-24ad4e5618c4"
"__uuid__": "edd0e541-7d1e-406c-8a58-d04c229bba77"
},
"_type": 0,
"_sizeMode": 0,
......@@ -1852,7 +1852,7 @@
"_id": "30krhhSrdCpIxTogxo3eTR"
},
{
"__type__": "ff0e9h++NlKOLbC+Bu/RH2+",
"__type__": "d58ae5Unq5Kn4iOLn2N/so4",
"_name": "",
"_objFlags": 0,
"node": {
......@@ -1867,7 +1867,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "b4DhAnBsxPoJbGH3BcGt5i",
"sync": false
......@@ -1950,7 +1950,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "23170c84-53a5-473c-be24-c7eb9ed1bfac"
"__uuid__": "3f5b2aca-45d1-4d2d-b896-a1b901a32d29"
},
"_type": 0,
"_sizeMode": 1,
......
{
"__type__": "cc.Texture2D",
"content": "0,9729,9729,33071,33071,0,0,1"
}
\ No newline at end of file
{
"__type__": "cc.Texture2D",
"content": "0,9729,9729,33071,33071,0,0,1"
}
\ No newline at end of file
{
"__type__": "cc.Texture2D",
"content": "1,9729,9729,33071,33071,0,0,1"
}
\ No newline at end of file
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "bg",
"texture": "3531d7ec-7dc9-49bd-be94-92677dc9b7c0",
"atlas": "",
"rect": [
0,
0,
715,
715
],
"offset": [
0,
0
],
"originalSize": [
715,
715
],
"capInsets": [
0,
0,
0,
0
]
}
}
\ No newline at end of file
"use strict";
cc._RF.push(module, '5ac8b17OKNJaawviu75DIhe', 'util');
// cc_mz_004/script/util.js
"use strict";
exports.__esModule = true;
exports.getPosByAngle = getPosByAngle;
exports.getAngleByPos = getAngleByPos;
exports.exchangeNodePos = exchangeNodePos;
exports.RandomInt = RandomInt;
exports.randomSortByArr = randomSortByArr;
exports.setSprNodeMaxLen = setSprNodeMaxLen;
exports.localPosTolocalPos = localPosTolocalPos;
exports.getScaleRateBy2Node = getScaleRateBy2Node;
function getPosByAngle(angle, len) {
var radian = angle * Math.PI / 180;
var x = Math.sin(radian) * len;
var y = Math.cos(radian) * len;
return {
x: x,
y: y
};
}
function getAngleByPos(px, py, mx, my) {
var x = Math.abs(px - mx);
var y = Math.abs(py - my);
var z = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
var cos = y / z;
var radina = Math.acos(cos); // 用反三角函数求弧度
var angle = Math.floor(180 / (Math.PI / radina) * 100) / 100; // 将弧度转换成角度
if (mx > px && my > py) {
// 鼠标在第四象限
angle = 180 - angle;
}
if (mx === px && my > py) {
// 鼠标在y轴负方向上
angle = 180;
}
if (mx > px && my === py) {
// 鼠标在x轴正方向上
angle = 90;
}
if (mx < px && my > py) {
// 鼠标在第三象限
angle = 180 + angle;
}
if (mx < px && my === py) {
// 鼠标在x轴负方向
angle = 270;
}
if (mx < px && my < py) {
// 鼠标在第二象限
angle = 360 - angle;
} // console.log('angle: ', angle);
return angle;
}
function exchangeNodePos(baseNode, targetNode) {
return baseNode.convertToNodeSpaceAR(targetNode._parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y)));
}
function RandomInt(a, b) {
if (b === void 0) {
b = 0;
}
var max = Math.max(a, b);
var min = Math.min(a, b);
return Math.floor(Math.random() * (max - min) + min);
}
function randomSortByArr(arr) {
var newArr = [];
var tmpArr = arr.concat();
while (tmpArr.length > 0) {
var randomIndex = Math.floor(tmpArr.length * Math.random());
newArr.push(tmpArr[randomIndex]);
tmpArr.splice(randomIndex, 1);
}
return newArr;
}
function setSprNodeMaxLen(sprNode, maxW, maxH) {
var sx = maxW / sprNode.width;
var sy = maxH / sprNode.height;
var s = Math.min(sx, sy);
sprNode.scale = Math.round(s * 1000) / 1000;
}
function localPosTolocalPos(baseNode, targetNode) {
var worldPos = targetNode.parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y));
var localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));
return localPos;
}
function getScaleRateBy2Node(baseNode, targetNode, maxFlag) {
if (maxFlag === void 0) {
maxFlag = true;
}
var worldRect1 = targetNode.getBoundingBoxToWorld();
var worldRect2 = baseNode.getBoundingBoxToWorld();
var sx = worldRect1.width / worldRect2.width;
var sy = worldRect1.height / worldRect2.height;
if (maxFlag) {
return Math.max(sx, sy);
} else {
return Math.min(sx, sy);
}
}
cc._RF.pop();
\ No newline at end of file
{"version":3,"sources":["assets/cc_mz_004/script/util.js"],"names":["getPosByAngle","angle","len","radian","Math","PI","x","sin","y","cos","getAngleByPos","px","py","mx","my","abs","z","sqrt","pow","radina","acos","floor","exchangeNodePos","baseNode","targetNode","convertToNodeSpaceAR","_parent","convertToWorldSpaceAR","cc","v2","RandomInt","a","b","max","min","random","randomSortByArr","arr","newArr","tmpArr","concat","length","randomIndex","push","splice","setSprNodeMaxLen","sprNode","maxW","maxH","sx","width","sy","height","s","scale","round","localPosTolocalPos","worldPos","parent","localPos","getScaleRateBy2Node","maxFlag","worldRect1","getBoundingBoxToWorld","worldRect2"],"mappings":";;;;;;;;;;;;;;;;AAAO,SAASA,aAAT,CAAuBC,KAAvB,EAA8BC,GAA9B,EAAmC;AAExC,MAAMC,MAAM,GAAGF,KAAK,GAAGG,IAAI,CAACC,EAAb,GAAkB,GAAjC;AACA,MAAMC,CAAC,GAAGF,IAAI,CAACG,GAAL,CAASJ,MAAT,IAAmBD,GAA7B;AACA,MAAMM,CAAC,GAAGJ,IAAI,CAACK,GAAL,CAASN,MAAT,IAAmBD,GAA7B;AAEA,SAAO;AAAEI,IAAAA,CAAC,EAADA,CAAF;AAAKE,IAAAA,CAAC,EAADA;AAAL,GAAP;AAED;;AAEM,SAASE,aAAT,CAAuBC,EAAvB,EAA2BC,EAA3B,EAA+BC,EAA/B,EAAmCC,EAAnC,EAAuC;AAE5C,MAAMR,CAAC,GAAGF,IAAI,CAACW,GAAL,CAASJ,EAAE,GAAGE,EAAd,CAAV;AACA,MAAML,CAAC,GAAGJ,IAAI,CAACW,GAAL,CAASH,EAAE,GAAGE,EAAd,CAAV;AAEA,MAAME,CAAC,GAAGZ,IAAI,CAACa,IAAL,CAAUb,IAAI,CAACc,GAAL,CAASZ,CAAT,EAAY,CAAZ,IAAiBF,IAAI,CAACc,GAAL,CAASV,CAAT,EAAY,CAAZ,CAA3B,CAAV;AACA,MAAMC,GAAG,GAAGD,CAAC,GAAGQ,CAAhB;AACA,MAAMG,MAAM,GAAGf,IAAI,CAACgB,IAAL,CAAUX,GAAV,CAAf,CAP4C,CAOb;;AAC/B,MAAIR,KAAK,GAAGG,IAAI,CAACiB,KAAL,CAAW,OAAOjB,IAAI,CAACC,EAAL,GAAUc,MAAjB,IAA2B,GAAtC,IAA6C,GAAzD,CAR4C,CAQkB;;AAE9D,MAAIN,EAAE,GAAGF,EAAL,IAAWG,EAAE,GAAGF,EAApB,EAAwB;AAAC;AACvBX,IAAAA,KAAK,GAAG,MAAMA,KAAd;AACD;;AACD,MAAIY,EAAE,KAAKF,EAAP,IAAaG,EAAE,GAAGF,EAAtB,EAA0B;AAAC;AACzBX,IAAAA,KAAK,GAAG,GAAR;AACD;;AACD,MAAIY,EAAE,GAAGF,EAAL,IAAWG,EAAE,KAAKF,EAAtB,EAA0B;AAAC;AACzBX,IAAAA,KAAK,GAAG,EAAR;AACD;;AACD,MAAIY,EAAE,GAAGF,EAAL,IAAWG,EAAE,GAAGF,EAApB,EAAwB;AAAC;AACvBX,IAAAA,KAAK,GAAG,MAAMA,KAAd;AACD;;AACD,MAAIY,EAAE,GAAGF,EAAL,IAAWG,EAAE,KAAKF,EAAtB,EAA0B;AAAC;AACzBX,IAAAA,KAAK,GAAG,GAAR;AACD;;AACD,MAAIY,EAAE,GAAGF,EAAL,IAAWG,EAAE,GAAGF,EAApB,EAAwB;AAAC;AACvBX,IAAAA,KAAK,GAAG,MAAMA,KAAd;AACD,GA3B2C,CA6B5C;;;AACA,SAAOA,KAAP;AAED;;AAEM,SAASqB,eAAT,CAAyBC,QAAzB,EAAmCC,UAAnC,EAA+C;AACpD,SAAOD,QAAQ,CAACE,oBAAT,CAA8BD,UAAU,CAACE,OAAX,CAAmBC,qBAAnB,CAAyCC,EAAE,CAACC,EAAH,CAAML,UAAU,CAAClB,CAAjB,EAAoBkB,UAAU,CAAChB,CAA/B,CAAzC,CAA9B,CAAP;AACD;;AAEM,SAASsB,SAAT,CAAmBC,CAAnB,EAAsBC,CAAtB,EAA6B;AAAA,MAAPA,CAAO;AAAPA,IAAAA,CAAO,GAAH,CAAG;AAAA;;AAClC,MAAIC,GAAG,GAAG7B,IAAI,CAAC6B,GAAL,CAASF,CAAT,EAAYC,CAAZ,CAAV;AACA,MAAIE,GAAG,GAAG9B,IAAI,CAAC8B,GAAL,CAASH,CAAT,EAAYC,CAAZ,CAAV;AACA,SAAO5B,IAAI,CAACiB,KAAL,CAAWjB,IAAI,CAAC+B,MAAL,MAAiBF,GAAG,GAAGC,GAAvB,IAA8BA,GAAzC,CAAP;AACD;;AAEM,SAASE,eAAT,CAAyBC,GAAzB,EAA8B;AACnC,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,MAAM,GAAGF,GAAG,CAACG,MAAJ,EAAf;;AACA,SAAOD,MAAM,CAACE,MAAP,GAAgB,CAAvB,EAA0B;AACxB,QAAMC,WAAW,GAAGtC,IAAI,CAACiB,KAAL,CAAWkB,MAAM,CAACE,MAAP,GAAgBrC,IAAI,CAAC+B,MAAL,EAA3B,CAApB;AACAG,IAAAA,MAAM,CAACK,IAAP,CAAYJ,MAAM,CAACG,WAAD,CAAlB;AACAH,IAAAA,MAAM,CAACK,MAAP,CAAcF,WAAd,EAA2B,CAA3B;AACD;;AACD,SAAOJ,MAAP;AACD;;AAEM,SAASO,gBAAT,CAA0BC,OAA1B,EAAmCC,IAAnC,EAAyCC,IAAzC,EAA+C;AACpD,MAAMC,EAAE,GAAGF,IAAI,GAAGD,OAAO,CAACI,KAA1B;AACA,MAAMC,EAAE,GAAGH,IAAI,GAAGF,OAAO,CAACM,MAA1B;AACA,MAAMC,CAAC,GAAGjD,IAAI,CAAC8B,GAAL,CAASe,EAAT,EAAaE,EAAb,CAAV;AACAL,EAAAA,OAAO,CAACQ,KAAR,GAAgBlD,IAAI,CAACmD,KAAL,CAAWF,CAAC,GAAG,IAAf,IAAuB,IAAvC;AACD;;AAEM,SAASG,kBAAT,CAA4BjC,QAA5B,EAAsCC,UAAtC,EAAkD;AACxD,MAAMiC,QAAQ,GAAGjC,UAAU,CAACkC,MAAX,CAAkB/B,qBAAlB,CAAwCC,EAAE,CAACC,EAAH,CAAML,UAAU,CAAClB,CAAjB,EAAoBkB,UAAU,CAAChB,CAA/B,CAAxC,CAAjB;AACA,MAAMmD,QAAQ,GAAGpC,QAAQ,CAACmC,MAAT,CAAgBjC,oBAAhB,CAAqCG,EAAE,CAACC,EAAH,CAAM4B,QAAQ,CAACnD,CAAf,EAAkBmD,QAAQ,CAACjD,CAA3B,CAArC,CAAjB;AACA,SAAOmD,QAAP;AACA;;AAEM,SAASC,mBAAT,CAA6BrC,QAA7B,EAAuCC,UAAvC,EAAmDqC,OAAnD,EAAmE;AAAA,MAAhBA,OAAgB;AAAhBA,IAAAA,OAAgB,GAAN,IAAM;AAAA;;AACzE,MAAMC,UAAU,GAAGtC,UAAU,CAACuC,qBAAX,EAAnB;AACA,MAAMC,UAAU,GAAGzC,QAAQ,CAACwC,qBAAT,EAAnB;AAEA,MAAMd,EAAE,GAAGa,UAAU,CAACZ,KAAX,GAAmBc,UAAU,CAACd,KAAzC;AACA,MAAMC,EAAE,GAAGW,UAAU,CAACV,MAAX,GAAoBY,UAAU,CAACZ,MAA1C;;AACA,MAAIS,OAAJ,EAAa;AACZ,WAAOzD,IAAI,CAAC6B,GAAL,CAASgB,EAAT,EAAaE,EAAb,CAAP;AACA,GAFD,MAEO;AACN,WAAO/C,IAAI,CAAC8B,GAAL,CAASe,EAAT,EAAaE,EAAb,CAAP;AACA;AACD","sourceRoot":"/","sourcesContent":["export function getPosByAngle(angle, len) {\n\n const radian = angle * Math.PI / 180;\n const x = Math.sin(radian) * len;\n const y = Math.cos(radian) * len;\n\n return { x, y };\n\n}\n\nexport function getAngleByPos(px, py, mx, my) {\n\n const x = Math.abs(px - mx);\n const y = Math.abs(py - my);\n\n const z = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));\n const cos = y / z;\n const radina = Math.acos(cos); // 用反三角函数求弧度\n let angle = Math.floor(180 / (Math.PI / radina) * 100) / 100; // 将弧度转换成角度\n\n if (mx > px && my > py) {// 鼠标在第四象限\n angle = 180 - angle;\n }\n if (mx === px && my > py) {// 鼠标在y轴负方向上\n angle = 180;\n }\n if (mx > px && my === py) {// 鼠标在x轴正方向上\n angle = 90;\n }\n if (mx < px && my > py) {// 鼠标在第三象限\n angle = 180 + angle;\n }\n if (mx < px && my === py) {// 鼠标在x轴负方向\n angle = 270;\n }\n if (mx < px && my < py) {// 鼠标在第二象限\n angle = 360 - angle;\n }\n\n // console.log('angle: ', angle);\n return angle;\n\n}\n\nexport function exchangeNodePos(baseNode, targetNode) {\n return baseNode.convertToNodeSpaceAR(targetNode._parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y)));\n}\n\nexport function RandomInt(a, b = 0) {\n let max = Math.max(a, b);\n let min = Math.min(a, b);\n return Math.floor(Math.random() * (max - min) + min);\n}\n\nexport function randomSortByArr(arr) {\n const newArr = [];\n const tmpArr = arr.concat();\n while (tmpArr.length > 0) {\n const randomIndex = Math.floor(tmpArr.length * Math.random());\n newArr.push(tmpArr[randomIndex]);\n tmpArr.splice(randomIndex, 1);\n }\n return newArr;\n}\n\nexport function setSprNodeMaxLen(sprNode, maxW, maxH) {\n const sx = maxW / sprNode.width;\n const sy = maxH / sprNode.height;\n const s = Math.min(sx, sy);\n sprNode.scale = Math.round(s * 1000) / 1000;\n}\n\nexport function localPosTolocalPos(baseNode, targetNode) {\n\tconst worldPos = targetNode.parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y));\n\tconst localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));\n\treturn localPos;\n}\n\nexport function getScaleRateBy2Node(baseNode, targetNode, maxFlag = true) {\n\tconst worldRect1 = targetNode.getBoundingBoxToWorld();\n\tconst worldRect2 = baseNode.getBoundingBoxToWorld();\n\n\tconst sx = worldRect1.width / worldRect2.width;\n\tconst sy = worldRect1.height / worldRect2.height;\n\tif (maxFlag) {\n\t\treturn Math.max(sx, sy);\n\t} else {\n\t\treturn Math.min(sx, sy);\n\t}\n}\n"]}
\ No newline at end of file
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "page_down",
"texture": "c81ac921-d809-45d5-9868-bbfdcfdb6b21",
"atlas": "",
"rect": [
0,
0,
22,
23
],
"offset": [
0,
0
],
"originalSize": [
22,
23
],
"capInsets": [
0,
0,
0,
0
]
}
}
\ No newline at end of file
{
"__type__": "cc.Texture2D",
"content": "0,9729,9729,33071,33071,0,0,1"
}
\ No newline at end of file
{
"__type__": "cc.TTFFont",
"_name": "KGMissKindyMarker",
"_objFlags": 0,
"_native": "KGMissKindyMarker.ttf",
"_fontFamily": null
}
\ No newline at end of file
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "page_up",
"texture": "8b009fac-29e8-49d4-9d64-d84819f50033",
"atlas": "",
"rect": [
0,
0,
22,
23
],
"offset": [
0,
0
],
"originalSize": [
22,
23
],
"capInsets": [
0,
0,
0,
0
]
}
}
\ No newline at end of file
......@@ -226,6 +226,10 @@ cc.Class({
this.initMusic();
},
initMusic: function initMusic() {
if (!this.data.bg_audio_url) {
return;
}
cc.assetManager.loadRemote(this.data.bg_audio_url, function (err, clip) {
cc.audioEngine.setMusicVolume(0.3);
var audioID = cc.audioEngine.playMusic(clip, true);
......@@ -351,7 +355,7 @@ cc.Class({
},
initBottomPart: function initBottomPart() {
var bgBottom = cc.find('Canvas/bgBottom');
var script = bgBottom.getComponent('bgBottom');
var script = bgBottom.getComponent('bgBottom_cc_mz_004');
var picArr = [];
this.data.hotZoneItemArr.forEach(function (item) {
if (item.gIdx == '0') {
......@@ -657,7 +661,8 @@ cc.Class({
}, {
easing: 'cubicOut'
}).start();
} // update (dt) {},
},
onDestroy: function onDestroy() {} // update (dt) {},
});
......
{"version":3,"sources":["assets/cc_mz_004/scene/cc_mz_004.js"],"names":["cc","Class","Component","properties","baseWidth","type","Integer","baseHeight","onLoad","debug","setDisplayStats","initSceneData","initSize","_imageResList","_audioResList","_animaResList","_designSize","view","getDesignResolutionSize","start","getData","bind","window","courseware","data","console","log","getDefaultData","preloadItem","addPreloadImage","addPreloadAudio","addPreloadAnima","preload","func","dataJson","data1","JSON","parse","bgItem","rect","height","width","x","y","url","hotZoneItemArr","id","imgScale","index","itemType","mapScale","skeJsonData","name","texJsonData","texPngData","picArr","audio_url","pic_url","text","concat","preloadArr","assetManager","loadAny","err","loadEnd","hideAirClassLoading","push","forEach","item","bg_audio_url","initView","initBg","initHotZone","initBottomPart","initCircle","initListener","initMusic","loadRemote","clip","audioEngine","setMusicVolume","audioID","playMusic","_cocosScale","frameSize","getFrameSize","sx","winSize","sy","s","Math","min","bgNode","find","scale","max","anchorX","anchorY","bg","rectNode","Node","scaleX","scaleY","addChild","ctx","addComponent","Graphics","fillColor","bgColor","fillRect","fill","initHotZoneBg","hotZoneBg","parent","zIndex","canvas","loader","load","img","addMask","box","getBoundingBox","tmpS","subNum","getVisibleSize","mapS","bgBottom","sprNode","sf","SpriteFrame","spr","Sprite","spriteFrame","bgWhite","shadowNode","Color","BLACK","setA","gIdx","setOneCircle","setOnePic","setOneAnima","node","mask","Mask","Type","RECT","script","getComponent","setItemData","rate","lineWidth","strokeColor","WHITE","isShowDebugLine","stroke","animaNode","audioClip","dragonDisplay","dragonBones","ArmatureDisplay","image","ske","atlas","error","texture","atlasJson","dragonBonesJson","DragonBonesAtlasAsset","asset","DragonBonesAsset","dragonAtlasAsset","dragonAsset","json","armatures","armatureNames","i","length","defaultArmatureName","armatureName","defaultArmature","animations","animation","animationNames","Button","on","isClicked","stopAllEffects","playEffect","playAnimation","picNode","addPicAudio","showCircle","showAnima","_circle","active","itemNode","hideCircle","pos","opacity","tween","to","easing"],"mappings":"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","sourceRoot":"/","sourcesContent":["// Learn cc.Class:\n// - https://docs.cocos.com/creator/manual/en/scripting/class.html\n// Learn Attribute:\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\n// Learn life-cycle callbacks:\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\n\nimport {getScaleRateBy2Node, localPosTolocalPos} from \"./util\";\n\ncc.Class({\n\textends: cc.Component,\n\n\tproperties: {\n\t\tbaseWidth: {\n\t\t\tdefault: 1280,\n\t\t\ttype: cc.Integer\n\t\t},\n\t\tbaseHeight: {\n\t\t\tdefault: 720,\n\t\t\ttype: cc.Integer\n\t\t}\n\t\t// foo: {\n\t\t// // ATTRIBUTES:\n\t\t// default: null, // The default value will be used only when the component attaching\n\t\t// // to a node for the first time\n\t\t// type: cc.SpriteFrame, // optional, default is typeof default\n\t\t// serializable: true, // optional, default is true\n\t\t// },\n\t\t// bar: {\n\t\t// get () {\n\t\t// return this._bar;\n\t\t// },\n\t\t// set (value) {\n\t\t// this._bar = value;\n\t\t// }\n\t\t// },\n\t},\n\n\t// LIFE-CYCLE CALLBACKS:\n\n\t// baseWidth: 1280;\n\t// baseHeight: 720;\n\n\tonLoad() {\n\t\tcc.debug.setDisplayStats(false);\n\t\tthis.initSceneData();\n\t\tthis.initSize();\n\t},\n\n\tinitSceneData() {\n\t\tthis._imageResList = [];\n\t\tthis._audioResList = [];\n\t\tthis._animaResList = [];\n\t},\n\n\t_designSize: null,\n\tinitSize() {\n\t\tthis._designSize = cc.view.getDesignResolutionSize();\n\n\t},\n\n\tstart() {\n\t\tlet getData = this.getData.bind(this);\n\t\tif (window && window.courseware) {\n\t\t\t// console.log('has window');\n\t\t\tgetData = window.courseware.getData;\n\t\t}\n\t\tgetData((data) => {\n\t\t\tconsole.log('data:', data);\n\t\t\tthis.data = data || this.getDefaultData();\n\t\t\tthis.preloadItem()\n\t\t})\n\t},\n\n\n\t_imageResList: null,\n\t_audioResList: null,\n\t_animaResList: null,\n\tpreloadItem() {\n\t\tthis.addPreloadImage();\n\t\tthis.addPreloadAudio();\n\t\tthis.addPreloadAnima();\n\t\tthis.preload();\n\t},\n\n\tgetData(func) {\n\t\tfunc(this.getDefaultData());\n\t},\n\n\tgetDefaultData() {\n\n\t\tconst dataJson = '{\"bgColorId\":0,\"bgColor\":\"#f9bd03\",\"bgItem\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/539e2f58cb1817f852d9c09ec1ac7c8b.png\",\"rect\":{\"x\":265.18,\"y\":0,\"width\":776.65,\"height\":500}},\"hotZoneItemArr\":[{\"id\":\"1611197962070\",\"index\":0,\"pic_url\":\"http://staging-teach.cdn.ireadabc.com/8ce25a36313edb9dfa3de77ba85cb6b9.png\",\"text\":\"aaa\",\"audio_url\":\"http://staging-teach.cdn.ireadabc.com/cd8daa8b4d8ff707b3a3680e80bc4761.mp3\",\"itemType\":\"rect\",\"fontScale\":1.02109375,\"imgScale\":0.7029268568840579,\"mapScale\":1.02109375,\"skeJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/3db1a0ed6b7e33d5f9f284e1a5980349.json\",\"name\":\"Ubbie_ske.json\"},\"texJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/4232e00c9b1d272e650e51dbb785e498.json\",\"name\":\"Ubbie_tex.json\"},\"texPngData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/2e56dbe3134380952a725eacceb86359.png\",\"name\":\"Ubbie_tex.png\"},\"gIdx\":\"0\",\"rect\":{\"x\":-1.68,\"y\":-1,\"width\":200,\"height\":200}},{\"id\":\"1611197966644\",\"index\":1,\"pic_url\":\"http://staging-teach.cdn.ireadabc.com/c8abf7383d65bcbdba8f390785cece60.png\",\"audio_url\":\"http://staging-teach.cdn.ireadabc.com/1961d807c944e6551af02c7b57e117f3.mp3\",\"itemType\":\"pic\",\"fontScale\":1.02109375,\"imgScale\":0.2536231884057971,\"mapScale\":1.02109375,\"gIdx\":\"1\",\"rect\":{\"x\":7.32,\"y\":424,\"width\":70,\"height\":70}},{\"id\":\"1611197971104\",\"index\":2,\"audio_url\":\"http://staging-teach.cdn.ireadabc.com/694a80e21cefd6e53880d61e684e1c94.mp3\",\"itemType\":\"rect\",\"fontScale\":1.02109375,\"imgScale\":1,\"mapScale\":1.02109375,\"skeJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/7efceac56cc9a61b107a11457390d3c6.json\",\"name\":\"finish1_ske.json\"},\"texJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/d6e8db4fb385127de9e3cd9d8a9530f7.json\",\"name\":\"finish1_tex.json\"},\"texPngData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/96f5c7a9ac9f433c9c870c38b0811a38.png\",\"name\":\"finish1_tex.png\"},\"gIdx\":\"2\",\"rect\":{\"x\":575.32,\"y\":303,\"width\":200,\"height\":200}}],\"bg_audio_url\":\"http://staging-teach.cdn.ireadabc.com/3fa65d5f667a2ef9059d3dfc5df74a4d.mp3\"}'\n\t\tconst data1 = JSON.parse(dataJson);\n\t\treturn data1;\n\n\t\tconst data = {\n\t\t\tbgItem: {\n\t\t\t\trect: {\n\t\t\t\t\theight: 380,\n\t\t\t\t\twidth: 675.56,\n\t\t\t\t\tx: 160.72,\n\t\t\t\t\ty: 0\n\t\t\t\t},\n\t\t\t\t// url: \"http://staging-teach.cdn.ireadabc.com/b31c5881ea5f607c1d3540029a7d29c7.png\"\n\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/756b0a8de4cb84ed70e70d60f87a5901.jpg\"\n\t\t\t},\n\t\t\thotZoneItemArr: [\n\t\t\t\t{\n\t\t\t\t\tid: 1595919608244,\n\t\t\t\t\timgScale: 1,\n\t\t\t\t\tindex: 0,\n\t\t\t\t\titemType: \"rect\",\n\t\t\t\t\tmapScale: 0.903125,\n\t\t\t\t\trect: {\n\t\t\t\t\t\theight: 120.84,\n\t\t\t\t\t\twidth: 115.99,\n\t\t\t\t\t\tx: 378.68,\n\t\t\t\t\t\ty: 191.3\n\t\t\t\t\t},\n\t\t\t\t\tskeJsonData: {\n\t\t\t\t\t\tname: \"finish1_ske.json\",\n\t\t\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/bd825dcceea298d1146be8067ae3d17f.json\"\n\t\t\t\t\t},\n\t\t\t\t\ttexJsonData: {\n\t\t\t\t\t\tname: \"finish1_tex.json\",\n\t\t\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/246f8991b729fa3e5a7f4802de828efa.json\"\n\t\t\t\t\t},\n\t\t\t\t\ttexPngData: {\n\t\t\t\t\t\tname: \"finish1_tex.png\",\n\t\t\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/5a0c5af3e952acd0ac83a6e5c6f03ff1.png\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\n\t\t\tpicArr: [\n\t\t\t\t{\n\t\t\t\t\taudio_url: \"http://staging-teach.cdn.ireadabc.com/0128a59057e63c4c6b4b96556d077a98.mp3\",\n\t\t\t\t\tpic_url: \"http://staging-teach.cdn.ireadabc.com/18f2a029e02d679da8d42746daea228f.png\",\n\t\t\t\t\ttext: \"1111\",\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\treturn data;\n\t},\n\n\tpreload() {\n\n\t\tconst preloadArr = this._imageResList.concat(this._audioResList).concat(this._animaResList);\n\t\tcc.assetManager.loadAny(preloadArr, null, null, (err, data) => {\n\t\t\tconsole.log(' preload data, ', data);\n\n\t\t\t// typeof\n\t\t\tthis.loadEnd();\n\t\t\tif (window && window[\"air\"]) {\n\t\t\t\twindow[\"air\"].hideAirClassLoading();\n\t\t\t}\n\t\t});\n\t},\n\n\taddPreloadImage() {\n\t\n\t\tif (this.data.bgItem) {\n\t\t\tthis._imageResList.push({ url: this.data.bgItem.url });\n\t\t}\n\t\tif (!this.data.hotZoneItemArr) {\n\t\t\treturn;\n\t\t}\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tif (item.pic_url) {\n\t\t\t\tthis._imageResList.push({ url: item.pic_url });\n\t\t\t}\n\t\t})\n\n\t},\n\n\taddPreloadAudio() {\n\n\t\tif (!this.data.hotZoneItemArr) {\n\t\t\treturn;\n\t\t}\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tthis._audioResList.push({url: item.audio_url});\n\t\t})\n\n\t\tthis._audioResList.push({url: this.data.bg_audio_url});\n\t},\n\n\taddPreloadAnima() {\n\t\tif (!this.data.hotZoneItemArr) {\n\t\t\treturn;\n\t\t}\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tif (item.skeJsonData) {\n\t\t\t\tthis._animaResList.push({ url: item.skeJsonData.url || '' });\n\t\t\t\tthis._animaResList.push({ url: item.texJsonData.url || ''});\n\t\t\t\tthis._animaResList.push({ url: item.texPngData.url || ''});\n\t\t\t}\n\t\t})\n\t},\n\n\tloadEnd() {\n\t\tthis.initView();\n\t},\n\n\tinitView() {\n\t\tthis.initBg();\n\t\tthis.initHotZone();\n\t\tthis.initBottomPart();\n\t\tthis.initCircle();\n\t\tthis.initListener();\n\t\tthis.initMusic();\n\t},\n\n\n\tinitMusic() {\n\t\tcc.assetManager.loadRemote(this.data.bg_audio_url, (err, clip) => {\n\t\t\tcc.audioEngine.setMusicVolume(0.3);\n\t\t\tconst audioID = cc.audioEngine.playMusic(clip, true);\n\t\t});\n\t},\n\n\t_cocosScale: null,\n\tinitBg() {\n\t\tconst frameSize = cc.view.getFrameSize();\n\n\t\tlet sx = cc.winSize.width / frameSize.width;\n\t\tlet sy = cc.winSize.height / frameSize.height;\n\t\tlet s = Math.min(sx, sy);\n\n\t\tthis._cocosScale = s;\n\n\t\tconst bgNode = cc.find('Canvas/bg');\n\t\t// const sx = cc.winSize.width / bgNode.width;\n\t\t// const sy = cc.winSize.height / bgNode.height;\n\t\t sx = frameSize.width / bgNode.width;\n\t\t sy = frameSize.height / bgNode.height;\n\t\tbgNode.scale = Math.max(sx, sy) * s;\n\t\tbgNode.anchorX = 1;\n\t\tbgNode.anchorY = 0;\n\t\tbgNode.x = frameSize.width / 2 * s;\n\t\tbgNode.y = -frameSize.height / 2 * s;\n\n\n\n\t\n\t\tconst bg = cc.find('Canvas/bg');\n\t\tconst rectNode = new cc.Node();\n\t\trectNode.x = -bg.x;\n\t\trectNode.y = -bg.y;\n\t\trectNode.scaleX = bg.scaleX;\n\t\trectNode.scaleY = bg.scaleY;\n\t\tbg.addChild(rectNode);\n\t\tconst ctx = rectNode.addComponent(cc.Graphics);\n\t\tctx.fillColor = this.data.bgColor || '#f9bd03';\n\t\tctx.fillRect(-bg.width / 2 , -bg.height / 2, bg.width, bg.height);\n\t\tctx.fill();\n\n\t},\n\n\n\tinitHotZone() {\n\t\tthis.initHotZoneBg();\n\n\t},\n\n\thotZoneBg: null,\n\tinitHotZoneBg() {\n\t\tthis.hotZoneBg = new cc.Node();\n\t\tthis.hotZoneBg.name = 'hotZoneBg';\n\t\tthis.hotZoneBg.parent = cc.find('Canvas');\n\t\tthis.hotZoneBg.zIndex = 4;\n\n\n\t\tconst canvas = cc.find('Canvas/Main Camera');\n\t\t// console.log('canvas: ', canvas);\n\n\t\tif (!this.data.bgItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tcc.loader.load({url: this.data.bgItem.url}, (err, img) => {\n\n\t\t\tthis.addMask(this.hotZoneBg);\n\n\t\t\tthis.hotZoneBg.width = img.width;\n\t\t\tthis.hotZoneBg.height = img.height;\n\n\n\n\t\t\tconst box = this.hotZoneBg.getBoundingBox();\n\n\n\t\t\tconst tmpS = 640 / 720;\n\t\t\tlet subNum = 720 - 640;\n\t\t\tconst frameSize = cc.view.getFrameSize();\n\t\t\tconst winSize = cc.winSize;\n\n\t\t\tconsole.log('this.hotZoneBg.box: ', this.hotZoneBg.getBoundingBox());\n\t\t\tconsole.log('let visiSize=cc.director.getVisibleSize();: ', cc.view.getVisibleSize());\n\t\t\tconsole.log('lframeSize: ', frameSize);\n\n\t\t\tlet sx = frameSize.width / this._designSize.width;\n\t\t\tlet sy = frameSize.height / this._designSize.height;\n\t\t\tconst mapS = Math.min(sx, sy);\n\t\t\t// const sy = canvas.height * tmpS / box.height;\n\n\n\t\t\tconst bgBottom = cc.find('Canvas/bgBottom');\n\t\t\tbgBottom.scale = mapS * this._cocosScale;\n\t\t\t// subNum = bgBottom.height;\n\n\t\t\t sx = frameSize.width * this._cocosScale / img.width;\n\t\t\t sy = (frameSize.height * this._cocosScale - subNum * mapS * this._cocosScale) / img.height;\n\n\n\t\t\tconst sprNode = new cc.Node();\n\t\t\tvar sf = new cc.SpriteFrame(img);\n\t\t\t// const spr = this.hotZoneBg.addComponent(cc.Sprite);\n\t\t\tconst spr = sprNode.addComponent(cc.Sprite);\n\t\t\tspr.spriteFrame = sf\n\t\t\tsprNode.width = this.hotZoneBg.width;\n\t\t\tsprNode.height = this.hotZoneBg.height;\n\t\t\tsprNode.parent = this.hotZoneBg;\n\n\t\t\tthis.hotZoneBg.scale = Math.min(sx, sy);\n\n\t\t\t// this.hotZoneBg.y = -frameSize.height / 2 * this._cocosScale + this.hotZoneBg.height / 2 * this.hotZoneBg.scaleY + (subNum * mapS * this._cocosScale);\n\t\t\tthis.hotZoneBg.y = frameSize.height / 2 * this._cocosScale - this.hotZoneBg.height / 2 * this.hotZoneBg.scaleY ;\n\n\n\t\t\t// this.hotZoneBg.opacity = 20;\n\n\t\t\tconst bgWhite = cc.find('Canvas/bgWhite');\n\t\t\tbgWhite.y = this.hotZoneBg.y;\n\n\t\t\tbgWhite.scaleX = this.hotZoneBg.width * this.hotZoneBg.scaleX / bgWhite.width;\n\t\t\tbgWhite.scaleY = this.hotZoneBg.height * this.hotZoneBg.scaleY / bgWhite.height;\n\n\n\t\t\tconst canvas = cc.find('Canvas');\n\t\t\tconst shadowNode = new cc.Node();\n\t\t\tshadowNode.y = bgWhite.y;\n\t\t\tshadowNode.scaleX = bgWhite.scaleX;\n\t\t\tshadowNode.scaleY = bgWhite.scaleY;\n\t\t\tcanvas.addChild(shadowNode);\n\t\t\tconst ctx = shadowNode.addComponent(cc.Graphics);\n\t\t\tctx.fillColor = cc.Color.BLACK.setA(30);\n\t\t\t// ctx.fillRect(5, 5, this.hotZoneBg.width*this.hotZoneBg.scaleX, this.hotZoneBg.height * this.hotZoneBg.scaleY);\n\t\t\tctx.fillRect(-bgWhite.width / 2 + 8 / bgWhite.scaleX * this.hotZoneBg.scale, -bgWhite.height / 2 - 8 / bgWhite.scaleX * this.hotZoneBg.scale, bgWhite.width, bgWhite.height);\n\t\t\tctx.fill();\n\n\t\t\tshadowNode.zIndex = 1;\n\t\t\tbgWhite.zIndex = 2;\n\n\t\t\tbgBottom.y = -frameSize.height / 2 * this._cocosScale - 15 * bgBottom.scaleY;\n\n\t\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\t\tif (item.gIdx == '0') {\n\t\t\t\t\tthis.setOneCircle(item);\n\t\t\t\t} else if (item.gIdx == '1') {\n\t\t\t\t\tthis.setOnePic(item);\n\t\t\t\t} else if (item.gIdx == '2') {\n\t\t\t\t\tthis.setOneAnima(item);\n\t\t\t\t}\n\t\t\t});\n\n\t\t});\n\n\t},\n\n\taddMask(node) {\n\t\tconst mask = node.addComponent(cc.Mask);\n\t\tmask.type = cc.Mask.Type.RECT;\n\t},\n\n\tinitBottomPart() {\n\n\t\tconst bgBottom = cc.find('Canvas/bgBottom');\n\t\tconst script = bgBottom.getComponent('bgBottom');\n\n\t\tconst picArr = [];\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tif (item.gIdx == '0') {\n\t\t\t\tpicArr.push(item);\n\t\t\t}\n\t\t});\n\t\tscript.setItemData(picArr);\n\t},\n\n\n\tsetOneAnima(data) {\n\n\n\t\tconst rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;\n\n\t\tconst rectNode = new cc.Node();\n\t\trectNode.name = 'rect' + data.index;\n\t\tthis.hotZoneBg.addChild(rectNode);\n\n\n\t\tconst ctx = rectNode.addComponent(cc.Graphics);\n\t\t// 红色矩形\n\t\tctx.lineWidth = 4;\n\t\tctx.strokeColor = cc.Color.BLACK;\n\t\tctx.fillColor = cc.Color.WHITE.setA(100);\n\n\t\tconst scale = rate / this.hotZoneBg.scaleY;\n\n\t\trectNode.width = data.rect.width * scale;\n\t\trectNode.height = data.rect.height * scale;\n\t\trectNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;\n\t\trectNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;\n\n\t\trectNode.anchorX = rectNode.anchorY = 0;\n\n\n\t\tif (this.data.bgItem.isShowDebugLine) {\n\t\t\tctx.rect(0, 0, rectNode.width, rectNode.height);\n\t\t}\n\t\tctx.stroke();\n\t\tctx.fill();\n\n\n\n\t\tconst animaNode = new cc.Node();\n\t\tanimaNode.name = 'anima_' + data.index;\n\t\tthis.hotZoneBg.addChild(animaNode);\n\n\t\t// rectNode.addChild(animaNode);\n\t\t// animaNode.x = rectNode.width / 2;\n\t\t// animaNode.y = rectNode.height / 2;\n\n\n\t\tif (data.audio_url) {\n\t\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\t\tanimaNode.audioClip = audioClip;\n\t\t\t});\n\t\t}\n\n\n\t\tconst dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);\n\n\t\tconst image = data.texPngData.url//\"http://staging-teach.cdn.ireadabc.com/5a0c5af3e952acd0ac83a6e5c6f03ff1.png\";\n\t\tconst ske = data.skeJsonData.url//\"http://staging-teach.cdn.ireadabc.com/bd825dcceea298d1146be8067ae3d17f.json\";\n\t\tconst atlas = data.texJsonData.url//\"http://staging-teach.cdn.ireadabc.com/246f8991b729fa3e5a7f4802de828efa.json\";\n\t\tcc.loader.load(image, (error, texture) => {\n\n\t\t\tcc.loader.load({url: atlas, type: 'txt'}, (error, atlasJson) => {\n\n\t\t\t\tcc.loader.load({url: ske, type: 'txt'}, (error, dragonBonesJson) => {\n\n\t\t\t\t\tconst atlas = new dragonBones.DragonBonesAtlasAsset();\n\t\t\t\t\tatlas.atlasJson = atlasJson;\n\t\t\t\t\tatlas.texture = texture;\n\n\t\t\t\t\tconst asset = new dragonBones.DragonBonesAsset();\n\t\t\t\t\tasset.dragonBonesJson = dragonBonesJson;\n\n\t\t\t\t\tdragonDisplay.dragonAtlasAsset = atlas;\n\t\t\t\t\tdragonDisplay.dragonAsset = asset;\n\n\t\t\t\t\tlet json = JSON.parse(asset.dragonBonesJson);\n\t\t\t\t\tlet armatures = json[\"armature\"];\n\t\t\t\t\tconsole.log('armatures: ', armatures);\n\t\t\t\t\tlet armatureNames = [];\n\t\t\t\t\tfor (let i = 0; i < armatures.length; i++) {\n\t\t\t\t\t\tarmatureNames.push(armatures[i].name);\n\t\t\t\t\t}\n\t\t\t\t\t// console.log('armatureNames: ', armatureNames);\n\t\t\t\t\tif (armatureNames.length > 0) {\n\t\t\t\t\t\tlet defaultArmatureName = armatureNames[0];\n\t\t\t\t\t\tdragonDisplay.armatureName = defaultArmatureName;\n\t\t\t\t\t\t// let animationNames = dragonDisplay.getAnimationNames(defaultArmatureName);\n\t\t\t\t\t\tlet defaultArmature = armatures[0];\n\t\t\t\t\t\tlet animations = defaultArmature.animation;\n\t\t\t\t\t\tlet animationNames = [];\n\t\t\t\t\t\tfor (let i = 0; i < animations.length; i++) {\n\t\t\t\t\t\t\tanimationNames.push(animations[i].name);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\trectNode.addComponent(cc.Button);\n\t\t\t\t\t\trectNode.on('click', () => {\n\t\t\t\t\t\t\tif (rectNode.isClicked) {\n\t\t\t\t\t\t\t\t// return;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trectNode.isClicked = true;\n\t\t\t\t\t\t\tconsole.log('clicked');\n\n\t\t\t\t\t\t\tif (animaNode.audioClip) {\n\t\t\t\t\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\t\t\t\t\tcc.audioEngine.playEffect(animaNode.audioClip, false, 0.8);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (animationNames.length > 0) {\n\t\t\t\t\t\t\t\tdragonDisplay.playAnimation(animationNames[0], 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t},\n\n\n\tsetOnePic(data) {\n\t\tconst rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;\n\n\t\tconst picNode = new cc.Node();\n\t\tpicNode.data = data;\n\t\tthis.hotZoneBg.addChild(picNode);\n\n\t\tcc.loader.load({url: data.pic_url}, (err, img) => {\n\n\t\t\tconst spr = picNode.addComponent(cc.Sprite);\n\t\t\tspr.spriteFrame = new cc.SpriteFrame(img)\n\n\t\t\tconst scale = rate / this.hotZoneBg.scaleY;\n\n\t\t\tpicNode.width = data.rect.width * scale;\n\t\t\tpicNode.height = data.rect.height * scale;\n\t\t\tpicNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;\n\t\t\tpicNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;\n\n\t\t\tpicNode.anchorX = picNode.anchorY = 0;\n\n\t\t\tif (data.audio_url) {\n\t\t\t\tthis.addPicAudio(picNode);\n\t\t\t}\n\t\t});\n\n\t},\n\n\taddPicAudio(picNode) {\n\t\tconst data = picNode.data;\n\t\t\n\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\tpicNode.audioClip = audioClip;\n\t\t});\n\n\t\tpicNode.addComponent(cc.Button);\n\t\tpicNode.on('click', () => {\n\t\t\t\tif (picNode.audioClip) {\n\t\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\t\tcc.audioEngine.playEffect(picNode.audioClip, false, 0.8);\n\t\t\t\t}\n\t\t});\n\t},\n\n\tsetOneCircle(data) {\n\t\tconst rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;\n\n\t\tconst rectNode = new cc.Node();\n\t\trectNode.name = 'rect' + data.index;\n\t\trectNode.data = data;\n\t\tthis.hotZoneBg.addChild(rectNode);\n\n\n\t\tconst scale = rate / this.hotZoneBg.scaleY;\n\n\t\trectNode.width = data.rect.width * scale;\n\t\trectNode.height = data.rect.height * scale;\n\t\trectNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;\n\t\trectNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;\n\n\t\trectNode.anchorX = rectNode.anchorY = 0;\n\n\n\t\tif (data.audio_url) {\n\t\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\t\tdata.audioClip = audioClip;\n\t\t\t});\n\t\t}\n\n\t\trectNode.addComponent(cc.Button);\n\t\trectNode.on('click', () => {\n\t\t\tthis.showCircle(rectNode);\n\t\t});\n\n\n\n\n\n\t\tconst animaNode = new cc.Node();\n\t\tanimaNode.name = 'anima_' + data.index;\n\t\tthis.hotZoneBg.addChild(animaNode);\n\t\tdata.animaNode = animaNode;\n\n\n\t\tif (data.audio_url) {\n\t\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\t\tanimaNode.audioClip = audioClip;\n\t\t\t});\n\t\t}\n\n\n\t\tconst dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);\n\n\t\tconst image = data.texPngData.url//\"http://staging-teach.cdn.ireadabc.com/5a0c5af3e952acd0ac83a6e5c6f03ff1.png\";\n\t\tconst ske = data.skeJsonData.url//\"http://staging-teach.cdn.ireadabc.com/bd825dcceea298d1146be8067ae3d17f.json\";\n\t\tconst atlas = data.texJsonData.url//\"http://staging-teach.cdn.ireadabc.com/246f8991b729fa3e5a7f4802de828efa.json\";\n\t\tcc.loader.load(image, (error, texture) => {\n\n\t\t\tcc.loader.load({url: atlas, type: 'txt'}, (error, atlasJson) => {\n\n\t\t\t\tcc.loader.load({url: ske, type: 'txt'}, (error, dragonBonesJson) => {\n\n\t\t\t\t\tconst atlas = new dragonBones.DragonBonesAtlasAsset();\n\t\t\t\t\tatlas.atlasJson = atlasJson;\n\t\t\t\t\tatlas.texture = texture;\n\n\t\t\t\t\tconst asset = new dragonBones.DragonBonesAsset();\n\t\t\t\t\tasset.dragonBonesJson = dragonBonesJson;\n\n\t\t\t\t\tdragonDisplay.dragonAtlasAsset = atlas;\n\t\t\t\t\tdragonDisplay.dragonAsset = asset;\n\n\t\t\t\t\tlet json = JSON.parse(asset.dragonBonesJson);\n\t\t\t\t\tlet armatures = json[\"armature\"];\n\t\t\t\t\tconsole.log('armatures: ', armatures);\n\t\t\t\t\tlet armatureNames = [];\n\t\t\t\t\tfor (let i = 0; i < armatures.length; i++) {\n\t\t\t\t\t\tarmatureNames.push(armatures[i].name);\n\t\t\t\t\t}\n\t\t\t\t\t// console.log('armatureNames: ', armatureNames);\n\t\t\t\t\tif (armatureNames.length > 0) {\n\t\t\t\t\t\tlet defaultArmatureName = armatureNames[0];\n\t\t\t\t\t\tdragonDisplay.armatureName = defaultArmatureName;\n\t\t\t\t\t\t// let animationNames = dragonDisplay.getAnimationNames(defaultArmatureName);\n\t\t\t\t\t\tlet defaultArmature = armatures[0];\n\t\t\t\t\t\tlet animations = defaultArmature.animation;\n\t\t\t\t\t\tlet animationNames = [];\n\t\t\t\t\t\tfor (let i = 0; i < animations.length; i++) {\n\t\t\t\t\t\t\tanimationNames.push(animations[i].name);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// rectNode.addComponent(cc.Button);\n\t\t\t\t\t\t// rectNode.on('click', () => {\n\t\t\t\t\t\tanimaNode.showAnima = () => {\n\t\t\t\t\t\t\tif (rectNode.isClicked) {\n\t\t\t\t\t\t\t\t// return;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trectNode.isClicked = true;\n\t\t\t\t\t\t\tconsole.log('clicked');\n\n\t\t\t\t\t\t\tif (animaNode.audioClip) {\n\t\t\t\t\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\t\t\t\t\tcc.audioEngine.playEffect(animaNode.audioClip, false, 0.8);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (animationNames.length > 0) {\n\t\t\t\t\t\t\t\tdragonDisplay.playAnimation(animationNames[0], 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t},\n\n\t_circle: null,\n\tinitCircle() {\n\n\t\tthis._circle = cc.find('Canvas/circle');\n\t\tthis._circle.active = false;\n\t\tthis._circle.zIndex = 12;\n\t},\n\n\tshowCircle(node) {\n\t\tconsole.log(' in showCircle');\n\n\t\tif (node == this._circle.itemNode) {\n\n\t\t\tnode.data.animaNode.showAnima();\n\t\t\t// if (node.data.audioClip) {\n\t\t\t// \tcc.audioEngine.stopAll();\n\t\t\t// \tcc.audioEngine.playEffect(node.data.audioClip, false, 0.8);\n\t\t\t// }\n\t\t\tthis.hideCircle();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._circle.itemNode = node;\n\n\t\tnode.x += node.width / 2;\n\t\tnode.y += node.height / 2;\n\t\tconst rate = getScaleRateBy2Node(this._circle, node);\n\t\tconst pos = localPosTolocalPos(this._circle, node);\n\t\tnode.x -= node.width / 2;\n\t\tnode.y -= node.height / 2;\n\n\t\tthis._circle.scale *= rate;\n\t\tthis._circle.scale *= (5/4);\n\n\t\tthis._circle.x = pos.x;\n\t\tthis._circle.y = pos.y;\n\n\t\tthis._circle.active = true;\n\n\t\tthis._circle.opacity = 0;\n\t\tcc.tween(this._circle)\n\t\t\t.to(1, {opacity: 255}, {easing: 'cubicOut'})\n\t\t\t.start();\n\n\t},\n\n\tinitListener() {\n\t\tconst canvas = cc.find('Canvas');\n\t\tcanvas.addComponent(cc.Button);\n\t\tcanvas.on('click', () => {\n\t\t\tthis.hideCircle();\n\t\t});\n\t},\n\n\thideCircle() {\n\t\tthis._circle.itemNode = null;\n\t\tcc.tween(this._circle)\n\t\t\t.to(1, {opacity: 0}, {easing: 'cubicOut'})\n\t\t\t.start();\n\t}\n\n\n\t// update (dt) {},\n});\n"]}
\ No newline at end of file
{"version":3,"sources":["assets/cc_mz_004/scene/cc_mz_004.js"],"names":["cc","Class","Component","properties","baseWidth","type","Integer","baseHeight","onLoad","debug","setDisplayStats","initSceneData","initSize","_imageResList","_audioResList","_animaResList","_designSize","view","getDesignResolutionSize","start","getData","bind","window","courseware","data","console","log","getDefaultData","preloadItem","addPreloadImage","addPreloadAudio","addPreloadAnima","preload","func","dataJson","data1","JSON","parse","bgItem","rect","height","width","x","y","url","hotZoneItemArr","id","imgScale","index","itemType","mapScale","skeJsonData","name","texJsonData","texPngData","picArr","audio_url","pic_url","text","concat","preloadArr","assetManager","loadAny","err","loadEnd","hideAirClassLoading","push","forEach","item","bg_audio_url","initView","initBg","initHotZone","initBottomPart","initCircle","initListener","initMusic","loadRemote","clip","audioEngine","setMusicVolume","audioID","playMusic","_cocosScale","frameSize","getFrameSize","sx","winSize","sy","s","Math","min","bgNode","find","scale","max","anchorX","anchorY","bg","rectNode","Node","scaleX","scaleY","addChild","ctx","addComponent","Graphics","fillColor","bgColor","fillRect","fill","initHotZoneBg","hotZoneBg","parent","zIndex","canvas","loader","load","img","addMask","box","getBoundingBox","tmpS","subNum","getVisibleSize","mapS","bgBottom","sprNode","sf","SpriteFrame","spr","Sprite","spriteFrame","bgWhite","shadowNode","Color","BLACK","setA","gIdx","setOneCircle","setOnePic","setOneAnima","node","mask","Mask","Type","RECT","script","getComponent","setItemData","rate","lineWidth","strokeColor","WHITE","isShowDebugLine","stroke","animaNode","audioClip","dragonDisplay","dragonBones","ArmatureDisplay","image","ske","atlas","error","texture","atlasJson","dragonBonesJson","DragonBonesAtlasAsset","asset","DragonBonesAsset","dragonAtlasAsset","dragonAsset","json","armatures","armatureNames","i","length","defaultArmatureName","armatureName","defaultArmature","animations","animation","animationNames","Button","on","isClicked","stopAllEffects","playEffect","playAnimation","picNode","addPicAudio","showCircle","showAnima","_circle","active","itemNode","hideCircle","pos","opacity","tween","to","easing","onDestroy"],"mappings":";;;;;;AAOA;;AAPA;AACA;AACA;AACA;AACA;AACA;AAIAA,EAAE,CAACC,KAAH,CAAS;AACR,aAASD,EAAE,CAACE,SADJ;AAGRC,EAAAA,UAAU,EAAE;AACXC,IAAAA,SAAS,EAAE;AACV,iBAAS,IADC;AAEVC,MAAAA,IAAI,EAAEL,EAAE,CAACM;AAFC,KADA;AAKXC,IAAAA,UAAU,EAAE;AACX,iBAAS,GADE;AAEXF,MAAAA,IAAI,EAAEL,EAAE,CAACM;AAFE,KALD,CASX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAvBW,GAHJ;AA6BR;AAEA;AACA;AAEAE,EAAAA,MAlCQ,oBAkCC;AACRR,IAAAA,EAAE,CAACS,KAAH,CAASC,eAAT,CAAyB,KAAzB;AACA,SAAKC,aAAL;AACA,SAAKC,QAAL;AACA,GAtCO;AAwCRD,EAAAA,aAxCQ,2BAwCQ;AACf,SAAKE,aAAL,GAAqB,EAArB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,GA5CO;AA8CRC,EAAAA,WAAW,EAAE,IA9CL;AA+CRJ,EAAAA,QA/CQ,sBA+CG;AACV,SAAKI,WAAL,GAAmBhB,EAAE,CAACiB,IAAH,CAAQC,uBAAR,EAAnB;AAEA,GAlDO;AAoDRC,EAAAA,KApDQ,mBAoDA;AAAA;;AACP,QAAIC,OAAO,GAAG,KAAKA,OAAL,CAAaC,IAAb,CAAkB,IAAlB,CAAd;;AACA,QAAIC,MAAM,IAAIA,MAAM,CAACC,UAArB,EAAiC;AAChC;AACAH,MAAAA,OAAO,GAAGE,MAAM,CAACC,UAAP,CAAkBH,OAA5B;AACA;;AACDA,IAAAA,OAAO,CAAC,UAACI,IAAD,EAAU;AACjBC,MAAAA,OAAO,CAACC,GAAR,CAAY,OAAZ,EAAqBF,IAArB;AACA,MAAA,KAAI,CAACA,IAAL,GAAYA,IAAI,IAAI,KAAI,CAACG,cAAL,EAApB;;AACA,MAAA,KAAI,CAACC,WAAL;AACA,KAJM,CAAP;AAKA,GA/DO;AAkERf,EAAAA,aAAa,EAAE,IAlEP;AAmERC,EAAAA,aAAa,EAAE,IAnEP;AAoERC,EAAAA,aAAa,EAAE,IApEP;AAqERa,EAAAA,WArEQ,yBAqEM;AACb,SAAKC,eAAL;AACA,SAAKC,eAAL;AACA,SAAKC,eAAL;AACA,SAAKC,OAAL;AACA,GA1EO;AA4ERZ,EAAAA,OA5EQ,mBA4EAa,IA5EA,EA4EM;AACbA,IAAAA,IAAI,CAAC,KAAKN,cAAL,EAAD,CAAJ;AACA,GA9EO;AAgFRA,EAAAA,cAhFQ,4BAgFS;AAEhB,QAAMO,QAAQ,GAAG,w/DAAjB;AACA,QAAMC,KAAK,GAAGC,IAAI,CAACC,KAAL,CAAWH,QAAX,CAAd;AACA,WAAOC,KAAP;AAEA,QAAMX,IAAI,GAAG;AACZc,MAAAA,MAAM,EAAE;AACPC,QAAAA,IAAI,EAAE;AACLC,UAAAA,MAAM,EAAE,GADH;AAELC,UAAAA,KAAK,EAAE,MAFF;AAGLC,UAAAA,CAAC,EAAE,MAHE;AAILC,UAAAA,CAAC,EAAE;AAJE,SADC;AAOP;AACAC,QAAAA,GAAG,EAAE;AARE,OADI;AAWZC,MAAAA,cAAc,EAAE,CACf;AACCC,QAAAA,EAAE,EAAE,aADL;AAECC,QAAAA,QAAQ,EAAE,CAFX;AAGCC,QAAAA,KAAK,EAAE,CAHR;AAICC,QAAAA,QAAQ,EAAE,MAJX;AAKCC,QAAAA,QAAQ,EAAE,QALX;AAMCX,QAAAA,IAAI,EAAE;AACLC,UAAAA,MAAM,EAAE,MADH;AAELC,UAAAA,KAAK,EAAE,MAFF;AAGLC,UAAAA,CAAC,EAAE,MAHE;AAILC,UAAAA,CAAC,EAAE;AAJE,SANP;AAYCQ,QAAAA,WAAW,EAAE;AACZC,UAAAA,IAAI,EAAE,kBADM;AAEZR,UAAAA,GAAG,EAAE;AAFO,SAZd;AAgBCS,QAAAA,WAAW,EAAE;AACZD,UAAAA,IAAI,EAAE,kBADM;AAEZR,UAAAA,GAAG,EAAE;AAFO,SAhBd;AAoBCU,QAAAA,UAAU,EAAE;AACXF,UAAAA,IAAI,EAAE,iBADK;AAEXR,UAAAA,GAAG,EAAE;AAFM;AApBb,OADe,CAXJ;AAuCZW,MAAAA,MAAM,EAAE,CACP;AACCC,QAAAA,SAAS,EAAE,4EADZ;AAECC,QAAAA,OAAO,EAAE,4EAFV;AAGCC,QAAAA,IAAI,EAAE;AAHP,OADO;AAvCI,KAAb;AAgDAlC,IAAAA,IAAI,CAAC+B,MAAL,GAAc/B,IAAI,CAAC+B,MAAL,CAAYI,MAAZ,CAAmBnC,IAAI,CAAC+B,MAAxB,CAAd;AACA/B,IAAAA,IAAI,CAAC+B,MAAL,GAAc/B,IAAI,CAAC+B,MAAL,CAAYI,MAAZ,CAAmBnC,IAAI,CAAC+B,MAAxB,CAAd;AACA/B,IAAAA,IAAI,CAAC+B,MAAL,GAAc/B,IAAI,CAAC+B,MAAL,CAAYI,MAAZ,CAAmBnC,IAAI,CAAC+B,MAAxB,CAAd;AACA/B,IAAAA,IAAI,CAAC+B,MAAL,GAAc/B,IAAI,CAAC+B,MAAL,CAAYI,MAAZ,CAAmBnC,IAAI,CAAC+B,MAAxB,CAAd;AACA/B,IAAAA,IAAI,CAAC+B,MAAL,GAAc/B,IAAI,CAAC+B,MAAL,CAAYI,MAAZ,CAAmBnC,IAAI,CAAC+B,MAAxB,CAAd;AACA,WAAO/B,IAAP;AACA,GA5IO;AA8IRQ,EAAAA,OA9IQ,qBA8IE;AAAA;;AAET,QAAM4B,UAAU,GAAG,KAAK/C,aAAL,CAAmB8C,MAAnB,CAA0B,KAAK7C,aAA/B,EAA8C6C,MAA9C,CAAqD,KAAK5C,aAA1D,CAAnB;;AACAf,IAAAA,EAAE,CAAC6D,YAAH,CAAgBC,OAAhB,CAAwBF,UAAxB,EAAoC,IAApC,EAA0C,IAA1C,EAAgD,UAACG,GAAD,EAAMvC,IAAN,EAAe;AAC9DC,MAAAA,OAAO,CAACC,GAAR,CAAY,iBAAZ,EAA+BF,IAA/B,EAD8D,CAG9D;;AACA,MAAA,MAAI,CAACwC,OAAL;;AACA,UAAI1C,MAAM,IAAIA,MAAM,CAAC,KAAD,CAApB,EAA6B;AAC5BA,QAAAA,MAAM,CAAC,KAAD,CAAN,CAAc2C,mBAAd;AACA;AACD,KARD;AASA,GA1JO;AA4JRpC,EAAAA,eA5JQ,6BA4JU;AAAA;;AAEjB,QAAI,KAAKL,IAAL,CAAUc,MAAd,EAAsB;AACrB,WAAKzB,aAAL,CAAmBqD,IAAnB,CAAwB;AAAEtB,QAAAA,GAAG,EAAE,KAAKpB,IAAL,CAAUc,MAAV,CAAiBM;AAAxB,OAAxB;AACA;;AACD,QAAI,CAAC,KAAKpB,IAAL,CAAUqB,cAAf,EAA+B;AAC9B;AACA;;AACD,SAAKrB,IAAL,CAAUqB,cAAV,CAAyBsB,OAAzB,CAAiC,UAACC,IAAD,EAAU;AAC1C,UAAIA,IAAI,CAACX,OAAT,EAAkB;AACjB,QAAA,MAAI,CAAC5C,aAAL,CAAmBqD,IAAnB,CAAwB;AAAEtB,UAAAA,GAAG,EAAEwB,IAAI,CAACX;AAAZ,SAAxB;AACA;AACD,KAJD;AAMA,GA1KO;AA4KR3B,EAAAA,eA5KQ,6BA4KU;AAAA;;AAEjB,QAAI,CAAC,KAAKN,IAAL,CAAUqB,cAAf,EAA+B;AAC9B;AACA;;AACD,SAAKrB,IAAL,CAAUqB,cAAV,CAAyBsB,OAAzB,CAAiC,UAACC,IAAD,EAAU;AAC1C,MAAA,MAAI,CAACtD,aAAL,CAAmBoD,IAAnB,CAAwB;AAACtB,QAAAA,GAAG,EAAEwB,IAAI,CAACZ;AAAX,OAAxB;AACA,KAFD;;AAIA,SAAK1C,aAAL,CAAmBoD,IAAnB,CAAwB;AAACtB,MAAAA,GAAG,EAAE,KAAKpB,IAAL,CAAU6C;AAAhB,KAAxB;AACA,GAtLO;AAwLRtC,EAAAA,eAxLQ,6BAwLU;AAAA;;AACjB,QAAI,CAAC,KAAKP,IAAL,CAAUqB,cAAf,EAA+B;AAC9B;AACA;;AACD,SAAKrB,IAAL,CAAUqB,cAAV,CAAyBsB,OAAzB,CAAiC,UAACC,IAAD,EAAU;AAC1C,UAAIA,IAAI,CAACjB,WAAT,EAAsB;AACrB,QAAA,MAAI,CAACpC,aAAL,CAAmBmD,IAAnB,CAAwB;AAAEtB,UAAAA,GAAG,EAAEwB,IAAI,CAACjB,WAAL,CAAiBP,GAAjB,IAAwB;AAA/B,SAAxB;;AACA,QAAA,MAAI,CAAC7B,aAAL,CAAmBmD,IAAnB,CAAwB;AAAEtB,UAAAA,GAAG,EAAEwB,IAAI,CAACf,WAAL,CAAiBT,GAAjB,IAAwB;AAA/B,SAAxB;;AACA,QAAA,MAAI,CAAC7B,aAAL,CAAmBmD,IAAnB,CAAwB;AAAEtB,UAAAA,GAAG,EAAEwB,IAAI,CAACd,UAAL,CAAgBV,GAAhB,IAAuB;AAA9B,SAAxB;AACA;AACD,KAND;AAOA,GAnMO;AAqMRoB,EAAAA,OArMQ,qBAqME;AACT,SAAKM,QAAL;AACA,GAvMO;AAyMRA,EAAAA,QAzMQ,sBAyMG;AACV,SAAKC,MAAL;AACA,SAAKC,WAAL;AACA,SAAKC,cAAL;AACA,SAAKC,UAAL;AACA,SAAKC,YAAL;AACA,SAAKC,SAAL;AACA,GAhNO;AAmNRA,EAAAA,SAnNQ,uBAmNI;AAEX,QAAI,CAAC,KAAKpD,IAAL,CAAU6C,YAAf,EAA6B;AAC5B;AACA;;AACDrE,IAAAA,EAAE,CAAC6D,YAAH,CAAgBgB,UAAhB,CAA2B,KAAKrD,IAAL,CAAU6C,YAArC,EAAmD,UAACN,GAAD,EAAMe,IAAN,EAAe;AACjE9E,MAAAA,EAAE,CAAC+E,WAAH,CAAeC,cAAf,CAA8B,GAA9B;AACA,UAAMC,OAAO,GAAGjF,EAAE,CAAC+E,WAAH,CAAeG,SAAf,CAAyBJ,IAAzB,EAA+B,IAA/B,CAAhB;AACA,KAHD;AAIA,GA5NO;AA8NRK,EAAAA,WAAW,EAAE,IA9NL;AA+NRZ,EAAAA,MA/NQ,oBA+NC;AACR,QAAMa,SAAS,GAAGpF,EAAE,CAACiB,IAAH,CAAQoE,YAAR,EAAlB;AAEA,QAAIC,EAAE,GAAGtF,EAAE,CAACuF,OAAH,CAAW9C,KAAX,GAAmB2C,SAAS,CAAC3C,KAAtC;AACA,QAAI+C,EAAE,GAAGxF,EAAE,CAACuF,OAAH,CAAW/C,MAAX,GAAoB4C,SAAS,CAAC5C,MAAvC;AACA,QAAIiD,CAAC,GAAGC,IAAI,CAACC,GAAL,CAASL,EAAT,EAAaE,EAAb,CAAR;AAEA,SAAKL,WAAL,GAAmBM,CAAnB;AAEA,QAAMG,MAAM,GAAG5F,EAAE,CAAC6F,IAAH,CAAQ,WAAR,CAAf,CATQ,CAUR;AACA;;AACCP,IAAAA,EAAE,GAAGF,SAAS,CAAC3C,KAAV,GAAkBmD,MAAM,CAACnD,KAA9B;AACA+C,IAAAA,EAAE,GAAGJ,SAAS,CAAC5C,MAAV,GAAmBoD,MAAM,CAACpD,MAA/B;AACDoD,IAAAA,MAAM,CAACE,KAAP,GAAeJ,IAAI,CAACK,GAAL,CAAST,EAAT,EAAaE,EAAb,IAAmBC,CAAlC;AACAG,IAAAA,MAAM,CAACI,OAAP,GAAiB,CAAjB;AACAJ,IAAAA,MAAM,CAACK,OAAP,GAAiB,CAAjB;AACAL,IAAAA,MAAM,CAAClD,CAAP,GAAW0C,SAAS,CAAC3C,KAAV,GAAkB,CAAlB,GAAsBgD,CAAjC;AACAG,IAAAA,MAAM,CAACjD,CAAP,GAAW,CAACyC,SAAS,CAAC5C,MAAX,GAAoB,CAApB,GAAwBiD,CAAnC;AAKA,QAAMS,EAAE,GAAGlG,EAAE,CAAC6F,IAAH,CAAQ,WAAR,CAAX;AACA,QAAMM,QAAQ,GAAG,IAAInG,EAAE,CAACoG,IAAP,EAAjB;AACAD,IAAAA,QAAQ,CAACzD,CAAT,GAAa,CAACwD,EAAE,CAACxD,CAAjB;AACAyD,IAAAA,QAAQ,CAACxD,CAAT,GAAa,CAACuD,EAAE,CAACvD,CAAjB;AACAwD,IAAAA,QAAQ,CAACE,MAAT,GAAkBH,EAAE,CAACG,MAArB;AACAF,IAAAA,QAAQ,CAACG,MAAT,GAAkBJ,EAAE,CAACI,MAArB;AACAJ,IAAAA,EAAE,CAACK,QAAH,CAAYJ,QAAZ;AACA,QAAMK,GAAG,GAAGL,QAAQ,CAACM,YAAT,CAAsBzG,EAAE,CAAC0G,QAAzB,CAAZ;AACAF,IAAAA,GAAG,CAACG,SAAJ,GAAgB,KAAKnF,IAAL,CAAUoF,OAAV,IAAqB,SAArC;AACAJ,IAAAA,GAAG,CAACK,QAAJ,CAAa,CAACX,EAAE,CAACzD,KAAJ,GAAY,CAAzB,EAA6B,CAACyD,EAAE,CAAC1D,MAAJ,GAAa,CAA1C,EAA6C0D,EAAE,CAACzD,KAAhD,EAAuDyD,EAAE,CAAC1D,MAA1D;AACAgE,IAAAA,GAAG,CAACM,IAAJ;AAEA,GAlQO;AAqQRtC,EAAAA,WArQQ,yBAqQM;AACb,SAAKuC,aAAL;AAEA,GAxQO;AA0QRC,EAAAA,SAAS,EAAE,IA1QH;AA2QRD,EAAAA,aA3QQ,2BA2QQ;AAAA;;AACf,SAAKC,SAAL,GAAiB,IAAIhH,EAAE,CAACoG,IAAP,EAAjB;AACA,SAAKY,SAAL,CAAe5D,IAAf,GAAsB,WAAtB;AACA,SAAK4D,SAAL,CAAeC,MAAf,GAAwBjH,EAAE,CAAC6F,IAAH,CAAQ,QAAR,CAAxB;AACA,SAAKmB,SAAL,CAAeE,MAAf,GAAwB,CAAxB;AAGA,QAAMC,MAAM,GAAGnH,EAAE,CAAC6F,IAAH,CAAQ,oBAAR,CAAf,CAPe,CAQf;;AAEA,QAAI,CAAC,KAAKrE,IAAL,CAAUc,MAAf,EAAuB;AACtB;AACA;;AAEDtC,IAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe;AAACzE,MAAAA,GAAG,EAAE,KAAKpB,IAAL,CAAUc,MAAV,CAAiBM;AAAvB,KAAf,EAA4C,UAACmB,GAAD,EAAMuD,GAAN,EAAc;AAEzD,MAAA,MAAI,CAACC,OAAL,CAAa,MAAI,CAACP,SAAlB;;AAEA,MAAA,MAAI,CAACA,SAAL,CAAevE,KAAf,GAAuB6E,GAAG,CAAC7E,KAA3B;AACA,MAAA,MAAI,CAACuE,SAAL,CAAexE,MAAf,GAAwB8E,GAAG,CAAC9E,MAA5B;;AAIA,UAAMgF,GAAG,GAAG,MAAI,CAACR,SAAL,CAAeS,cAAf,EAAZ;;AAGA,UAAMC,IAAI,GAAG,MAAM,GAAnB;AACA,UAAIC,MAAM,GAAG,MAAM,GAAnB;AACA,UAAMvC,SAAS,GAAGpF,EAAE,CAACiB,IAAH,CAAQoE,YAAR,EAAlB;AACA,UAAME,OAAO,GAAGvF,EAAE,CAACuF,OAAnB;AAEA9D,MAAAA,OAAO,CAACC,GAAR,CAAY,sBAAZ,EAAoC,MAAI,CAACsF,SAAL,CAAeS,cAAf,EAApC;AACAhG,MAAAA,OAAO,CAACC,GAAR,CAAY,8CAAZ,EAA4D1B,EAAE,CAACiB,IAAH,CAAQ2G,cAAR,EAA5D;AACAnG,MAAAA,OAAO,CAACC,GAAR,CAAY,cAAZ,EAA4B0D,SAA5B;AAEA,UAAIE,EAAE,GAAGF,SAAS,CAAC3C,KAAV,GAAkB,MAAI,CAACzB,WAAL,CAAiByB,KAA5C;AACA,UAAI+C,EAAE,GAAGJ,SAAS,CAAC5C,MAAV,GAAmB,MAAI,CAACxB,WAAL,CAAiBwB,MAA7C;AACA,UAAMqF,IAAI,GAAGnC,IAAI,CAACC,GAAL,CAASL,EAAT,EAAaE,EAAb,CAAb,CAvByD,CAwBzD;;AAGA,UAAMsC,QAAQ,GAAG9H,EAAE,CAAC6F,IAAH,CAAQ,iBAAR,CAAjB;AACAiC,MAAAA,QAAQ,CAAChC,KAAT,GAAiB+B,IAAI,GAAG,MAAI,CAAC1C,WAA7B,CA5ByD,CA6BzD;;AAECG,MAAAA,EAAE,GAAGF,SAAS,CAAC3C,KAAV,GAAkB,MAAI,CAAC0C,WAAvB,GAAqCmC,GAAG,CAAC7E,KAA9C;AACA+C,MAAAA,EAAE,GAAG,CAACJ,SAAS,CAAC5C,MAAV,GAAmB,MAAI,CAAC2C,WAAxB,GAAsCwC,MAAM,GAAGE,IAAT,GAAgB,MAAI,CAAC1C,WAA5D,IAA2EmC,GAAG,CAAC9E,MAApF;AAGD,UAAMuF,OAAO,GAAG,IAAI/H,EAAE,CAACoG,IAAP,EAAhB;AACA,UAAI4B,EAAE,GAAG,IAAIhI,EAAE,CAACiI,WAAP,CAAmBX,GAAnB,CAAT,CApCyD,CAqCzD;;AACA,UAAMY,GAAG,GAAGH,OAAO,CAACtB,YAAR,CAAqBzG,EAAE,CAACmI,MAAxB,CAAZ;AACAD,MAAAA,GAAG,CAACE,WAAJ,GAAkBJ,EAAlB;AACAD,MAAAA,OAAO,CAACtF,KAAR,GAAgB,MAAI,CAACuE,SAAL,CAAevE,KAA/B;AACAsF,MAAAA,OAAO,CAACvF,MAAR,GAAiB,MAAI,CAACwE,SAAL,CAAexE,MAAhC;AACAuF,MAAAA,OAAO,CAACd,MAAR,GAAiB,MAAI,CAACD,SAAtB;AAEA,MAAA,MAAI,CAACA,SAAL,CAAelB,KAAf,GAAuBJ,IAAI,CAACC,GAAL,CAASL,EAAT,EAAaE,EAAb,CAAvB,CA5CyD,CA8CzD;;AACA,MAAA,MAAI,CAACwB,SAAL,CAAerE,CAAf,GAAmByC,SAAS,CAAC5C,MAAV,GAAmB,CAAnB,GAAuB,MAAI,CAAC2C,WAA5B,GAA0C,MAAI,CAAC6B,SAAL,CAAexE,MAAf,GAAwB,CAAxB,GAA4B,MAAI,CAACwE,SAAL,CAAeV,MAAxG,CA/CyD,CAkDzD;;AAEA,UAAM+B,OAAO,GAAGrI,EAAE,CAAC6F,IAAH,CAAQ,gBAAR,CAAhB;AACAwC,MAAAA,OAAO,CAAC1F,CAAR,GAAY,MAAI,CAACqE,SAAL,CAAerE,CAA3B;AAEA0F,MAAAA,OAAO,CAAChC,MAAR,GAAiB,MAAI,CAACW,SAAL,CAAevE,KAAf,GAAuB,MAAI,CAACuE,SAAL,CAAeX,MAAtC,GAA+CgC,OAAO,CAAC5F,KAAxE;AACA4F,MAAAA,OAAO,CAAC/B,MAAR,GAAiB,MAAI,CAACU,SAAL,CAAexE,MAAf,GAAwB,MAAI,CAACwE,SAAL,CAAeV,MAAvC,GAAgD+B,OAAO,CAAC7F,MAAzE;AAGA,UAAM2E,MAAM,GAAGnH,EAAE,CAAC6F,IAAH,CAAQ,QAAR,CAAf;AACA,UAAMyC,UAAU,GAAG,IAAItI,EAAE,CAACoG,IAAP,EAAnB;AACAkC,MAAAA,UAAU,CAAC3F,CAAX,GAAe0F,OAAO,CAAC1F,CAAvB;AACA2F,MAAAA,UAAU,CAACjC,MAAX,GAAoBgC,OAAO,CAAChC,MAA5B;AACAiC,MAAAA,UAAU,CAAChC,MAAX,GAAoB+B,OAAO,CAAC/B,MAA5B;AACAa,MAAAA,MAAM,CAACZ,QAAP,CAAgB+B,UAAhB;AACA,UAAM9B,GAAG,GAAG8B,UAAU,CAAC7B,YAAX,CAAwBzG,EAAE,CAAC0G,QAA3B,CAAZ;AACAF,MAAAA,GAAG,CAACG,SAAJ,GAAgB3G,EAAE,CAACuI,KAAH,CAASC,KAAT,CAAeC,IAAf,CAAoB,EAApB,CAAhB,CAlEyD,CAmEzD;;AACAjC,MAAAA,GAAG,CAACK,QAAJ,CAAa,CAACwB,OAAO,CAAC5F,KAAT,GAAiB,CAAjB,GAAqB,IAAI4F,OAAO,CAAChC,MAAZ,GAAqB,MAAI,CAACW,SAAL,CAAelB,KAAtE,EAA6E,CAACuC,OAAO,CAAC7F,MAAT,GAAkB,CAAlB,GAAsB,IAAI6F,OAAO,CAAChC,MAAZ,GAAqB,MAAI,CAACW,SAAL,CAAelB,KAAvI,EAA8IuC,OAAO,CAAC5F,KAAtJ,EAA6J4F,OAAO,CAAC7F,MAArK;AACAgE,MAAAA,GAAG,CAACM,IAAJ;AAEAwB,MAAAA,UAAU,CAACpB,MAAX,GAAoB,CAApB;AACAmB,MAAAA,OAAO,CAACnB,MAAR,GAAiB,CAAjB;AAEAY,MAAAA,QAAQ,CAACnF,CAAT,GAAa,CAACyC,SAAS,CAAC5C,MAAX,GAAoB,CAApB,GAAwB,MAAI,CAAC2C,WAA7B,GAA2C,KAAK2C,QAAQ,CAACxB,MAAtE;;AAEA,MAAA,MAAI,CAAC9E,IAAL,CAAUqB,cAAV,CAAyBsB,OAAzB,CAAiC,UAACC,IAAD,EAAU;AAC1C,YAAIA,IAAI,CAACsE,IAAL,IAAa,GAAjB,EAAsB;AACrB,UAAA,MAAI,CAACC,YAAL,CAAkBvE,IAAlB;AACA,SAFD,MAEO,IAAIA,IAAI,CAACsE,IAAL,IAAa,GAAjB,EAAsB;AAC5B,UAAA,MAAI,CAACE,SAAL,CAAexE,IAAf;AACA,SAFM,MAEA,IAAIA,IAAI,CAACsE,IAAL,IAAa,GAAjB,EAAsB;AAC5B,UAAA,MAAI,CAACG,WAAL,CAAiBzE,IAAjB;AACA;AACD,OARD;AAUA,KAtFD;AAwFA,GAjXO;AAmXRmD,EAAAA,OAnXQ,mBAmXAuB,IAnXA,EAmXM;AACb,QAAMC,IAAI,GAAGD,IAAI,CAACrC,YAAL,CAAkBzG,EAAE,CAACgJ,IAArB,CAAb;AACAD,IAAAA,IAAI,CAAC1I,IAAL,GAAYL,EAAE,CAACgJ,IAAH,CAAQC,IAAR,CAAaC,IAAzB;AACA,GAtXO;AAwXRzE,EAAAA,cAxXQ,4BAwXS;AAEhB,QAAMqD,QAAQ,GAAG9H,EAAE,CAAC6F,IAAH,CAAQ,iBAAR,CAAjB;AACA,QAAMsD,MAAM,GAAGrB,QAAQ,CAACsB,YAAT,CAAsB,oBAAtB,CAAf;AAEA,QAAM7F,MAAM,GAAG,EAAf;AACA,SAAK/B,IAAL,CAAUqB,cAAV,CAAyBsB,OAAzB,CAAiC,UAACC,IAAD,EAAU;AAC1C,UAAIA,IAAI,CAACsE,IAAL,IAAa,GAAjB,EAAsB;AACrBnF,QAAAA,MAAM,CAACW,IAAP,CAAYE,IAAZ;AACA;AACD,KAJD;AAKA+E,IAAAA,MAAM,CAACE,WAAP,CAAmB9F,MAAnB;AACA,GApYO;AAuYRsF,EAAAA,WAvYQ,uBAuYIrH,IAvYJ,EAuYU;AAGjB,QAAM8H,IAAI,GAAI,KAAKtC,SAAL,CAAelB,KAAf,GAAuB,KAAKkB,SAAL,CAAevE,KAAvC,GAAgD,KAAKjB,IAAL,CAAUc,MAAV,CAAiBC,IAAjB,CAAsBE,KAAnF;AAEA,QAAM0D,QAAQ,GAAG,IAAInG,EAAE,CAACoG,IAAP,EAAjB;AACAD,IAAAA,QAAQ,CAAC/C,IAAT,GAAgB,SAAS5B,IAAI,CAACwB,KAA9B;AACA,SAAKgE,SAAL,CAAeT,QAAf,CAAwBJ,QAAxB;AAGA,QAAMK,GAAG,GAAGL,QAAQ,CAACM,YAAT,CAAsBzG,EAAE,CAAC0G,QAAzB,CAAZ,CAViB,CAWjB;;AACAF,IAAAA,GAAG,CAAC+C,SAAJ,GAAgB,CAAhB;AACA/C,IAAAA,GAAG,CAACgD,WAAJ,GAAkBxJ,EAAE,CAACuI,KAAH,CAASC,KAA3B;AACAhC,IAAAA,GAAG,CAACG,SAAJ,GAAgB3G,EAAE,CAACuI,KAAH,CAASkB,KAAT,CAAehB,IAAf,CAAoB,GAApB,CAAhB;AAEA,QAAM3C,KAAK,GAAGwD,IAAI,GAAG,KAAKtC,SAAL,CAAeV,MAApC;AAEAH,IAAAA,QAAQ,CAAC1D,KAAT,GAAiBjB,IAAI,CAACe,IAAL,CAAUE,KAAV,GAAkBqD,KAAnC;AACAK,IAAAA,QAAQ,CAAC3D,MAAT,GAAkBhB,IAAI,CAACe,IAAL,CAAUC,MAAV,GAAmBsD,KAArC;AACAK,IAAAA,QAAQ,CAACzD,CAAT,GAAa,CAAC,KAAKsE,SAAL,CAAevE,KAAhB,GAAwB,CAAxB,GAA4BjB,IAAI,CAACe,IAAL,CAAUG,CAAV,GAAcoD,KAAvD;AACAK,IAAAA,QAAQ,CAACxD,CAAT,GAAa,KAAKqE,SAAL,CAAexE,MAAf,GAAwB,CAAxB,GAA4BhB,IAAI,CAACe,IAAL,CAAUC,MAAV,GAAmBsD,KAA/C,GAAuDtE,IAAI,CAACe,IAAL,CAAUI,CAAV,GAAcmD,KAAlF;AAEAK,IAAAA,QAAQ,CAACH,OAAT,GAAmBG,QAAQ,CAACF,OAAT,GAAmB,CAAtC;;AAGA,QAAI,KAAKzE,IAAL,CAAUc,MAAV,CAAiBoH,eAArB,EAAsC;AACrClD,MAAAA,GAAG,CAACjE,IAAJ,CAAS,CAAT,EAAY,CAAZ,EAAe4D,QAAQ,CAAC1D,KAAxB,EAA+B0D,QAAQ,CAAC3D,MAAxC;AACA;;AACDgE,IAAAA,GAAG,CAACmD,MAAJ;AACAnD,IAAAA,GAAG,CAACM,IAAJ;AAIA,QAAM8C,SAAS,GAAG,IAAI5J,EAAE,CAACoG,IAAP,EAAlB;AACAwD,IAAAA,SAAS,CAACxG,IAAV,GAAiB,WAAW5B,IAAI,CAACwB,KAAjC;AACA,SAAKgE,SAAL,CAAeT,QAAf,CAAwBqD,SAAxB,EApCiB,CAsCjB;AACA;AACA;;AAGA,QAAIpI,IAAI,CAACgC,SAAT,EAAoB;AACnBxD,MAAAA,EAAE,CAAC6D,YAAH,CAAgBgB,UAAhB,CAA2BrD,IAAI,CAACgC,SAAhC,EAA2C,UAACO,GAAD,EAAM8F,SAAN,EAAoB;AAC9DD,QAAAA,SAAS,CAACC,SAAV,GAAsBA,SAAtB;AACA,OAFD;AAGA;;AAGD,QAAMC,aAAa,GAAGF,SAAS,CAACnD,YAAV,CAAuBsD,WAAW,CAACC,eAAnC,CAAtB;AAEA,QAAMC,KAAK,GAAGzI,IAAI,CAAC8B,UAAL,CAAgBV,GAA9B,CApDiB,CAoDgB;;AACjC,QAAMsH,GAAG,GAAG1I,IAAI,CAAC2B,WAAL,CAAiBP,GAA7B,CArDiB,CAqDe;;AAChC,QAAMuH,KAAK,GAAG3I,IAAI,CAAC6B,WAAL,CAAiBT,GAA/B,CAtDiB,CAsDiB;;AAClC5C,IAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe4C,KAAf,EAAsB,UAACG,KAAD,EAAQC,OAAR,EAAoB;AAEzCrK,MAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe;AAACzE,QAAAA,GAAG,EAAEuH,KAAN;AAAa9J,QAAAA,IAAI,EAAE;AAAnB,OAAf,EAA0C,UAAC+J,KAAD,EAAQE,SAAR,EAAsB;AAE/DtK,QAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe;AAACzE,UAAAA,GAAG,EAAEsH,GAAN;AAAW7J,UAAAA,IAAI,EAAE;AAAjB,SAAf,EAAwC,UAAC+J,KAAD,EAAQG,eAAR,EAA4B;AAEnE,cAAMJ,KAAK,GAAG,IAAIJ,WAAW,CAACS,qBAAhB,EAAd;AACAL,UAAAA,KAAK,CAACG,SAAN,GAAkBA,SAAlB;AACAH,UAAAA,KAAK,CAACE,OAAN,GAAgBA,OAAhB;AAEA,cAAMI,KAAK,GAAG,IAAIV,WAAW,CAACW,gBAAhB,EAAd;AACAD,UAAAA,KAAK,CAACF,eAAN,GAAwBA,eAAxB;AAEAT,UAAAA,aAAa,CAACa,gBAAd,GAAiCR,KAAjC;AACAL,UAAAA,aAAa,CAACc,WAAd,GAA4BH,KAA5B;AAEA,cAAII,IAAI,GAAGzI,IAAI,CAACC,KAAL,CAAWoI,KAAK,CAACF,eAAjB,CAAX;AACA,cAAIO,SAAS,GAAGD,IAAI,CAAC,UAAD,CAApB;AACApJ,UAAAA,OAAO,CAACC,GAAR,CAAY,aAAZ,EAA2BoJ,SAA3B;AACA,cAAIC,aAAa,GAAG,EAApB;;AACA,eAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,SAAS,CAACG,MAA9B,EAAsCD,CAAC,EAAvC,EAA2C;AAC1CD,YAAAA,aAAa,CAAC7G,IAAd,CAAmB4G,SAAS,CAACE,CAAD,CAAT,CAAa5H,IAAhC;AACA,WAlBkE,CAmBnE;;;AACA,cAAI2H,aAAa,CAACE,MAAd,GAAuB,CAA3B,EAA8B;AAC7B,gBAAIC,mBAAmB,GAAGH,aAAa,CAAC,CAAD,CAAvC;AACAjB,YAAAA,aAAa,CAACqB,YAAd,GAA6BD,mBAA7B,CAF6B,CAG7B;;AACA,gBAAIE,eAAe,GAAGN,SAAS,CAAC,CAAD,CAA/B;AACA,gBAAIO,UAAU,GAAGD,eAAe,CAACE,SAAjC;AACA,gBAAIC,cAAc,GAAG,EAArB;;AACA,iBAAK,IAAIP,EAAC,GAAG,CAAb,EAAgBA,EAAC,GAAGK,UAAU,CAACJ,MAA/B,EAAuCD,EAAC,EAAxC,EAA4C;AAC3CO,cAAAA,cAAc,CAACrH,IAAf,CAAoBmH,UAAU,CAACL,EAAD,CAAV,CAAc5H,IAAlC;AACA;;AAED+C,YAAAA,QAAQ,CAACM,YAAT,CAAsBzG,EAAE,CAACwL,MAAzB;AACArF,YAAAA,QAAQ,CAACsF,EAAT,CAAY,OAAZ,EAAqB,YAAM;AAC1B,kBAAItF,QAAQ,CAACuF,SAAb,EAAwB,CACvB;AACA;;AACDvF,cAAAA,QAAQ,CAACuF,SAAT,GAAqB,IAArB;AACAjK,cAAAA,OAAO,CAACC,GAAR,CAAY,SAAZ;;AAEA,kBAAIkI,SAAS,CAACC,SAAd,EAAyB;AACxB7J,gBAAAA,EAAE,CAAC+E,WAAH,CAAe4G,cAAf;AACA3L,gBAAAA,EAAE,CAAC+E,WAAH,CAAe6G,UAAf,CAA0BhC,SAAS,CAACC,SAApC,EAA+C,KAA/C,EAAsD,GAAtD;AACA;;AAED,kBAAI0B,cAAc,CAACN,MAAf,GAAwB,CAA5B,EAA+B;AAC9BnB,gBAAAA,aAAa,CAAC+B,aAAd,CAA4BN,cAAc,CAAC,CAAD,CAA1C,EAA+C,CAA/C;AACA;AACD,aAfD;AAgBA;AAED,SAlDD;AAmDA,OArDD;AAsDA,KAxDD;AA0DA,GAxfO;AA2fR3C,EAAAA,SA3fQ,qBA2fEpH,IA3fF,EA2fQ;AAAA;;AACf,QAAM8H,IAAI,GAAI,KAAKtC,SAAL,CAAelB,KAAf,GAAuB,KAAKkB,SAAL,CAAevE,KAAvC,GAAgD,KAAKjB,IAAL,CAAUc,MAAV,CAAiBC,IAAjB,CAAsBE,KAAnF;AAEA,QAAMqJ,OAAO,GAAG,IAAI9L,EAAE,CAACoG,IAAP,EAAhB;AACA0F,IAAAA,OAAO,CAACtK,IAAR,GAAeA,IAAf;AACA,SAAKwF,SAAL,CAAeT,QAAf,CAAwBuF,OAAxB;AAEA9L,IAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe;AAACzE,MAAAA,GAAG,EAAEpB,IAAI,CAACiC;AAAX,KAAf,EAAoC,UAACM,GAAD,EAAMuD,GAAN,EAAc;AAEjD,UAAMY,GAAG,GAAG4D,OAAO,CAACrF,YAAR,CAAqBzG,EAAE,CAACmI,MAAxB,CAAZ;AACAD,MAAAA,GAAG,CAACE,WAAJ,GAAkB,IAAIpI,EAAE,CAACiI,WAAP,CAAmBX,GAAnB,CAAlB;AAEA,UAAMxB,KAAK,GAAGwD,IAAI,GAAG,MAAI,CAACtC,SAAL,CAAeV,MAApC;AAEAwF,MAAAA,OAAO,CAACrJ,KAAR,GAAgBjB,IAAI,CAACe,IAAL,CAAUE,KAAV,GAAkBqD,KAAlC;AACAgG,MAAAA,OAAO,CAACtJ,MAAR,GAAiBhB,IAAI,CAACe,IAAL,CAAUC,MAAV,GAAmBsD,KAApC;AACAgG,MAAAA,OAAO,CAACpJ,CAAR,GAAY,CAAC,MAAI,CAACsE,SAAL,CAAevE,KAAhB,GAAwB,CAAxB,GAA4BjB,IAAI,CAACe,IAAL,CAAUG,CAAV,GAAcoD,KAAtD;AACAgG,MAAAA,OAAO,CAACnJ,CAAR,GAAY,MAAI,CAACqE,SAAL,CAAexE,MAAf,GAAwB,CAAxB,GAA4BhB,IAAI,CAACe,IAAL,CAAUC,MAAV,GAAmBsD,KAA/C,GAAuDtE,IAAI,CAACe,IAAL,CAAUI,CAAV,GAAcmD,KAAjF;AAEAgG,MAAAA,OAAO,CAAC9F,OAAR,GAAkB8F,OAAO,CAAC7F,OAAR,GAAkB,CAApC;;AAEA,UAAIzE,IAAI,CAACgC,SAAT,EAAoB;AACnB,QAAA,MAAI,CAACuI,WAAL,CAAiBD,OAAjB;AACA;AACD,KAjBD;AAmBA,GArhBO;AAuhBRC,EAAAA,WAvhBQ,uBAuhBID,OAvhBJ,EAuhBa;AACpB,QAAMtK,IAAI,GAAGsK,OAAO,CAACtK,IAArB;AAEAxB,IAAAA,EAAE,CAAC6D,YAAH,CAAgBgB,UAAhB,CAA2BrD,IAAI,CAACgC,SAAhC,EAA2C,UAACO,GAAD,EAAM8F,SAAN,EAAoB;AAC9DiC,MAAAA,OAAO,CAACjC,SAAR,GAAoBA,SAApB;AACA,KAFD;AAIAiC,IAAAA,OAAO,CAACrF,YAAR,CAAqBzG,EAAE,CAACwL,MAAxB;AACAM,IAAAA,OAAO,CAACL,EAAR,CAAW,OAAX,EAAoB,YAAM;AACxB,UAAIK,OAAO,CAACjC,SAAZ,EAAuB;AACtB7J,QAAAA,EAAE,CAAC+E,WAAH,CAAe4G,cAAf;AACA3L,QAAAA,EAAE,CAAC+E,WAAH,CAAe6G,UAAf,CAA0BE,OAAO,CAACjC,SAAlC,EAA6C,KAA7C,EAAoD,GAApD;AACA;AACF,KALD;AAMA,GAriBO;AAuiBRlB,EAAAA,YAviBQ,wBAuiBKnH,IAviBL,EAuiBW;AAAA;;AAClB,QAAM8H,IAAI,GAAI,KAAKtC,SAAL,CAAelB,KAAf,GAAuB,KAAKkB,SAAL,CAAevE,KAAvC,GAAgD,KAAKjB,IAAL,CAAUc,MAAV,CAAiBC,IAAjB,CAAsBE,KAAnF;AAEA,QAAM0D,QAAQ,GAAG,IAAInG,EAAE,CAACoG,IAAP,EAAjB;AACAD,IAAAA,QAAQ,CAAC/C,IAAT,GAAgB,SAAS5B,IAAI,CAACwB,KAA9B;AACAmD,IAAAA,QAAQ,CAAC3E,IAAT,GAAgBA,IAAhB;AACA,SAAKwF,SAAL,CAAeT,QAAf,CAAwBJ,QAAxB;AAGA,QAAML,KAAK,GAAGwD,IAAI,GAAG,KAAKtC,SAAL,CAAeV,MAApC;AAEAH,IAAAA,QAAQ,CAAC1D,KAAT,GAAiBjB,IAAI,CAACe,IAAL,CAAUE,KAAV,GAAkBqD,KAAnC;AACAK,IAAAA,QAAQ,CAAC3D,MAAT,GAAkBhB,IAAI,CAACe,IAAL,CAAUC,MAAV,GAAmBsD,KAArC;AACAK,IAAAA,QAAQ,CAACzD,CAAT,GAAa,CAAC,KAAKsE,SAAL,CAAevE,KAAhB,GAAwB,CAAxB,GAA4BjB,IAAI,CAACe,IAAL,CAAUG,CAAV,GAAcoD,KAAvD;AACAK,IAAAA,QAAQ,CAACxD,CAAT,GAAa,KAAKqE,SAAL,CAAexE,MAAf,GAAwB,CAAxB,GAA4BhB,IAAI,CAACe,IAAL,CAAUC,MAAV,GAAmBsD,KAA/C,GAAuDtE,IAAI,CAACe,IAAL,CAAUI,CAAV,GAAcmD,KAAlF;AAEAK,IAAAA,QAAQ,CAACH,OAAT,GAAmBG,QAAQ,CAACF,OAAT,GAAmB,CAAtC;;AAGA,QAAIzE,IAAI,CAACgC,SAAT,EAAoB;AACnBxD,MAAAA,EAAE,CAAC6D,YAAH,CAAgBgB,UAAhB,CAA2BrD,IAAI,CAACgC,SAAhC,EAA2C,UAACO,GAAD,EAAM8F,SAAN,EAAoB;AAC9DrI,QAAAA,IAAI,CAACqI,SAAL,GAAiBA,SAAjB;AACA,OAFD;AAGA;;AAED1D,IAAAA,QAAQ,CAACM,YAAT,CAAsBzG,EAAE,CAACwL,MAAzB;AACArF,IAAAA,QAAQ,CAACsF,EAAT,CAAY,OAAZ,EAAqB,YAAM;AAC1B,MAAA,MAAI,CAACO,UAAL,CAAgB7F,QAAhB;AACA,KAFD;AAQA,QAAMyD,SAAS,GAAG,IAAI5J,EAAE,CAACoG,IAAP,EAAlB;AACAwD,IAAAA,SAAS,CAACxG,IAAV,GAAiB,WAAW5B,IAAI,CAACwB,KAAjC;AACA,SAAKgE,SAAL,CAAeT,QAAf,CAAwBqD,SAAxB;AACApI,IAAAA,IAAI,CAACoI,SAAL,GAAiBA,SAAjB;;AAGA,QAAIpI,IAAI,CAACgC,SAAT,EAAoB;AACnBxD,MAAAA,EAAE,CAAC6D,YAAH,CAAgBgB,UAAhB,CAA2BrD,IAAI,CAACgC,SAAhC,EAA2C,UAACO,GAAD,EAAM8F,SAAN,EAAoB;AAC9DD,QAAAA,SAAS,CAACC,SAAV,GAAsBA,SAAtB;AACA,OAFD;AAGA;;AAGD,QAAMC,aAAa,GAAGF,SAAS,CAACnD,YAAV,CAAuBsD,WAAW,CAACC,eAAnC,CAAtB;AAEA,QAAMC,KAAK,GAAGzI,IAAI,CAAC8B,UAAL,CAAgBV,GAA9B,CAjDkB,CAiDe;;AACjC,QAAMsH,GAAG,GAAG1I,IAAI,CAAC2B,WAAL,CAAiBP,GAA7B,CAlDkB,CAkDc;;AAChC,QAAMuH,KAAK,GAAG3I,IAAI,CAAC6B,WAAL,CAAiBT,GAA/B,CAnDkB,CAmDgB;;AAClC5C,IAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe4C,KAAf,EAAsB,UAACG,KAAD,EAAQC,OAAR,EAAoB;AAEzCrK,MAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe;AAACzE,QAAAA,GAAG,EAAEuH,KAAN;AAAa9J,QAAAA,IAAI,EAAE;AAAnB,OAAf,EAA0C,UAAC+J,KAAD,EAAQE,SAAR,EAAsB;AAE/DtK,QAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe;AAACzE,UAAAA,GAAG,EAAEsH,GAAN;AAAW7J,UAAAA,IAAI,EAAE;AAAjB,SAAf,EAAwC,UAAC+J,KAAD,EAAQG,eAAR,EAA4B;AAEnE,cAAMJ,KAAK,GAAG,IAAIJ,WAAW,CAACS,qBAAhB,EAAd;AACAL,UAAAA,KAAK,CAACG,SAAN,GAAkBA,SAAlB;AACAH,UAAAA,KAAK,CAACE,OAAN,GAAgBA,OAAhB;AAEA,cAAMI,KAAK,GAAG,IAAIV,WAAW,CAACW,gBAAhB,EAAd;AACAD,UAAAA,KAAK,CAACF,eAAN,GAAwBA,eAAxB;AAEAT,UAAAA,aAAa,CAACa,gBAAd,GAAiCR,KAAjC;AACAL,UAAAA,aAAa,CAACc,WAAd,GAA4BH,KAA5B;AAEA,cAAII,IAAI,GAAGzI,IAAI,CAACC,KAAL,CAAWoI,KAAK,CAACF,eAAjB,CAAX;AACA,cAAIO,SAAS,GAAGD,IAAI,CAAC,UAAD,CAApB;AACApJ,UAAAA,OAAO,CAACC,GAAR,CAAY,aAAZ,EAA2BoJ,SAA3B;AACA,cAAIC,aAAa,GAAG,EAApB;;AACA,eAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,SAAS,CAACG,MAA9B,EAAsCD,CAAC,EAAvC,EAA2C;AAC1CD,YAAAA,aAAa,CAAC7G,IAAd,CAAmB4G,SAAS,CAACE,CAAD,CAAT,CAAa5H,IAAhC;AACA,WAlBkE,CAmBnE;;;AACA,cAAI2H,aAAa,CAACE,MAAd,GAAuB,CAA3B,EAA8B;AAC7B,gBAAIC,mBAAmB,GAAGH,aAAa,CAAC,CAAD,CAAvC;AACAjB,YAAAA,aAAa,CAACqB,YAAd,GAA6BD,mBAA7B,CAF6B,CAG7B;;AACA,gBAAIE,eAAe,GAAGN,SAAS,CAAC,CAAD,CAA/B;AACA,gBAAIO,UAAU,GAAGD,eAAe,CAACE,SAAjC;AACA,gBAAIC,cAAc,GAAG,EAArB;;AACA,iBAAK,IAAIP,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAGK,UAAU,CAACJ,MAA/B,EAAuCD,GAAC,EAAxC,EAA4C;AAC3CO,cAAAA,cAAc,CAACrH,IAAf,CAAoBmH,UAAU,CAACL,GAAD,CAAV,CAAc5H,IAAlC;AACA,aAT4B,CAW7B;AACA;;;AACAwG,YAAAA,SAAS,CAACqC,SAAV,GAAsB,YAAM;AAC3B,kBAAI9F,QAAQ,CAACuF,SAAb,EAAwB,CACvB;AACA;;AACDvF,cAAAA,QAAQ,CAACuF,SAAT,GAAqB,IAArB;AACAjK,cAAAA,OAAO,CAACC,GAAR,CAAY,SAAZ;;AAEA,kBAAIkI,SAAS,CAACC,SAAd,EAAyB;AACxB7J,gBAAAA,EAAE,CAAC+E,WAAH,CAAe4G,cAAf;AACA3L,gBAAAA,EAAE,CAAC+E,WAAH,CAAe6G,UAAf,CAA0BhC,SAAS,CAACC,SAApC,EAA+C,KAA/C,EAAsD,GAAtD;AACA;;AAED,kBAAI0B,cAAc,CAACN,MAAf,GAAwB,CAA5B,EAA+B;AAC9BnB,gBAAAA,aAAa,CAAC+B,aAAd,CAA4BN,cAAc,CAAC,CAAD,CAA1C,EAA+C,CAA/C;AACA;AACD,aAfD;AAgBA;AAED,SAnDD;AAoDA,OAtDD;AAuDA,KAzDD;AA2DA,GAtpBO;AAwpBRW,EAAAA,OAAO,EAAE,IAxpBD;AAypBRxH,EAAAA,UAzpBQ,wBAypBK;AAEZ,SAAKwH,OAAL,GAAelM,EAAE,CAAC6F,IAAH,CAAQ,eAAR,CAAf;AACA,SAAKqG,OAAL,CAAaC,MAAb,GAAsB,KAAtB;AACA,SAAKD,OAAL,CAAahF,MAAb,GAAsB,EAAtB;AACA,GA9pBO;AAgqBR8E,EAAAA,UAhqBQ,sBAgqBGlD,IAhqBH,EAgqBS;AAChBrH,IAAAA,OAAO,CAACC,GAAR,CAAY,gBAAZ;;AAEA,QAAIoH,IAAI,IAAI,KAAKoD,OAAL,CAAaE,QAAzB,EAAmC;AAElCtD,MAAAA,IAAI,CAACtH,IAAL,CAAUoI,SAAV,CAAoBqC,SAApB,GAFkC,CAGlC;AACA;AACA;AACA;;AACA,WAAKI,UAAL;AACA;AACA;;AAED,SAAKH,OAAL,CAAaE,QAAb,GAAwBtD,IAAxB;AAEAA,IAAAA,IAAI,CAACpG,CAAL,IAAUoG,IAAI,CAACrG,KAAL,GAAa,CAAvB;AACAqG,IAAAA,IAAI,CAACnG,CAAL,IAAUmG,IAAI,CAACtG,MAAL,GAAc,CAAxB;AACA,QAAM8G,IAAI,GAAG,+BAAoB,KAAK4C,OAAzB,EAAkCpD,IAAlC,CAAb;AACA,QAAMwD,GAAG,GAAG,8BAAmB,KAAKJ,OAAxB,EAAiCpD,IAAjC,CAAZ;AACAA,IAAAA,IAAI,CAACpG,CAAL,IAAUoG,IAAI,CAACrG,KAAL,GAAa,CAAvB;AACAqG,IAAAA,IAAI,CAACnG,CAAL,IAAUmG,IAAI,CAACtG,MAAL,GAAc,CAAxB;AAEA,SAAK0J,OAAL,CAAapG,KAAb,IAAsBwD,IAAtB;AACA,SAAK4C,OAAL,CAAapG,KAAb,IAAuB,IAAE,CAAzB;AAEA,SAAKoG,OAAL,CAAaxJ,CAAb,GAAiB4J,GAAG,CAAC5J,CAArB;AACA,SAAKwJ,OAAL,CAAavJ,CAAb,GAAiB2J,GAAG,CAAC3J,CAArB;AAEA,SAAKuJ,OAAL,CAAaC,MAAb,GAAsB,IAAtB;AAEA,SAAKD,OAAL,CAAaK,OAAb,GAAuB,CAAvB;AACAvM,IAAAA,EAAE,CAACwM,KAAH,CAAS,KAAKN,OAAd,EACEO,EADF,CACK,CADL,EACQ;AAACF,MAAAA,OAAO,EAAE;AAAV,KADR,EACwB;AAACG,MAAAA,MAAM,EAAE;AAAT,KADxB,EAEEvL,KAFF;AAIA,GApsBO;AAssBRwD,EAAAA,YAtsBQ,0BAssBO;AAAA;;AACd,QAAMwC,MAAM,GAAGnH,EAAE,CAAC6F,IAAH,CAAQ,QAAR,CAAf;AACAsB,IAAAA,MAAM,CAACV,YAAP,CAAoBzG,EAAE,CAACwL,MAAvB;AACArE,IAAAA,MAAM,CAACsE,EAAP,CAAU,OAAV,EAAmB,YAAM;AACxB,MAAA,MAAI,CAACY,UAAL;AACA,KAFD;AAGA,GA5sBO;AA8sBRA,EAAAA,UA9sBQ,wBA8sBK;AACZ,SAAKH,OAAL,CAAaE,QAAb,GAAwB,IAAxB;AACApM,IAAAA,EAAE,CAACwM,KAAH,CAAS,KAAKN,OAAd,EACEO,EADF,CACK,CADL,EACQ;AAACF,MAAAA,OAAO,EAAE;AAAV,KADR,EACsB;AAACG,MAAAA,MAAM,EAAE;AAAT,KADtB,EAEEvL,KAFF;AAGA,GAntBO;AAqtBRwL,EAAAA,SArtBQ,uBAqtBI,CAEX,CAvtBO,CA0tBR;;AA1tBQ,CAAT","sourceRoot":"/","sourcesContent":["// Learn cc.Class:\n// - https://docs.cocos.com/creator/manual/en/scripting/class.html\n// Learn Attribute:\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\n// Learn life-cycle callbacks:\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\n\nimport {getScaleRateBy2Node, localPosTolocalPos} from \"./util\";\n\ncc.Class({\n\textends: cc.Component,\n\n\tproperties: {\n\t\tbaseWidth: {\n\t\t\tdefault: 1280,\n\t\t\ttype: cc.Integer\n\t\t},\n\t\tbaseHeight: {\n\t\t\tdefault: 720,\n\t\t\ttype: cc.Integer\n\t\t}\n\t\t// foo: {\n\t\t// // ATTRIBUTES:\n\t\t// default: null, // The default value will be used only when the component attaching\n\t\t// // to a node for the first time\n\t\t// type: cc.SpriteFrame, // optional, default is typeof default\n\t\t// serializable: true, // optional, default is true\n\t\t// },\n\t\t// bar: {\n\t\t// get () {\n\t\t// return this._bar;\n\t\t// },\n\t\t// set (value) {\n\t\t// this._bar = value;\n\t\t// }\n\t\t// },\n\t},\n\n\t// LIFE-CYCLE CALLBACKS:\n\n\t// baseWidth: 1280;\n\t// baseHeight: 720;\n\n\tonLoad() {\n\t\tcc.debug.setDisplayStats(false);\n\t\tthis.initSceneData();\n\t\tthis.initSize();\n\t},\n\n\tinitSceneData() {\n\t\tthis._imageResList = [];\n\t\tthis._audioResList = [];\n\t\tthis._animaResList = [];\n\t},\n\n\t_designSize: null,\n\tinitSize() {\n\t\tthis._designSize = cc.view.getDesignResolutionSize();\n\n\t},\n\n\tstart() {\n\t\tlet getData = this.getData.bind(this);\n\t\tif (window && window.courseware) {\n\t\t\t// console.log('has window');\n\t\t\tgetData = window.courseware.getData;\n\t\t}\n\t\tgetData((data) => {\n\t\t\tconsole.log('data:', data);\n\t\t\tthis.data = data || this.getDefaultData();\n\t\t\tthis.preloadItem()\n\t\t})\n\t},\n\n\n\t_imageResList: null,\n\t_audioResList: null,\n\t_animaResList: null,\n\tpreloadItem() {\n\t\tthis.addPreloadImage();\n\t\tthis.addPreloadAudio();\n\t\tthis.addPreloadAnima();\n\t\tthis.preload();\n\t},\n\n\tgetData(func) {\n\t\tfunc(this.getDefaultData());\n\t},\n\n\tgetDefaultData() {\n\n\t\tconst dataJson = '{\"bgColorId\":0,\"bgColor\":\"#f9bd03\",\"bgItem\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/539e2f58cb1817f852d9c09ec1ac7c8b.png\",\"rect\":{\"x\":265.18,\"y\":0,\"width\":776.65,\"height\":500}},\"hotZoneItemArr\":[{\"id\":\"1611197962070\",\"index\":0,\"pic_url\":\"http://staging-teach.cdn.ireadabc.com/8ce25a36313edb9dfa3de77ba85cb6b9.png\",\"text\":\"aaa\",\"audio_url\":\"http://staging-teach.cdn.ireadabc.com/cd8daa8b4d8ff707b3a3680e80bc4761.mp3\",\"itemType\":\"rect\",\"fontScale\":1.02109375,\"imgScale\":0.7029268568840579,\"mapScale\":1.02109375,\"skeJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/3db1a0ed6b7e33d5f9f284e1a5980349.json\",\"name\":\"Ubbie_ske.json\"},\"texJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/4232e00c9b1d272e650e51dbb785e498.json\",\"name\":\"Ubbie_tex.json\"},\"texPngData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/2e56dbe3134380952a725eacceb86359.png\",\"name\":\"Ubbie_tex.png\"},\"gIdx\":\"0\",\"rect\":{\"x\":-1.68,\"y\":-1,\"width\":200,\"height\":200}},{\"id\":\"1611197966644\",\"index\":1,\"pic_url\":\"http://staging-teach.cdn.ireadabc.com/c8abf7383d65bcbdba8f390785cece60.png\",\"audio_url\":\"http://staging-teach.cdn.ireadabc.com/1961d807c944e6551af02c7b57e117f3.mp3\",\"itemType\":\"pic\",\"fontScale\":1.02109375,\"imgScale\":0.2536231884057971,\"mapScale\":1.02109375,\"gIdx\":\"1\",\"rect\":{\"x\":7.32,\"y\":424,\"width\":70,\"height\":70}},{\"id\":\"1611197971104\",\"index\":2,\"audio_url\":\"http://staging-teach.cdn.ireadabc.com/694a80e21cefd6e53880d61e684e1c94.mp3\",\"itemType\":\"rect\",\"fontScale\":1.02109375,\"imgScale\":1,\"mapScale\":1.02109375,\"skeJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/7efceac56cc9a61b107a11457390d3c6.json\",\"name\":\"finish1_ske.json\"},\"texJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/d6e8db4fb385127de9e3cd9d8a9530f7.json\",\"name\":\"finish1_tex.json\"},\"texPngData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/96f5c7a9ac9f433c9c870c38b0811a38.png\",\"name\":\"finish1_tex.png\"},\"gIdx\":\"2\",\"rect\":{\"x\":575.32,\"y\":303,\"width\":200,\"height\":200}}],\"bg_audio_url\":\"http://staging-teach.cdn.ireadabc.com/3fa65d5f667a2ef9059d3dfc5df74a4d.mp3\"}'\n\t\tconst data1 = JSON.parse(dataJson);\n\t\treturn data1;\n\n\t\tconst data = {\n\t\t\tbgItem: {\n\t\t\t\trect: {\n\t\t\t\t\theight: 380,\n\t\t\t\t\twidth: 675.56,\n\t\t\t\t\tx: 160.72,\n\t\t\t\t\ty: 0\n\t\t\t\t},\n\t\t\t\t// url: \"http://staging-teach.cdn.ireadabc.com/b31c5881ea5f607c1d3540029a7d29c7.png\"\n\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/756b0a8de4cb84ed70e70d60f87a5901.jpg\"\n\t\t\t},\n\t\t\thotZoneItemArr: [\n\t\t\t\t{\n\t\t\t\t\tid: 1595919608244,\n\t\t\t\t\timgScale: 1,\n\t\t\t\t\tindex: 0,\n\t\t\t\t\titemType: \"rect\",\n\t\t\t\t\tmapScale: 0.903125,\n\t\t\t\t\trect: {\n\t\t\t\t\t\theight: 120.84,\n\t\t\t\t\t\twidth: 115.99,\n\t\t\t\t\t\tx: 378.68,\n\t\t\t\t\t\ty: 191.3\n\t\t\t\t\t},\n\t\t\t\t\tskeJsonData: {\n\t\t\t\t\t\tname: \"finish1_ske.json\",\n\t\t\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/bd825dcceea298d1146be8067ae3d17f.json\"\n\t\t\t\t\t},\n\t\t\t\t\ttexJsonData: {\n\t\t\t\t\t\tname: \"finish1_tex.json\",\n\t\t\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/246f8991b729fa3e5a7f4802de828efa.json\"\n\t\t\t\t\t},\n\t\t\t\t\ttexPngData: {\n\t\t\t\t\t\tname: \"finish1_tex.png\",\n\t\t\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/5a0c5af3e952acd0ac83a6e5c6f03ff1.png\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\n\t\t\tpicArr: [\n\t\t\t\t{\n\t\t\t\t\taudio_url: \"http://staging-teach.cdn.ireadabc.com/0128a59057e63c4c6b4b96556d077a98.mp3\",\n\t\t\t\t\tpic_url: \"http://staging-teach.cdn.ireadabc.com/18f2a029e02d679da8d42746daea228f.png\",\n\t\t\t\t\ttext: \"1111\",\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\treturn data;\n\t},\n\n\tpreload() {\n\n\t\tconst preloadArr = this._imageResList.concat(this._audioResList).concat(this._animaResList);\n\t\tcc.assetManager.loadAny(preloadArr, null, null, (err, data) => {\n\t\t\tconsole.log(' preload data, ', data);\n\n\t\t\t// typeof\n\t\t\tthis.loadEnd();\n\t\t\tif (window && window[\"air\"]) {\n\t\t\t\twindow[\"air\"].hideAirClassLoading();\n\t\t\t}\n\t\t});\n\t},\n\n\taddPreloadImage() {\n\t\n\t\tif (this.data.bgItem) {\n\t\t\tthis._imageResList.push({ url: this.data.bgItem.url });\n\t\t}\n\t\tif (!this.data.hotZoneItemArr) {\n\t\t\treturn;\n\t\t}\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tif (item.pic_url) {\n\t\t\t\tthis._imageResList.push({ url: item.pic_url });\n\t\t\t}\n\t\t})\n\n\t},\n\n\taddPreloadAudio() {\n\n\t\tif (!this.data.hotZoneItemArr) {\n\t\t\treturn;\n\t\t}\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tthis._audioResList.push({url: item.audio_url});\n\t\t})\n\n\t\tthis._audioResList.push({url: this.data.bg_audio_url});\n\t},\n\n\taddPreloadAnima() {\n\t\tif (!this.data.hotZoneItemArr) {\n\t\t\treturn;\n\t\t}\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tif (item.skeJsonData) {\n\t\t\t\tthis._animaResList.push({ url: item.skeJsonData.url || '' });\n\t\t\t\tthis._animaResList.push({ url: item.texJsonData.url || ''});\n\t\t\t\tthis._animaResList.push({ url: item.texPngData.url || ''});\n\t\t\t}\n\t\t})\n\t},\n\n\tloadEnd() {\n\t\tthis.initView();\n\t},\n\n\tinitView() {\n\t\tthis.initBg();\n\t\tthis.initHotZone();\n\t\tthis.initBottomPart();\n\t\tthis.initCircle();\n\t\tthis.initListener();\n\t\tthis.initMusic();\n\t},\n\n\n\tinitMusic() {\n\n\t\tif (!this.data.bg_audio_url) {\n\t\t\treturn;\n\t\t}\n\t\tcc.assetManager.loadRemote(this.data.bg_audio_url, (err, clip) => {\n\t\t\tcc.audioEngine.setMusicVolume(0.3);\n\t\t\tconst audioID = cc.audioEngine.playMusic(clip, true);\n\t\t});\n\t},\n\n\t_cocosScale: null,\n\tinitBg() {\n\t\tconst frameSize = cc.view.getFrameSize();\n\n\t\tlet sx = cc.winSize.width / frameSize.width;\n\t\tlet sy = cc.winSize.height / frameSize.height;\n\t\tlet s = Math.min(sx, sy);\n\n\t\tthis._cocosScale = s;\n\n\t\tconst bgNode = cc.find('Canvas/bg');\n\t\t// const sx = cc.winSize.width / bgNode.width;\n\t\t// const sy = cc.winSize.height / bgNode.height;\n\t\t sx = frameSize.width / bgNode.width;\n\t\t sy = frameSize.height / bgNode.height;\n\t\tbgNode.scale = Math.max(sx, sy) * s;\n\t\tbgNode.anchorX = 1;\n\t\tbgNode.anchorY = 0;\n\t\tbgNode.x = frameSize.width / 2 * s;\n\t\tbgNode.y = -frameSize.height / 2 * s;\n\n\n\n\t\n\t\tconst bg = cc.find('Canvas/bg');\n\t\tconst rectNode = new cc.Node();\n\t\trectNode.x = -bg.x;\n\t\trectNode.y = -bg.y;\n\t\trectNode.scaleX = bg.scaleX;\n\t\trectNode.scaleY = bg.scaleY;\n\t\tbg.addChild(rectNode);\n\t\tconst ctx = rectNode.addComponent(cc.Graphics);\n\t\tctx.fillColor = this.data.bgColor || '#f9bd03';\n\t\tctx.fillRect(-bg.width / 2 , -bg.height / 2, bg.width, bg.height);\n\t\tctx.fill();\n\n\t},\n\n\n\tinitHotZone() {\n\t\tthis.initHotZoneBg();\n\n\t},\n\n\thotZoneBg: null,\n\tinitHotZoneBg() {\n\t\tthis.hotZoneBg = new cc.Node();\n\t\tthis.hotZoneBg.name = 'hotZoneBg';\n\t\tthis.hotZoneBg.parent = cc.find('Canvas');\n\t\tthis.hotZoneBg.zIndex = 4;\n\n\n\t\tconst canvas = cc.find('Canvas/Main Camera');\n\t\t// console.log('canvas: ', canvas);\n\n\t\tif (!this.data.bgItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tcc.loader.load({url: this.data.bgItem.url}, (err, img) => {\n\n\t\t\tthis.addMask(this.hotZoneBg);\n\n\t\t\tthis.hotZoneBg.width = img.width;\n\t\t\tthis.hotZoneBg.height = img.height;\n\n\n\n\t\t\tconst box = this.hotZoneBg.getBoundingBox();\n\n\n\t\t\tconst tmpS = 640 / 720;\n\t\t\tlet subNum = 720 - 640;\n\t\t\tconst frameSize = cc.view.getFrameSize();\n\t\t\tconst winSize = cc.winSize;\n\n\t\t\tconsole.log('this.hotZoneBg.box: ', this.hotZoneBg.getBoundingBox());\n\t\t\tconsole.log('let visiSize=cc.director.getVisibleSize();: ', cc.view.getVisibleSize());\n\t\t\tconsole.log('lframeSize: ', frameSize);\n\n\t\t\tlet sx = frameSize.width / this._designSize.width;\n\t\t\tlet sy = frameSize.height / this._designSize.height;\n\t\t\tconst mapS = Math.min(sx, sy);\n\t\t\t// const sy = canvas.height * tmpS / box.height;\n\n\n\t\t\tconst bgBottom = cc.find('Canvas/bgBottom');\n\t\t\tbgBottom.scale = mapS * this._cocosScale;\n\t\t\t// subNum = bgBottom.height;\n\n\t\t\t sx = frameSize.width * this._cocosScale / img.width;\n\t\t\t sy = (frameSize.height * this._cocosScale - subNum * mapS * this._cocosScale) / img.height;\n\n\n\t\t\tconst sprNode = new cc.Node();\n\t\t\tvar sf = new cc.SpriteFrame(img);\n\t\t\t// const spr = this.hotZoneBg.addComponent(cc.Sprite);\n\t\t\tconst spr = sprNode.addComponent(cc.Sprite);\n\t\t\tspr.spriteFrame = sf\n\t\t\tsprNode.width = this.hotZoneBg.width;\n\t\t\tsprNode.height = this.hotZoneBg.height;\n\t\t\tsprNode.parent = this.hotZoneBg;\n\n\t\t\tthis.hotZoneBg.scale = Math.min(sx, sy);\n\n\t\t\t// this.hotZoneBg.y = -frameSize.height / 2 * this._cocosScale + this.hotZoneBg.height / 2 * this.hotZoneBg.scaleY + (subNum * mapS * this._cocosScale);\n\t\t\tthis.hotZoneBg.y = frameSize.height / 2 * this._cocosScale - this.hotZoneBg.height / 2 * this.hotZoneBg.scaleY ;\n\n\n\t\t\t// this.hotZoneBg.opacity = 20;\n\n\t\t\tconst bgWhite = cc.find('Canvas/bgWhite');\n\t\t\tbgWhite.y = this.hotZoneBg.y;\n\n\t\t\tbgWhite.scaleX = this.hotZoneBg.width * this.hotZoneBg.scaleX / bgWhite.width;\n\t\t\tbgWhite.scaleY = this.hotZoneBg.height * this.hotZoneBg.scaleY / bgWhite.height;\n\n\n\t\t\tconst canvas = cc.find('Canvas');\n\t\t\tconst shadowNode = new cc.Node();\n\t\t\tshadowNode.y = bgWhite.y;\n\t\t\tshadowNode.scaleX = bgWhite.scaleX;\n\t\t\tshadowNode.scaleY = bgWhite.scaleY;\n\t\t\tcanvas.addChild(shadowNode);\n\t\t\tconst ctx = shadowNode.addComponent(cc.Graphics);\n\t\t\tctx.fillColor = cc.Color.BLACK.setA(30);\n\t\t\t// ctx.fillRect(5, 5, this.hotZoneBg.width*this.hotZoneBg.scaleX, this.hotZoneBg.height * this.hotZoneBg.scaleY);\n\t\t\tctx.fillRect(-bgWhite.width / 2 + 8 / bgWhite.scaleX * this.hotZoneBg.scale, -bgWhite.height / 2 - 8 / bgWhite.scaleX * this.hotZoneBg.scale, bgWhite.width, bgWhite.height);\n\t\t\tctx.fill();\n\n\t\t\tshadowNode.zIndex = 1;\n\t\t\tbgWhite.zIndex = 2;\n\n\t\t\tbgBottom.y = -frameSize.height / 2 * this._cocosScale - 15 * bgBottom.scaleY;\n\n\t\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\t\tif (item.gIdx == '0') {\n\t\t\t\t\tthis.setOneCircle(item);\n\t\t\t\t} else if (item.gIdx == '1') {\n\t\t\t\t\tthis.setOnePic(item);\n\t\t\t\t} else if (item.gIdx == '2') {\n\t\t\t\t\tthis.setOneAnima(item);\n\t\t\t\t}\n\t\t\t});\n\n\t\t});\n\n\t},\n\n\taddMask(node) {\n\t\tconst mask = node.addComponent(cc.Mask);\n\t\tmask.type = cc.Mask.Type.RECT;\n\t},\n\n\tinitBottomPart() {\n\n\t\tconst bgBottom = cc.find('Canvas/bgBottom');\n\t\tconst script = bgBottom.getComponent('bgBottom_cc_mz_004');\n\n\t\tconst picArr = [];\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tif (item.gIdx == '0') {\n\t\t\t\tpicArr.push(item);\n\t\t\t}\n\t\t});\n\t\tscript.setItemData(picArr);\n\t},\n\n\n\tsetOneAnima(data) {\n\n\n\t\tconst rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;\n\n\t\tconst rectNode = new cc.Node();\n\t\trectNode.name = 'rect' + data.index;\n\t\tthis.hotZoneBg.addChild(rectNode);\n\n\n\t\tconst ctx = rectNode.addComponent(cc.Graphics);\n\t\t// 红色矩形\n\t\tctx.lineWidth = 4;\n\t\tctx.strokeColor = cc.Color.BLACK;\n\t\tctx.fillColor = cc.Color.WHITE.setA(100);\n\n\t\tconst scale = rate / this.hotZoneBg.scaleY;\n\n\t\trectNode.width = data.rect.width * scale;\n\t\trectNode.height = data.rect.height * scale;\n\t\trectNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;\n\t\trectNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;\n\n\t\trectNode.anchorX = rectNode.anchorY = 0;\n\n\n\t\tif (this.data.bgItem.isShowDebugLine) {\n\t\t\tctx.rect(0, 0, rectNode.width, rectNode.height);\n\t\t}\n\t\tctx.stroke();\n\t\tctx.fill();\n\n\n\n\t\tconst animaNode = new cc.Node();\n\t\tanimaNode.name = 'anima_' + data.index;\n\t\tthis.hotZoneBg.addChild(animaNode);\n\n\t\t// rectNode.addChild(animaNode);\n\t\t// animaNode.x = rectNode.width / 2;\n\t\t// animaNode.y = rectNode.height / 2;\n\n\n\t\tif (data.audio_url) {\n\t\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\t\tanimaNode.audioClip = audioClip;\n\t\t\t});\n\t\t}\n\n\n\t\tconst dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);\n\n\t\tconst image = data.texPngData.url//\"http://staging-teach.cdn.ireadabc.com/5a0c5af3e952acd0ac83a6e5c6f03ff1.png\";\n\t\tconst ske = data.skeJsonData.url//\"http://staging-teach.cdn.ireadabc.com/bd825dcceea298d1146be8067ae3d17f.json\";\n\t\tconst atlas = data.texJsonData.url//\"http://staging-teach.cdn.ireadabc.com/246f8991b729fa3e5a7f4802de828efa.json\";\n\t\tcc.loader.load(image, (error, texture) => {\n\n\t\t\tcc.loader.load({url: atlas, type: 'txt'}, (error, atlasJson) => {\n\n\t\t\t\tcc.loader.load({url: ske, type: 'txt'}, (error, dragonBonesJson) => {\n\n\t\t\t\t\tconst atlas = new dragonBones.DragonBonesAtlasAsset();\n\t\t\t\t\tatlas.atlasJson = atlasJson;\n\t\t\t\t\tatlas.texture = texture;\n\n\t\t\t\t\tconst asset = new dragonBones.DragonBonesAsset();\n\t\t\t\t\tasset.dragonBonesJson = dragonBonesJson;\n\n\t\t\t\t\tdragonDisplay.dragonAtlasAsset = atlas;\n\t\t\t\t\tdragonDisplay.dragonAsset = asset;\n\n\t\t\t\t\tlet json = JSON.parse(asset.dragonBonesJson);\n\t\t\t\t\tlet armatures = json[\"armature\"];\n\t\t\t\t\tconsole.log('armatures: ', armatures);\n\t\t\t\t\tlet armatureNames = [];\n\t\t\t\t\tfor (let i = 0; i < armatures.length; i++) {\n\t\t\t\t\t\tarmatureNames.push(armatures[i].name);\n\t\t\t\t\t}\n\t\t\t\t\t// console.log('armatureNames: ', armatureNames);\n\t\t\t\t\tif (armatureNames.length > 0) {\n\t\t\t\t\t\tlet defaultArmatureName = armatureNames[0];\n\t\t\t\t\t\tdragonDisplay.armatureName = defaultArmatureName;\n\t\t\t\t\t\t// let animationNames = dragonDisplay.getAnimationNames(defaultArmatureName);\n\t\t\t\t\t\tlet defaultArmature = armatures[0];\n\t\t\t\t\t\tlet animations = defaultArmature.animation;\n\t\t\t\t\t\tlet animationNames = [];\n\t\t\t\t\t\tfor (let i = 0; i < animations.length; i++) {\n\t\t\t\t\t\t\tanimationNames.push(animations[i].name);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\trectNode.addComponent(cc.Button);\n\t\t\t\t\t\trectNode.on('click', () => {\n\t\t\t\t\t\t\tif (rectNode.isClicked) {\n\t\t\t\t\t\t\t\t// return;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trectNode.isClicked = true;\n\t\t\t\t\t\t\tconsole.log('clicked');\n\n\t\t\t\t\t\t\tif (animaNode.audioClip) {\n\t\t\t\t\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\t\t\t\t\tcc.audioEngine.playEffect(animaNode.audioClip, false, 0.8);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (animationNames.length > 0) {\n\t\t\t\t\t\t\t\tdragonDisplay.playAnimation(animationNames[0], 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t},\n\n\n\tsetOnePic(data) {\n\t\tconst rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;\n\n\t\tconst picNode = new cc.Node();\n\t\tpicNode.data = data;\n\t\tthis.hotZoneBg.addChild(picNode);\n\n\t\tcc.loader.load({url: data.pic_url}, (err, img) => {\n\n\t\t\tconst spr = picNode.addComponent(cc.Sprite);\n\t\t\tspr.spriteFrame = new cc.SpriteFrame(img)\n\n\t\t\tconst scale = rate / this.hotZoneBg.scaleY;\n\n\t\t\tpicNode.width = data.rect.width * scale;\n\t\t\tpicNode.height = data.rect.height * scale;\n\t\t\tpicNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;\n\t\t\tpicNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;\n\n\t\t\tpicNode.anchorX = picNode.anchorY = 0;\n\n\t\t\tif (data.audio_url) {\n\t\t\t\tthis.addPicAudio(picNode);\n\t\t\t}\n\t\t});\n\n\t},\n\n\taddPicAudio(picNode) {\n\t\tconst data = picNode.data;\n\t\t\n\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\tpicNode.audioClip = audioClip;\n\t\t});\n\n\t\tpicNode.addComponent(cc.Button);\n\t\tpicNode.on('click', () => {\n\t\t\t\tif (picNode.audioClip) {\n\t\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\t\tcc.audioEngine.playEffect(picNode.audioClip, false, 0.8);\n\t\t\t\t}\n\t\t});\n\t},\n\n\tsetOneCircle(data) {\n\t\tconst rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;\n\n\t\tconst rectNode = new cc.Node();\n\t\trectNode.name = 'rect' + data.index;\n\t\trectNode.data = data;\n\t\tthis.hotZoneBg.addChild(rectNode);\n\n\n\t\tconst scale = rate / this.hotZoneBg.scaleY;\n\n\t\trectNode.width = data.rect.width * scale;\n\t\trectNode.height = data.rect.height * scale;\n\t\trectNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;\n\t\trectNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;\n\n\t\trectNode.anchorX = rectNode.anchorY = 0;\n\n\n\t\tif (data.audio_url) {\n\t\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\t\tdata.audioClip = audioClip;\n\t\t\t});\n\t\t}\n\n\t\trectNode.addComponent(cc.Button);\n\t\trectNode.on('click', () => {\n\t\t\tthis.showCircle(rectNode);\n\t\t});\n\n\n\n\n\n\t\tconst animaNode = new cc.Node();\n\t\tanimaNode.name = 'anima_' + data.index;\n\t\tthis.hotZoneBg.addChild(animaNode);\n\t\tdata.animaNode = animaNode;\n\n\n\t\tif (data.audio_url) {\n\t\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\t\tanimaNode.audioClip = audioClip;\n\t\t\t});\n\t\t}\n\n\n\t\tconst dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);\n\n\t\tconst image = data.texPngData.url//\"http://staging-teach.cdn.ireadabc.com/5a0c5af3e952acd0ac83a6e5c6f03ff1.png\";\n\t\tconst ske = data.skeJsonData.url//\"http://staging-teach.cdn.ireadabc.com/bd825dcceea298d1146be8067ae3d17f.json\";\n\t\tconst atlas = data.texJsonData.url//\"http://staging-teach.cdn.ireadabc.com/246f8991b729fa3e5a7f4802de828efa.json\";\n\t\tcc.loader.load(image, (error, texture) => {\n\n\t\t\tcc.loader.load({url: atlas, type: 'txt'}, (error, atlasJson) => {\n\n\t\t\t\tcc.loader.load({url: ske, type: 'txt'}, (error, dragonBonesJson) => {\n\n\t\t\t\t\tconst atlas = new dragonBones.DragonBonesAtlasAsset();\n\t\t\t\t\tatlas.atlasJson = atlasJson;\n\t\t\t\t\tatlas.texture = texture;\n\n\t\t\t\t\tconst asset = new dragonBones.DragonBonesAsset();\n\t\t\t\t\tasset.dragonBonesJson = dragonBonesJson;\n\n\t\t\t\t\tdragonDisplay.dragonAtlasAsset = atlas;\n\t\t\t\t\tdragonDisplay.dragonAsset = asset;\n\n\t\t\t\t\tlet json = JSON.parse(asset.dragonBonesJson);\n\t\t\t\t\tlet armatures = json[\"armature\"];\n\t\t\t\t\tconsole.log('armatures: ', armatures);\n\t\t\t\t\tlet armatureNames = [];\n\t\t\t\t\tfor (let i = 0; i < armatures.length; i++) {\n\t\t\t\t\t\tarmatureNames.push(armatures[i].name);\n\t\t\t\t\t}\n\t\t\t\t\t// console.log('armatureNames: ', armatureNames);\n\t\t\t\t\tif (armatureNames.length > 0) {\n\t\t\t\t\t\tlet defaultArmatureName = armatureNames[0];\n\t\t\t\t\t\tdragonDisplay.armatureName = defaultArmatureName;\n\t\t\t\t\t\t// let animationNames = dragonDisplay.getAnimationNames(defaultArmatureName);\n\t\t\t\t\t\tlet defaultArmature = armatures[0];\n\t\t\t\t\t\tlet animations = defaultArmature.animation;\n\t\t\t\t\t\tlet animationNames = [];\n\t\t\t\t\t\tfor (let i = 0; i < animations.length; i++) {\n\t\t\t\t\t\t\tanimationNames.push(animations[i].name);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// rectNode.addComponent(cc.Button);\n\t\t\t\t\t\t// rectNode.on('click', () => {\n\t\t\t\t\t\tanimaNode.showAnima = () => {\n\t\t\t\t\t\t\tif (rectNode.isClicked) {\n\t\t\t\t\t\t\t\t// return;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trectNode.isClicked = true;\n\t\t\t\t\t\t\tconsole.log('clicked');\n\n\t\t\t\t\t\t\tif (animaNode.audioClip) {\n\t\t\t\t\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\t\t\t\t\tcc.audioEngine.playEffect(animaNode.audioClip, false, 0.8);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (animationNames.length > 0) {\n\t\t\t\t\t\t\t\tdragonDisplay.playAnimation(animationNames[0], 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t},\n\n\t_circle: null,\n\tinitCircle() {\n\n\t\tthis._circle = cc.find('Canvas/circle');\n\t\tthis._circle.active = false;\n\t\tthis._circle.zIndex = 12;\n\t},\n\n\tshowCircle(node) {\n\t\tconsole.log(' in showCircle');\n\n\t\tif (node == this._circle.itemNode) {\n\n\t\t\tnode.data.animaNode.showAnima();\n\t\t\t// if (node.data.audioClip) {\n\t\t\t// \tcc.audioEngine.stopAll();\n\t\t\t// \tcc.audioEngine.playEffect(node.data.audioClip, false, 0.8);\n\t\t\t// }\n\t\t\tthis.hideCircle();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._circle.itemNode = node;\n\n\t\tnode.x += node.width / 2;\n\t\tnode.y += node.height / 2;\n\t\tconst rate = getScaleRateBy2Node(this._circle, node);\n\t\tconst pos = localPosTolocalPos(this._circle, node);\n\t\tnode.x -= node.width / 2;\n\t\tnode.y -= node.height / 2;\n\n\t\tthis._circle.scale *= rate;\n\t\tthis._circle.scale *= (5/4);\n\n\t\tthis._circle.x = pos.x;\n\t\tthis._circle.y = pos.y;\n\n\t\tthis._circle.active = true;\n\n\t\tthis._circle.opacity = 0;\n\t\tcc.tween(this._circle)\n\t\t\t.to(1, {opacity: 255}, {easing: 'cubicOut'})\n\t\t\t.start();\n\n\t},\n\n\tinitListener() {\n\t\tconst canvas = cc.find('Canvas');\n\t\tcanvas.addComponent(cc.Button);\n\t\tcanvas.on('click', () => {\n\t\t\tthis.hideCircle();\n\t\t});\n\t},\n\n\thideCircle() {\n\t\tthis._circle.itemNode = null;\n\t\tcc.tween(this._circle)\n\t\t\t.to(1, {opacity: 0}, {easing: 'cubicOut'})\n\t\t\t.start();\n\t},\n\n\tonDestroy() {\n\n\t}\n\n\n\t// update (dt) {},\n});\n"]}
\ No newline at end of file
[
{
"__type__": "cc.Prefab",
"_name": "bgBottom",
"_objFlags": 0,
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"asyncLoadAssets": false,
"readonly": false
},
{
"__type__": "cc.Node",
"_name": "bgBottom",
"_objFlags": 0,
"_parent": null,
"_children": [
{
"__id__": 2
},
{
"__id__": 6
},
{
"__id__": 9
},
{
"__id__": 12
},
{
"__id__": 19
},
{
"__id__": 27
}
],
"_active": true,
"_components": [
{
"__id__": 30
},
{
"__id__": 31
}
],
"_prefab": {
"__id__": 32
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 1280,
"height": 132
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
-360,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": ""
},
{
"__type__": "cc.Node",
"_name": "btn",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 3
},
{
"__id__": 4
}
],
"_prefab": {
"__id__": 5
},
"_opacity": 0,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 70,
"height": 50
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
1.55,
33.325,
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.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__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
},
"fileId": "084fApz9JAurWaytg+oJAF",
"sync": false
},
{
"__type__": "cc.Node",
"_name": "arrowUp",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 7
}
],
"_prefab": {
"__id__": 8
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 24,
"height": 18
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
33,
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__": 6
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "e537853f-7dd2-433f-b108-43a1ab09a56f"
},
"_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__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
},
"fileId": "edRAfQIkFF1YKIsDN8VNAl",
"sync": false
},
{
"__type__": "cc.Node",
"_name": "arrowDown",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [],
"_active": false,
"_components": [
{
"__id__": 10
}
],
"_prefab": {
"__id__": 11
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 24,
"height": 18
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
33,
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__": 9
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "b89d8056-a911-459b-a5bd-38d14d503ec2"
},
"_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__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
},
"fileId": "d7byJPt2FE3KHHfVE1bP90",
"sync": false
},
{
"__type__": "cc.Node",
"_name": "pageUp",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [
{
"__id__": 13
}
],
"_active": true,
"_components": [
{
"__id__": 16
},
{
"__id__": 17
}
],
"_prefab": {
"__id__": 18
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 40,
"height": 40
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
618.054,
-2.429,
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": "spr",
"_objFlags": 0,
"_parent": {
"__id__": 12
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 14
}
],
"_prefab": {
"__id__": 15
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 22,
"height": 23
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
-3,
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__": "8f8c7994-187e-439e-b1aa-82bb98bd86ab"
},
"_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__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
},
"fileId": "7aCx+Zp2ROf6cAIGRgh4ap",
"sync": false
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 12
},
"_enabled": false,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "9bbda31e-ad49-43c9-aaf2-f7d9896bac69"
},
"_type": 1,
"_sizeMode": 0,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.Button",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 12
},
"_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__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
},
"fileId": "a9Fom8DbRPSZOeMw0Jqr8X",
"sync": false
},
{
"__type__": "cc.Node",
"_name": "pageDown",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [
{
"__id__": 20
}
],
"_active": true,
"_components": [
{
"__id__": 23
},
{
"__id__": 24
},
{
"__id__": 25
}
],
"_prefab": {
"__id__": 26
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 40,
"height": 40
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
618.054,
-43.563,
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": "spr",
"_objFlags": 0,
"_parent": {
"__id__": 19
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 21
}
],
"_prefab": {
"__id__": 22
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 22,
"height": 23
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
3,
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__": 20
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "829d07b8-d20a-4618-b05f-4d1ac673b14e"
},
"_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__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
},
"fileId": "acNVn9rVVHIrqRc23p2mf8",
"sync": false
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 19
},
"_enabled": false,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "9bbda31e-ad49-43c9-aaf2-f7d9896bac69"
},
"_type": 1,
"_sizeMode": 0,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.Layout",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 19
},
"_enabled": false,
"_layoutSize": {
"__type__": "cc.Size",
"width": 40,
"height": 40
},
"_resize": 0,
"_N$layoutType": 0,
"_N$cellSize": {
"__type__": "cc.Size",
"width": 40,
"height": 40
},
"_N$startAxis": 0,
"_N$paddingLeft": 0,
"_N$paddingRight": 0,
"_N$paddingTop": 0,
"_N$paddingBottom": 0,
"_N$spacingX": 0,
"_N$spacingY": 0,
"_N$verticalDirection": 1,
"_N$horizontalDirection": 0,
"_N$affectedByScale": false,
"_id": ""
},
{
"__type__": "cc.Button",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 19
},
"_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__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
},
"fileId": "295OcbmFNPGKH4Ej0r/d1D",
"sync": false
},
{
"__type__": "cc.Node",
"_name": "font",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [],
"_active": false,
"_components": [
{
"__id__": 28
}
],
"_prefab": {
"__id__": 29
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 122.85,
"height": 50.4
},
"_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.Label",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 27
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_useOriginalSize": false,
"_string": "Label",
"_N$string": "Label",
"_fontSize": 40,
"_lineHeight": 40,
"_enableWrapText": true,
"_N$file": {
"__uuid__": "8ef2eb77-9294-4186-92a6-5f876ad28041"
},
"_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.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
},
"fileId": "352OaAKCxOMYj+KGjjLk/4",
"sync": false
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 1
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "a8a24d4b-6f26-4358-a2fb-24ad4e5618c4"
},
"_type": 0,
"_sizeMode": 0,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "ff0e9h++NlKOLbC+Bu/RH2+",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 1
},
"_enabled": true,
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
},
"fileId": "b4DhAnBsxPoJbGH3BcGt5i",
"sync": false
}
]
\ No newline at end of file
{
"__type__": "cc.Texture2D",
"content": "0,9729,9729,33071,33071,0,0,1"
}
\ No newline at end of file
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "bg_bottom",
"texture": "a6d5058d-4e6d-4f70-a783-6e6c6abe2bb3",
"atlas": "",
"rect": [
0,
0,
1280,
132
],
"offset": [
0,
0
],
"originalSize": [
1280,
132
],
"capInsets": [
0,
0,
0,
0
]
}
}
\ No newline at end of file
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "bg_points",
"texture": "1e8e5fb3-d12b-442d-bda6-12f12267abe5",
"atlas": "",
"rect": [
0,
0,
1279,
720
],
"offset": [
-0.5,
0
],
"originalSize": [
1280,
720
],
"capInsets": [
0,
0,
0,
0
]
}
}
\ No newline at end of file
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "arrow_down",
"texture": "43748337-7845-480f-bab5-efe27789fdf2",
"atlas": "",
"rect": [
0,
0,
24,
18
],
"offset": [
0,
0
],
"originalSize": [
24,
18
],
"capInsets": [
0,
0,
0,
0
]
}
}
\ No newline at end of file
{
"__type__": "cc.Texture2D",
"content": "0,9729,9729,33071,33071,0,0,1"
}
\ No newline at end of file
{
"__type__": "cc.Texture2D",
"content": "0,9729,9729,33071,33071,0,0,1"
}
\ No newline at end of file
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "arrow_up",
"texture": "3d28f1c9-8256-41cc-8f9e-01c7e3e1371f",
"atlas": "",
"rect": [
0,
0,
24,
18
],
"offset": [
0,
0
],
"originalSize": [
24,
18
],
"capInsets": [
0,
0,
0,
0
]
}
}
\ No newline at end of file
"use strict";
cc._RF.push(module, 'ff0e9h++NlKOLbC+Bu/RH2+', 'bgBottom');
// cc_mz_004/prefab/bgBottom.js
"use strict";
var _util = require("../script/util");
// Learn cc.Class:
// - https://docs.cocos.com/creator/manual/en/scripting/class.html
// Learn Attribute:
// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
cc.Class({
"extends": cc.Component,
properties: {},
// LIFE-CYCLE CALLBACKS:
_canTouch: null,
_isTop: null,
_arrowUp: null,
_arrowDown: null,
_pageIndex: null,
_maxPage: null,
_lineMaxCount: null,
_disW: null,
_maxW: null,
onLoad: function onLoad() {
this._canTouch = true;
this._isTop = false;
this._arrowUp = this.node.getChildByName('arrowUp');
this._arrowDown = this.node.getChildByName('arrowDown');
this.node.zIndex = 10;
this._itemLen = 75;
this._pageIndex = 0;
this._maxPage = 0;
this._disW = 5;
this._maxW = 1280 - 90;
this._lineMaxCount = Math.floor(this._maxW / (this._disW + this._itemLen));
},
start: function start() {
this._initListener();
this._initItemLayer();
},
_itemLayer: null,
_initItemLayer: function _initItemLayer() {
this._itemLayer = new cc.Node();
this.node.addChild(this._itemLayer);
},
_initListener: function _initListener() {
this._initTopBtnListener();
this._initPageBtnListener();
},
_initTopBtnListener: function _initTopBtnListener() {
var _this = this;
var btn = this.node.getChildByName('btn');
btn.on('click', function () {
if (!_this._canTouch) {
return;
}
_this._canTouch = false;
var moveLen = 80 * _this.node.scaleY;
var time = 0.5;
var targetY = moveLen;
if (_this._isTop) {
targetY = -moveLen;
}
cc.tween(_this.node).by(time, {
y: targetY
}).call(function () {
_this._canTouch = true;
}).start();
_this._setTopBtnState(time);
_this._isTop = !_this._isTop;
});
},
_pageUpBtn: null,
_pageDownBtn: null,
_initPageBtnListener: function _initPageBtnListener() {
var _this2 = this;
var pageUp = this.node.getChildByName('pageUp');
pageUp.on('click', function () {
if (!_this2._canTouch) {
return;
}
if (_this2._pageIndex <= 0) {
return;
}
_this2._pageIndex--;
_this2._refreshPage();
_this2._showBtnAnima(pageUp);
});
this._pageUpBtn = pageUp;
var pageDown = this.node.getChildByName('pageDown');
pageDown.on('click', function () {
if (!_this2._canTouch) {
return;
}
if (_this2._pageIndex >= _this2._maxPage - 1) {
return;
}
_this2._pageIndex++;
_this2._refreshPage();
_this2._showBtnAnima(pageDown);
});
this._pageDownBtn = pageDown;
},
_showBtnAnima: function _showBtnAnima(btn) {
cc.tween(btn).to(0.08, {
scale: 1.3
}, {
easing: 'sineOut'
}).to(0.08, {
scale: 1
}, {
easing: 'sineOut'
}).start();
},
_setPageBtnState: function _setPageBtnState() {
if (this._maxPage == 0) {
this._pageUpBtn.active = this._pageDownBtn.active = false;
return;
}
if (this._pageIndex == 0) {
this._pageUpBtn.opacity = 100;
} else {
this._pageUpBtn.opacity = 255;
}
if (this._pageIndex == this._maxPage - 1) {
this._pageDownBtn.opacity = 100;
} else {
this._pageDownBtn.opacity = 255;
}
},
_setTopBtnState: function _setTopBtnState(time) {
var arrow1, arrow2;
if (this._isTop) {
arrow1 = this._arrowDown;
arrow2 = this._arrowUp;
} else {
arrow1 = this._arrowUp;
arrow2 = this._arrowDown;
}
arrow1.scale = 1;
arrow2.scale = 0;
cc.tween(arrow1).to(time / 2, {
scale: 0
}, {
easing: 'cubicOut'
}).start();
cc.tween(arrow2).delay(time / 2).to(time / 2, {
scale: 1
}, {
easing: 'cubicOut'
}).start();
},
_dataArr: null,
setItemData: function setItemData(dataArr) {
console.log(' in setItemData', dataArr);
if (!dataArr || dataArr.length == 0) {
return;
}
this._dataArr = dataArr; // this._maxPage = Math.ceil(dataArr.length / this._lineMaxCount) - 1;
this._initPageArr();
this._pageIndex = 0;
this._refreshPage();
},
_pageArr: null,
_initPageArr: function _initPageArr() {
var tmpArr = [];
this._pageArr = [tmpArr];
var curLen = this._disW;
for (var i = 0; i < this._dataArr.length; i++) {
var item = this._addOneItem(this._dataArr[i]);
curLen += item.width + this._disW;
if (curLen > this._maxW) {
tmpArr = [item];
this._pageArr.push(tmpArr);
curLen = this._disW + item.width + this._disW;
} else {
tmpArr.push(item);
}
}
this._maxPage = this._pageArr.length;
console.log('this._maxPage: ', this._maxPage);
},
_itemLen: null,
_addOneItem: function _addOneItem(data) {
var item = new cc.Node();
item.width = this._itemLen;
item.height = this._itemLen; // const rect = item.addComponent(cc.Graphics);
// rect.fillColor = cc.Color.BLACK.setA(100);
// rect.fillRect(-this._itemLen / 2, -this._itemLen / 2, this._itemLen, this._itemLen);
// rect.fill();
this._addItemPic(item, data.pic_url);
this._addItemLabel(item, data.text);
this._addItemAudio(item, data.audio_url);
item.data = data;
return item;
},
_addItemPic: function _addItemPic(item, url) {
var _this3 = this;
if (!url) {
return;
}
var imgLen = this._itemLen * 0.8;
cc.assetManager.loadRemote(url, function (err, texture) {
var sprNode = new cc.Node();
item.addChild(sprNode);
sprNode.width = texture.width;
sprNode.height = texture.height;
sprNode.y = (_this3._itemLen - imgLen) / 2;
(0, _util.setSprNodeMaxLen)(sprNode, imgLen, imgLen);
var sf = new cc.SpriteFrame(texture);
sprNode.addComponent(cc.Sprite).spriteFrame = sf;
});
},
_labelFont: null,
_addItemLabel: function _addItemLabel(item, text) {
if (!text) {
return;
}
var labelNode = new cc.Node();
labelNode.color = cc.Color.BLACK;
var label = labelNode.addComponent(cc.Label);
label.string = text; // label.string ='ltg + ';
item.addChild(labelNode);
labelNode.y = -this._itemLen * 0.4;
label.fontSize = 16;
label.verticalAlign = cc.Label.VerticalAlign.CENTER;
if (!this._labelFont) {
var fontLabel = this.node.getChildByName('font').getComponent(cc.Label);
this._labelFont = fontLabel.font;
}
label.font = this._labelFont;
label._forceUpdateRenderData(true);
if (labelNode.width > this._itemLen) {
item.width = labelNode.width;
}
},
_addItemAudio: function _addItemAudio(item, url) {
var _this4 = this;
if (!url) {
return;
}
cc.assetManager.loadRemote(url, function (err, audioClip) {
item.audioClip = audioClip;
_this4._addItemListener(item);
});
},
_addItemListener: function _addItemListener(item) {
item.addComponent(cc.Button);
item.on('click', function () {
if (item.audioClip) {
cc.audioEngine.stopAllEffects();
cc.audioEngine.playEffect(item.audioClip, false, 0.5);
}
});
},
_refreshPage: function _refreshPage() {
var _this5 = this;
this._itemLayer.removeAllChildren();
var dataArr = this._dataArr;
var disW = this._disW;
var startIndex = this._pageIndex * this._lineMaxCount; // const showArr = dataArr.slice(startIndex, startIndex + this._lineMaxCount);
var showArr = this._pageArr[this._pageIndex];
var baseX = this._getCurPageBaseX(); // const baseX = -(disW + this._itemLen) * (showArr.length - 1) / 2;
var baseY = -25;
showArr.forEach(function (el, i) {
var item = _this5._addOneItem(el.data);
_this5._itemLayer.addChild(item);
item.x = baseX + (disW + item.width) / 2;
item.y = baseY;
baseX = item.x + (disW + item.width) / 2;
});
this._setPageBtnState();
},
_getCurPageBaseX: function _getCurPageBaseX() {
var arr = this._pageArr[this._pageIndex];
console.log('arr: ', arr);
var curLen = this._disW;
for (var i = 0; i < arr.length; i++) {
curLen += arr[i].width + this._disW;
}
return -curLen / 2;
} // update (dt) {},
});
cc._RF.pop();
\ No newline at end of file
{"version":3,"sources":["assets/cc_mz_004/prefab/bgBottom.js"],"names":["cc","Class","Component","properties","_canTouch","_isTop","_arrowUp","_arrowDown","_pageIndex","_maxPage","_lineMaxCount","_disW","_maxW","onLoad","node","getChildByName","zIndex","_itemLen","Math","floor","start","_initListener","_initItemLayer","_itemLayer","Node","addChild","_initTopBtnListener","_initPageBtnListener","btn","on","moveLen","scaleY","time","targetY","tween","by","y","call","_setTopBtnState","_pageUpBtn","_pageDownBtn","pageUp","_refreshPage","_showBtnAnima","pageDown","to","scale","easing","_setPageBtnState","active","opacity","arrow1","arrow2","delay","_dataArr","setItemData","dataArr","console","log","length","_initPageArr","_pageArr","tmpArr","curLen","i","item","_addOneItem","width","push","data","height","_addItemPic","pic_url","_addItemLabel","text","_addItemAudio","audio_url","url","imgLen","assetManager","loadRemote","err","texture","sprNode","sf","SpriteFrame","addComponent","Sprite","spriteFrame","_labelFont","labelNode","color","Color","BLACK","label","Label","string","fontSize","verticalAlign","VerticalAlign","CENTER","fontLabel","getComponent","font","_forceUpdateRenderData","audioClip","_addItemListener","Button","audioEngine","stopAllEffects","playEffect","removeAllChildren","disW","startIndex","showArr","baseX","_getCurPageBaseX","baseY","forEach","el","x","arr"],"mappings":"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","sourceRoot":"/","sourcesContent":["// Learn cc.Class:\n// - https://docs.cocos.com/creator/manual/en/scripting/class.html\n// Learn Attribute:\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\n// Learn life-cycle callbacks:\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\n\nimport {loadImage, setSprNodeMaxLen} from \"../script/util\";\n\ncc.Class({\n\textends: cc.Component,\n\n\tproperties: {},\n\n\t// LIFE-CYCLE CALLBACKS:\n\n\t_canTouch: null,\n\t_isTop: null,\n\t_arrowUp: null,\n\t_arrowDown: null,\n\t_pageIndex: null,\n\t_maxPage: null,\n\t_lineMaxCount: null,\n\t_disW: null,\n\t_maxW: null,\n\tonLoad() {\n\t\tthis._canTouch = true;\n\t\tthis._isTop = false;\n\n\t\tthis._arrowUp = this.node.getChildByName('arrowUp');\n\t\tthis._arrowDown = this.node.getChildByName('arrowDown');\n\n\t\tthis.node.zIndex = 10;\n\t\tthis._itemLen = 75;\n\t\tthis._pageIndex = 0;\n\t\tthis._maxPage = 0;\n\n\t\tthis._disW = 5;\n\t\tthis._maxW = 1280 - 90;\n\t\tthis._lineMaxCount = Math.floor(this._maxW / (this._disW + this._itemLen));\n\n\t},\n\n\tstart() {\n\n\t\tthis._initListener();\n\t\tthis._initItemLayer();\n\t},\n\n\t_itemLayer: null,\n\t_initItemLayer() {\n\t\tthis._itemLayer = new cc.Node();\n\t\tthis.node.addChild(this._itemLayer);\n\t},\n\n\t_initListener() {\n\n\t\tthis._initTopBtnListener();\n\t\tthis._initPageBtnListener();\n\t},\n\n\t_initTopBtnListener() {\n\t\tconst btn = this.node.getChildByName('btn');\n\t\tbtn.on('click', () => {\n\t\t\tif (!this._canTouch) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._canTouch = false;\n\n\t\t\tconst moveLen = 80 * this.node.scaleY;\n\t\t\tconst time = 0.5;\n\n\t\t\tlet targetY = moveLen;\n\t\t\tif (this._isTop) {\n\t\t\t\ttargetY = -moveLen;\n\t\t\t}\n\t\t\tcc.tween(this.node)\n\t\t\t\t.by(time, {y: targetY})\n\t\t\t\t.call(() => {\n\t\t\t\t\tthis._canTouch = true;\n\t\t\t\t})\n\t\t\t\t.start()\n\n\t\t\tthis._setTopBtnState(time);\n\t\t\tthis._isTop = !this._isTop;\n\n\t\t});\n\t},\n\n\t_pageUpBtn: null,\n\t_pageDownBtn: null,\n\t_initPageBtnListener() {\n\t\tconst pageUp = this.node.getChildByName('pageUp');\n\t\tpageUp.on('click', () => {\n\t\t\tif (!this._canTouch) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this._pageIndex <= 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._pageIndex--;\n\t\t\tthis._refreshPage();\n\t\t\tthis._showBtnAnima(pageUp);\n\t\t});\n\t\tthis._pageUpBtn = pageUp;\n\n\n\t\tconst pageDown = this.node.getChildByName('pageDown');\n\t\tpageDown.on('click', () => {\n\t\t\tif (!this._canTouch) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this._pageIndex >= this._maxPage - 1) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._pageIndex++;\n\t\t\tthis._refreshPage();\n\t\t\tthis._showBtnAnima(pageDown);\n\t\t});\n\t\tthis._pageDownBtn = pageDown;\n\n\t},\n\n\t_showBtnAnima(btn) {\n\t\tcc.tween(btn)\n\t\t\t.to(0.08, {scale: 1.3}, {easing: 'sineOut'})\n\t\t\t.to(0.08, {scale: 1}, {easing: 'sineOut'})\n\t\t\t.start();\n\t},\n\n\t_setPageBtnState() {\n\t\tif (this._maxPage == 0) {\n\t\t\tthis._pageUpBtn.active = this._pageDownBtn.active = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._pageIndex == 0) {\n\t\t\tthis._pageUpBtn.opacity = 100;\n\t\t} else {\n\t\t\tthis._pageUpBtn.opacity = 255;\n\t\t}\n\n\t\tif (this._pageIndex == this._maxPage - 1) {\n\t\t\tthis._pageDownBtn.opacity = 100;\n\t\t} else {\n\t\t\tthis._pageDownBtn.opacity = 255;\n\t\t}\n\t},\n\n\t_setTopBtnState(time) {\n\n\t\tlet arrow1, arrow2;\n\t\tif (this._isTop) {\n\t\t\tarrow1 = this._arrowDown;\n\t\t\tarrow2 = this._arrowUp;\n\t\t} else {\n\t\t\tarrow1 = this._arrowUp;\n\t\t\tarrow2 = this._arrowDown;\n\t\t}\n\n\t\tarrow1.scale = 1;\n\t\tarrow2.scale = 0;\n\n\t\tcc.tween(arrow1)\n\t\t\t.to(time / 2, { scale: 0 }, {easing: 'cubicOut'})\n\t\t\t.start()\n\n\t\tcc.tween(arrow2)\n\t\t\t.delay(time / 2)\n\t\t\t.to(time / 2, {scale: 1}, {easing: 'cubicOut'})\n\t\t\t.start();\n\n\n\t},\n\n\n\t_dataArr: null,\n\tsetItemData(dataArr) {\n\n\t\tconsole.log(' in setItemData', dataArr);\n\n\t\tif (!dataArr || dataArr.length == 0) {\n\t\t\treturn;\n\t\t}\n\t\tthis._dataArr = dataArr;\n\t\t// this._maxPage = Math.ceil(dataArr.length / this._lineMaxCount) - 1;\n\n\t\tthis._initPageArr();\n\n\t\tthis._pageIndex = 0;\n\t\tthis._refreshPage();\n\t},\n\n\t_pageArr: null,\n\t_initPageArr() {\n\n\t\tlet tmpArr = [];\n\t\tthis._pageArr = [tmpArr];\n\t\tlet curLen = this._disW;\n\t\tfor (let i=0; i<this._dataArr.length; i++) {\n\n\t\t\tconst item = this._addOneItem(this._dataArr[i]);\n\t\t\tcurLen += item.width + this._disW;\n\t\t\tif (curLen > this._maxW) {\n\t\t\t\ttmpArr = [item];\n\t\t\t\tthis._pageArr.push(tmpArr);\n\t\t\t\tcurLen = this._disW + item.width + this._disW;\n\t\t\t} else {\n\t\t\t\ttmpArr.push(item);\n\t\t\t}\n\t\t}\n\t\tthis._maxPage = this._pageArr.length;\n\t\tconsole.log('this._maxPage: ', this._maxPage);\n\t},\n\n\n\t_itemLen: null,\n\t_addOneItem(data) {\n\n\t\tconst item = new cc.Node();\n\t\titem.width = this._itemLen;\n\t\titem.height = this._itemLen;\n\t\t// const rect = item.addComponent(cc.Graphics);\n\t\t// rect.fillColor = cc.Color.BLACK.setA(100);\n\t\t// rect.fillRect(-this._itemLen / 2, -this._itemLen / 2, this._itemLen, this._itemLen);\n\t\t// rect.fill();\n\n\t\tthis._addItemPic(item, data.pic_url);\n\t\tthis._addItemLabel(item, data.text);\n\t\tthis._addItemAudio(item, data.audio_url);\n\n\t\titem.data = data;\n\t\treturn item;\n\t},\n\n\t_addItemPic(item, url) {\n\t\tif (!url) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imgLen = this._itemLen * 0.8;\n\t\tcc.assetManager.loadRemote(url, (err, texture) => {\n\n\t\t\tconst sprNode = new cc.Node();\n\t\t\titem.addChild(sprNode);\n\t\t\tsprNode.width = texture.width;\n\t\t\tsprNode.height = texture.height;\n\t\t\tsprNode.y = (this._itemLen - imgLen) / 2;\n\t\t\tsetSprNodeMaxLen(sprNode, imgLen, imgLen);\n\n\t\t\tconst sf = new cc.SpriteFrame(texture);\n\t\t\tsprNode.addComponent(cc.Sprite).spriteFrame = sf;\n\t\t});\n\t},\n\n\t_labelFont: null,\n\t_addItemLabel(item, text) {\n\t\tif (!text) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst labelNode = new cc.Node();\n\t\tlabelNode.color = cc.Color.BLACK;\n\n\t\tconst label = labelNode.addComponent(cc.Label);\n\t\tlabel.string = text;\n\t\t// label.string ='ltg + ';\n\t\titem.addChild(labelNode);\n\t\tlabelNode.y = -this._itemLen * 0.4;\n\t\tlabel.fontSize = 16;\n\t\tlabel.verticalAlign = cc.Label.VerticalAlign.CENTER;\n\n\t\tif (!this._labelFont) {\n\n\t\t\tconst fontLabel = this.node.getChildByName('font').getComponent(cc.Label);\n\t\t\tthis._labelFont = fontLabel.font;\n\t\t}\n\n\t\tlabel.font = this._labelFont;\n\t\tlabel._forceUpdateRenderData(true)\n\t\tif (labelNode.width > this._itemLen) {\n\t\t\titem.width = labelNode.width;\n\t\t}\n\n\t},\n\n\t_addItemAudio(item, url) {\n\t\tif (!url) {\n\t\t\treturn;\n\t\t}\n\n\t\tcc.assetManager.loadRemote(url, (err, audioClip) => {\n\t\t\titem.audioClip = audioClip;\n\t\t\tthis._addItemListener(item);\n\t\t});\n\t},\n\n\t_addItemListener(item) {\n\t\titem.addComponent(cc.Button);\n\t\titem.on('click', () => {\n\t\t\tif (item.audioClip) {\n\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\tcc.audioEngine.playEffect(item.audioClip, false, 0.5);\n\t\t\t}\n\t\t});\n\t},\n\n\t_refreshPage() {\n\n\t\tthis._itemLayer.removeAllChildren();\n\n\t\tconst dataArr = this._dataArr;\n\t\tconst disW = this._disW;\n\t\tconst startIndex = this._pageIndex * this._lineMaxCount;\n\n\t\t// const showArr = dataArr.slice(startIndex, startIndex + this._lineMaxCount);\n\t\tconst showArr = this._pageArr[this._pageIndex];\n\t\tlet baseX = this._getCurPageBaseX();\n\n\n\t\t// const baseX = -(disW + this._itemLen) * (showArr.length - 1) / 2;\n\t\tconst baseY = -25;\n\n\t\tshowArr.forEach((el, i) => {\n\t\t\tconst item = this._addOneItem(el.data);\n\t\t\tthis._itemLayer.addChild(item);\n\t\t\titem.x = baseX + (disW + item.width) / 2\n\t\t\titem.y = baseY;\n\n\t\t\tbaseX = item.x + (disW + item.width) / 2;\n\t\t});\n\n\t\tthis._setPageBtnState();\n\n\t},\n\n\t_getCurPageBaseX() {\n\t\tconst arr = this._pageArr[this._pageIndex];\n\t\tconsole.log('arr: ', arr);\n\t\tlet curLen = this._disW;\n\t\tfor (let i=0; i<arr.length; i++) {\n\t\t\tcurLen += (arr[i].width + this._disW)\n\t\t}\n\t\treturn -curLen / 2;\n\t},\n\t// update (dt) {},\n});\n"]}
\ No newline at end of file
{
"e6a8ba42-b18f-4540-9923-6cd4b55e19e4": {
"asset": 1639625181998,
"meta": 1639747261284,
"relativePath": "cc_mz_004"
},
"3b22ec88-e2a7-427e-8a4b-3a8642cfcb3a": {
"asset": 1639648791565,
"meta": 1639648791571,
"relativePath": "cc_mz_004/scene/cc_mz_004.fire"
},
"7eaaad8a-a408-41e7-8b66-d82f0495c8ab": {
"asset": 1639648711527,
"meta": 1639648858169,
"relativePath": "cc_mz_004/prefab"
},
"d58aee54-9eae-4a9f-888e-2e7d8dfeca38": {
"asset": 1629164061313,
"meta": 1639648711846,
"relativePath": "cc_mz_004/prefab/bgBottom_cc_mz_004.js"
},
"0645a443-b4f5-466a-a8e8-58cd88a56fa5": {
"asset": 1629164061312,
"meta": 1639625276465,
"relativePath": "cc_mz_004/prefab/KGMissKindyMarker.ttf"
},
"4ebd84e9-dda8-41a2-855e-c1213ef8ae4e": {
"asset": 1639625181997,
"meta": 1639625276466,
"relativePath": "cc_mz_004/scene"
},
"14d03749-d02b-4e75-8a32-4adb274a52ef": {
"asset": 1639625181995,
"meta": 1639625276468,
"relativePath": "cc_mz_004/prefab/bgBottom.prefab"
},
"59707045-1b1f-42b2-94ad-21919fc48a8a": {
"asset": 1639625181998,
"meta": 1639625276686,
"relativePath": "cc_mz_004/script"
},
"6b3c5c18-f409-4e21-8ac0-0a8075b90d41": {
"asset": 1629164061315,
"meta": 1639625276732,
"relativePath": "cc_mz_004/script/util.js"
},
"b9330e04-b602-41d2-b11d-d018be6ac6b8": {
"asset": 1639625182001,
"meta": 1639625276732,
"relativePath": "cc_mz_004/texture"
},
"0a5e7ac9-f97b-4311-a16e-577ce40f2bd3": {
"asset": 1629164061316,
"meta": 1639625276743,
"relativePath": "cc_mz_004/texture/arrow_down.png"
},
"9c4f1cc7-e46e-4733-81e4-f01f973dcefd": {
"asset": 1629164061316,
"meta": 1639625276744,
"relativePath": "cc_mz_004/texture/arrow_up.png"
},
"ad8b26bd-cef4-40c5-a949-4032be5308c5": {
"asset": 1629164061317,
"meta": 1639625276756,
"relativePath": "cc_mz_004/texture/bg_bottom.png"
},
"9ec8ad6a-32a2-4bfb-97b4-66ecfddb5f6c": {
"asset": 1629164061316,
"meta": 1639625276773,
"relativePath": "cc_mz_004/texture/bg.jpg"
},
"d4db3d86-1db9-470b-b908-b434737df2ed": {
"asset": 1629164061318,
"meta": 1639625276781,
"relativePath": "cc_mz_004/texture/bg_points.png"
},
"df067cdc-6736-4ff3-82df-f608400c894d": {
"asset": 1629164061320,
"meta": 1639625276788,
"relativePath": "cc_mz_004/texture/page_down.png"
},
"a155f85f-ad14-44a8-9206-831fea81f24c": {
"asset": 1629164061320,
"meta": 1639625276793,
"relativePath": "cc_mz_004/texture/circle.png"
},
"9c77d72c-7333-43da-931a-daff2fe989a1": {
"asset": 1629164061321,
"meta": 1639625276795,
"relativePath": "cc_mz_004/texture/page_up.png"
},
"bfaf692d-9435-47cc-986d-cd081e6d7b9e": {
"asset": 1629164061321,
"meta": 1639625276826,
"relativePath": "cc_mz_004/texture/white_bg.jpg"
},
"96526210-7fc4-4d10-b453-ddd47ac113ed": {
"asset": 1639747132208,
"meta": 1639747209545,
"relativePath": "cc_mz_004/scene/cc_mz_004.js"
},
"9836134e-b892-4283-b6b2-78b5acf3ed45": {
"asset": 1617772640000,
"meta": 1639471151586,
"meta": 1639747339752,
"relativePath": "effects"
},
"430eccbf-bf2c-4e6e-8c0c-884bbb487f32": {
"asset": 1617772640000,
"meta": 1639471151614,
"meta": 1639747339772,
"relativePath": "effects/__builtin-editor-gizmo-line.effect"
},
"6c5cf6e1-b044-4eac-9431-835644d57381": {
"asset": 1617772640000,
"meta": 1639471151629,
"meta": 1639747339783,
"relativePath": "effects/__builtin-editor-gizmo-unlit.effect"
},
"115286d1-2e10-49ee-aab4-341583f607e8": {
"asset": 1617772640000,
"meta": 1639471151670,
"meta": 1639747339816,
"relativePath": "effects/__builtin-editor-gizmo.effect"
},
"abc2cb62-7852-4525-a90d-d474487b88f2": {
"asset": 1617772640000,
"meta": 1639471151766,
"meta": 1639747339909,
"relativePath": "effects/builtin-phong.effect"
},
"e2f00085-c597-422d-9759-52c360279106": {
"asset": 1617772640000,
"meta": 1639471151816,
"meta": 1639747339962,
"relativePath": "effects/builtin-toon.effect"
},
"f8e6b000-5643-4b86-9080-aa680ce1f599": {
"asset": 1617772640000,
"meta": 1639471151817,
"meta": 1639747339984,
"relativePath": "image"
},
"e851e89b-faa2-4484-bea6-5c01dd9f06e2": {
"asset": 1617772640000,
"meta": 1639471151828,
"meta": 1639747340002,
"relativePath": "image/default_btn_normal.png"
},
"71561142-4c83-4933-afca-cb7a17f67053": {
"asset": 1617772640000,
"meta": 1639471151829,
"meta": 1639747340000,
"relativePath": "image/default_btn_disabled.png"
},
"b43ff3c2-02bb-4874-81f7-f2dea6970f18": {
"asset": 1617772640000,
"meta": 1639471151838,
"relativePath": "image/default_btn_pressed.png"
},
"edd215b9-2796-4a05-aaf5-81f96c9281ce": {
"asset": 1617772640000,
"meta": 1639471151839,
"meta": 1639747340011,
"relativePath": "image/default_editbox_bg.png"
},
"b43ff3c2-02bb-4874-81f7-f2dea6970f18": {
"asset": 1617772640000,
"meta": 1639747340009,
"relativePath": "image/default_btn_pressed.png"
},
"d81ec8ad-247c-4e62-aa3c-d35c4193c7af": {
"asset": 1617772640000,
"meta": 1639471151846,
"meta": 1639747340020,
"relativePath": "image/default_panel.png"
},
"99170b0b-d210-46f1-b213-7d9e3f23098a": {
"asset": 1617772640000,
"meta": 1639471151847,
"meta": 1639747340021,
"relativePath": "image/default_progressbar_bg.png"
},
"cfef78f1-c8df-49b7-8ed0-4c953ace2621": {
"asset": 1617772640000,
"meta": 1639471151856,
"meta": 1639747340031,
"relativePath": "image/default_progressbar.png"
},
"567dcd80-8bf4-4535-8a5a-313f1caf078a": {
"asset": 1617772640000,
"meta": 1639471151858,
"meta": 1639747340032,
"relativePath": "image/default_radio_button_off.png"
},
"9d60001f-b5f4-4726-a629-2659e3ded0b8": {
"asset": 1617772640000,
"meta": 1639471151868,
"meta": 1639747340042,
"relativePath": "image/default_radio_button_on.png"
},
"4bab67cb-18e6-4099-b840-355f0473f890": {
"asset": 1617772640000,
"meta": 1639471151869,
"meta": 1639747340043,
"relativePath": "image/default_scrollbar_bg.png"
},
"617323dd-11f4-4dd3-8eec-0caf6b3b45b9": {
"asset": 1617772640000,
"meta": 1639471151879,
"meta": 1639747340051,
"relativePath": "image/default_scrollbar_vertical_bg.png"
},
"d6d3ca85-4681-47c1-b5dd-d036a9d39ea2": {
"asset": 1617772640000,
"meta": 1639471151878,
"meta": 1639747340052,
"relativePath": "image/default_scrollbar_vertical.png"
},
"0275e94c-56a7-410f-bd1a-fc7483f7d14a": {
"asset": 1617772640000,
"meta": 1639471151886,
"meta": 1639747340059,
"relativePath": "image/default_sprite_splash.png"
},
"0291c134-b3da-4098-b7b5-e397edbe947f": {
"asset": 1617772640000,
"meta": 1639471151888,
"meta": 1639747340061,
"relativePath": "image/default_scrollbar.png"
},
"6e056173-d285-473c-b206-40a7fff5386e": {
"asset": 1617772640000,
"meta": 1639471151896,
"relativePath": "image/default_sprite.png"
},
"73a0903d-d80e-4e3c-aa67-f999543c08f5": {
"asset": 1617772640000,
"meta": 1639471151898,
"meta": 1639747340071,
"relativePath": "image/default_toggle_checkmark.png"
},
"d29077ba-1627-4a72-9579-7b56a235340c": {
"6e056173-d285-473c-b206-40a7fff5386e": {
"asset": 1617772640000,
"meta": 1639471151909,
"relativePath": "image/default_toggle_normal.png"
"meta": 1639747340069,
"relativePath": "image/default_sprite.png"
},
"c25b9d50-c8fc-4d27-beeb-6e7c1f2e5c0f": {
"asset": 1617772640000,
"meta": 1639471151908,
"meta": 1639747340083,
"relativePath": "image/default_toggle_disabled.png"
},
"d29077ba-1627-4a72-9579-7b56a235340c": {
"asset": 1617772640000,
"meta": 1639747340081,
"relativePath": "image/default_toggle_normal.png"
},
"b181c1e4-0a72-4a91-bfb0-ae6f36ca60bd": {
"asset": 1617772640000,
"meta": 1639471151920,
"meta": 1639747340093,
"relativePath": "image/default_toggle_pressed.png"
},
"5c3eedba-6c41-4c0c-9ba7-d91f813cbd1c": {
"asset": 1617772640000,
"meta": 1639471151920,
"meta": 1639747340094,
"relativePath": "materials"
},
"c4480a0a-6ac5-443f-8b40-361a14257fc8": {
"asset": 1617772640000,
"meta": 1639471152312,
"meta": 1639747340481,
"relativePath": "materials/builtin-phong.mtl"
},
"fc09f9bd-2cce-4605-b630-8145ef809ed6": {
"asset": 1617772640000,
"meta": 1639471151926,
"meta": 1639747340098,
"relativePath": "misc"
},
"2be36297-9abb-4fee-8049-9ed5e271da8a": {
"asset": 1617772640000,
"meta": 1639471151929,
"meta": 1639747340103,
"relativePath": "misc/default_video.mp4"
},
"db019bf7-f71c-4111-98cf-918ea180cb48": {
"asset": 1617772640000,
"meta": 1639471151930,
"meta": 1639747340104,
"relativePath": "model"
},
"e39e96e6-6f6e-413f-bcf1-ac7679bb648a": {
"asset": 1617772640000,
"meta": 1639471151932,
"meta": 1639747340105,
"relativePath": "model/prefab"
},
"a87cc147-01b2-43f8-8e42-a7ca90b0c757": {
"asset": 1617772640000,
"meta": 1639471151937,
"meta": 1639747340111,
"relativePath": "model/prefab/box.prefab"
},
"600301aa-3357-4a10-b086-84f011fa32ba": {
"asset": 1617772640000,
"meta": 1639471151933,
"relativePath": "image/default-particle.png"
},
"fe1417b6-fe6b-46a4-ae7c-9fd331f33a2a": {
"asset": 1617772640000,
"meta": 1639471151940,
"meta": 1639747340109,
"relativePath": "model/prefab/capsule.prefab"
},
"b5fc2cf2-7942-483d-be1f-bbeadc4714ad": {
"asset": 1617772640000,
"meta": 1639471151944,
"meta": 1639747340127,
"relativePath": "model/prefab/cone.prefab"
},
"600301aa-3357-4a10-b086-84f011fa32ba": {
"asset": 1617772640000,
"meta": 1639747340106,
"relativePath": "image/default-particle.png"
},
"1c5e4038-953a-44c2-b620-0bbfc6170477": {
"asset": 1617772640000,
"meta": 1639471151946,
"meta": 1639747340129,
"relativePath": "model/prefab/cylinder.prefab"
},
"3f376125-a699-40ca-ad05-04d662eaa1f2": {
"asset": 1617772640000,
"meta": 1639471151948,
"meta": 1639747340131,
"relativePath": "model/prefab/plane.prefab"
},
"6c9ef10d-b479-420b-bfe6-39cdda6a8ae0": {
"asset": 1617772640000,
"meta": 1639471151950,
"meta": 1639747340132,
"relativePath": "model/prefab/quad.prefab"
},
"2d9a4b85-b0ab-4c46-84c5-18f393ab2058": {
"asset": 1617772640000,
"meta": 1639471151952,
"meta": 1639747340134,
"relativePath": "model/prefab/sphere.prefab"
},
"de510076-056b-484f-b94c-83bef217d0e1": {
"asset": 1617772640000,
"meta": 1639471151969,
"meta": 1639747340145,
"relativePath": "model/prefab/torus.prefab"
},
"f6e6dd15-71d1-4ffe-ace7-24fd39942c05": {
"asset": 1617772640000,
"meta": 1639471151971,
"meta": 1639747340147,
"relativePath": "obsolete"
},
"8a96b965-2dc0-4e03-aa90-3b79cb93b5b4": {
"asset": 1617772640000,
"meta": 1639471151989,
"meta": 1639747340162,
"relativePath": "obsolete/atom.png"
},
"f743d2b6-b7ea-4c14-a55b-547ed4d0a045": {
"asset": 1617772640000,
"meta": 1639471151990,
"meta": 1639747340163,
"relativePath": "particle"
},
"b8223619-7e38-47c4-841f-9160c232495a": {
"asset": 1617772640000,
"meta": 1639471152327,
"meta": 1639747340496,
"relativePath": "obsolete/atom.plist"
},
"d0a82d39-bede-46c4-b698-c81ff0dedfff": {
"asset": 1617772640000,
"meta": 1639471152002,
"meta": 1639747340175,
"relativePath": "particle/atom.png"
},
"ae6c6c98-11e4-452f-8758-75f5c6a56e83": {
"asset": 1617772640000,
"meta": 1639471152002,
"meta": 1639747340176,
"relativePath": "prefab"
},
"897ef7a1-4860-4f64-968d-f5924b18668a": {
"asset": 1617772640000,
"meta": 1639471152005,
"meta": 1639747340178,
"relativePath": "prefab/2d-camera.prefab"
},
"b2687ac4-099e-403c-a192-ff477686f4f5": {
"asset": 1617772640000,
"meta": 1639471152328,
"meta": 1639747340498,
"relativePath": "particle/atom.plist"
},
"70d7cdb0-04cd-41bb-9480-c06a4785f386": {
"asset": 1617772640000,
"meta": 1639471152007,
"meta": 1639747340180,
"relativePath": "prefab/3d-camera.prefab"
},
"70bbeb73-6dc2-4ee4-8faf-76b3a0e34ec4": {
"asset": 1617772640000,
"meta": 1639471152010,
"meta": 1639747340182,
"relativePath": "prefab/3d-particle.prefab"
},
"ed88f13d-fcad-4848-aa35-65a2cb973584": {
"asset": 1617772640000,
"meta": 1639471152012,
"meta": 1639747340184,
"relativePath": "prefab/3d-stage.prefab"
},
"972b9a4d-47ee-4c74-b5c3-61d8a69bc29f": {
"asset": 1617772640000,
"meta": 1639471152014,
"meta": 1639747340186,
"relativePath": "prefab/button.prefab"
},
"2c937608-2562-40ea-b264-7395df6f0cea": {
"asset": 1617772640000,
"meta": 1639471152016,
"meta": 1639747340189,
"relativePath": "prefab/canvas.prefab"
},
"61aeb05b-3b32-452b-8eed-2b76deeed554": {
"asset": 1617772640000,
"meta": 1639471152018,
"meta": 1639747340191,
"relativePath": "prefab/editbox.prefab"
},
"27756ebb-3d33-44b0-9b96-e858fadd4dd4": {
"asset": 1617772640000,
"meta": 1639471152020,
"meta": 1639747340197,
"relativePath": "prefab/label.prefab"
},
"785a442c-3ceb-45be-a46e-7317f625f3b9": {
"asset": 1617772640000,
"meta": 1639471152021,
"meta": 1639747340207,
"relativePath": "prefab/layout.prefab"
},
"a3ee0214-b432-4865-9666-4a3211814282": {
"asset": 1617772640000,
"meta": 1639471152022,
"meta": 1639747340208,
"relativePath": "prefab/light"
},
"61906da3-7003-4bda-9abc-5769c76faee4": {
"asset": 1617772640000,
"meta": 1639471152024,
"meta": 1639747340210,
"relativePath": "prefab/light/ambient.prefab"
},
"ddb99b39-7004-47cd-9705-751905c43c46": {
"asset": 1617772640000,
"meta": 1639471152026,
"meta": 1639747340213,
"relativePath": "prefab/light/directional.prefab"
},
"0cf30284-9073-46bc-9eba-e62b69dbbff3": {
"asset": 1617772640000,
"meta": 1639471152028,
"meta": 1639747340216,
"relativePath": "prefab/light/point.prefab"
},
"f5331fd2-bf42-4ee3-a3fd-3e1657600eff": {
"asset": 1617772640000,
"meta": 1639471152032,
"meta": 1639747340226,
"relativePath": "prefab/light/spot.prefab"
},
"ca8401fe-ad6e-41a8-bd46-8e3e4e9945be": {
"asset": 1617772640000,
"meta": 1639471152042,
"meta": 1639747340246,
"relativePath": "prefab/pageview.prefab"
},
"cd33edea-55f5-46c2-958d-357a01384a36": {
"asset": 1617772640000,
"meta": 1639471152045,
"meta": 1639747340255,
"relativePath": "prefab/particlesystem.prefab"
},
"5965ffac-69da-4b55-bcde-9225d0613c28": {
"asset": 1617772640000,
"meta": 1639471152048,
"meta": 1639747340258,
"relativePath": "prefab/progressBar.prefab"
},
"4a37dd57-78cd-4cec-aad4-f11a73d12b63": {
"asset": 1617772640000,
"meta": 1639471152050,
"meta": 1639747340261,
"relativePath": "prefab/richtext.prefab"
},
"32044bd2-481f-4cf1-a656-e2b2fb1594eb": {
"asset": 1617772640000,
"meta": 1639471152058,
"meta": 1639747340264,
"relativePath": "prefab/scrollview.prefab"
},
"0004d1cf-a0ad-47d8-ab17-34d3db9d35a3": {
"asset": 1617772640000,
"meta": 1639471152074,
"meta": 1639747340266,
"relativePath": "prefab/slider.prefab"
},
"1f55e3be-b89b-4b79-88de-47fd31018044": {
"asset": 1617772640000,
"meta": 1639471152077,
"meta": 1639747340271,
"relativePath": "prefab/sprite_splash.prefab"
},
"96083d03-c332-4a3f-9386-d03e2d19e8ee": {
"asset": 1617772640000,
"meta": 1639471152079,
"meta": 1639747340273,
"relativePath": "prefab/sprite.prefab"
},
"7de03a80-4457-438d-95a7-3e7cdffd6086": {
"asset": 1617772640000,
"meta": 1639471152082,
"meta": 1639747340274,
"relativePath": "prefab/tiledmap.prefab"
},
"0e42ba95-1fa1-46aa-b2cf-143cd1bcee2c": {
"asset": 1617772640000,
"meta": 1639471152084,
"meta": 1639747340276,
"relativePath": "prefab/tiledtile.prefab"
},
"0d784963-d024-4ea6-a7db-03be0ad63010": {
"asset": 1617772640000,
"meta": 1639471152088,
"meta": 1639747340278,
"relativePath": "prefab/toggle.prefab"
},
"bf0a434c-84dd-4a8e-a08a-7a36f180cc75": {
"asset": 1617772640000,
"meta": 1639471152090,
"meta": 1639747340281,
"relativePath": "prefab/toggleContainer.prefab"
},
"d1b8be49-b0a0-435c-83b7-552bed4bbe35": {
"asset": 1617772640000,
"meta": 1639471152095,
"meta": 1639747340283,
"relativePath": "prefab/toggleGroup.prefab"
},
"232d2782-c4bd-4bb4-9e01-909f03d6d3b9": {
"asset": 1617772640000,
"meta": 1639471152094,
"meta": 1639747340285,
"relativePath": "prefab/videoplayer.prefab"
},
"8c5001fd-07ee-4a4b-a8a0-63e15195e94d": {
"asset": 1617772640000,
"meta": 1639471152126,
"relativePath": "prefab/webview.prefab"
},
"d8afc78c-4eac-4a9f-83dd-67bc70344d33": {
"asset": 1617772640000,
"meta": 1639471152096,
"meta": 1639747340286,
"relativePath": "resources"
},
"294c1663-4adf-4a1e-a795-53808011a38a": {
"asset": 1617772640000,
"meta": 1639471152097,
"meta": 1639747340287,
"relativePath": "resources/effects"
},
"30682f87-9f0d-4f17-8a44-72863791461b": {
"asset": 1617772640000,
"meta": 1639471152106,
"meta": 1639747340298,
"relativePath": "resources/effects/builtin-2d-graphics.effect"
},
"8c5001fd-07ee-4a4b-a8a0-63e15195e94d": {
"asset": 1617772640000,
"meta": 1639747340319,
"relativePath": "prefab/webview.prefab"
},
"144c3297-af63-49e8-b8ef-1cfa29b3be28": {
"asset": 1617772640000,
"meta": 1639471152114,
"meta": 1639747340307,
"relativePath": "resources/effects/builtin-2d-gray-sprite.effect"
},
"f18742d7-56d2-4eb5-ae49-2d9d710b37c8": {
"asset": 1617772640000,
"meta": 1639471152125,
"meta": 1639747340318,
"relativePath": "resources/effects/builtin-2d-label.effect"
},
"0e93aeaa-0b53-4e40-b8e0-6268b4e07bd7": {
"asset": 1617772640000,
"meta": 1639471152135,
"meta": 1639747340329,
"relativePath": "resources/effects/builtin-2d-spine.effect"
},
"2874f8dd-416c-4440-81b7-555975426e93": {
"asset": 1617772640000,
"meta": 1639471152143,
"meta": 1639747340338,
"relativePath": "resources/effects/builtin-2d-sprite.effect"
},
"829a282c-b049-4019-bd38-5ace8d8a6417": {
"asset": 1617772640000,
"meta": 1639471152232,
"meta": 1639747340414,
"relativePath": "resources/effects/builtin-3d-particle.effect"
},
"2a7c0036-e0b3-4fe1-8998-89a54b8a2bec": {
"asset": 1617772640000,
"meta": 1639471152260,
"meta": 1639747340434,
"relativePath": "resources/effects/builtin-3d-trail.effect"
},
"c0040c95-c57f-49cd-9cbc-12316b73d0d4": {
"asset": 1617772640000,
"meta": 1639471152267,
"meta": 1639747340440,
"relativePath": "resources/effects/builtin-clear-stencil.effect"
},
"954fec8b-cd16-4bb9-a3b7-7719660e7558": {
"asset": 1617772640000,
"meta": 1639747343112,
"relativePath": "model/primitives.fbx"
},
"6d91e591-4ce0-465c-809f-610ec95019c6": {
"asset": 1617772640000,
"meta": 1639471152282,
"meta": 1639747340455,
"relativePath": "resources/effects/builtin-unlit.effect"
},
"bbee2217-c261-49bd-a8ce-708d6bcc3500": {
"asset": 1617772640000,
"meta": 1639471152283,
"meta": 1639747340456,
"relativePath": "resources/materials"
},
"6f801092-0c37-4f30-89ef-c8d960825b36": {
"asset": 1617772640000,
"meta": 1639471152367,
"meta": 1639747340566,
"relativePath": "resources/materials/builtin-2d-base.mtl"
},
"a153945d-2511-4c14-be7b-05d242f47d57": {
"asset": 1617772640000,
"meta": 1639471152368,
"meta": 1639747340567,
"relativePath": "resources/materials/builtin-2d-graphics.mtl"
},
"3a7bb79f-32fd-422e-ada2-96f518fed422": {
"asset": 1617772640000,
"meta": 1639471152368,
"meta": 1639747340567,
"relativePath": "resources/materials/builtin-2d-gray-sprite.mtl"
},
"e02d87d4-e599-4d16-8001-e14891ac6506": {
"asset": 1617772640000,
"meta": 1639471152369,
"meta": 1639747340568,
"relativePath": "resources/materials/builtin-2d-label.mtl"
},
"7afd064b-113f-480e-b793-8817d19f63c3": {
"asset": 1617772640000,
"meta": 1639471152371,
"meta": 1639747340569,
"relativePath": "resources/materials/builtin-2d-spine.mtl"
},
"eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432": {
"asset": 1617772640000,
"meta": 1639471152370,
"meta": 1639747340570,
"relativePath": "resources/materials/builtin-2d-sprite.mtl"
},
"432fa09c-cf03-4cff-a186-982604408a07": {
"asset": 1617772640000,
"meta": 1639471152372,
"meta": 1639747340571,
"relativePath": "resources/materials/builtin-3d-particle.mtl"
},
"466d4f9b-e5f4-4ea8-85d5-3c6e9a65658a": {
"asset": 1617772640000,
"meta": 1639471152372,
"meta": 1639747340571,
"relativePath": "resources/materials/builtin-3d-trail.mtl"
},
"cf7e0bb8-a81c-44a9-ad79-d28d43991032": {
"asset": 1617772640000,
"meta": 1639471152373,
"meta": 1639747340572,
"relativePath": "resources/materials/builtin-clear-stencil.mtl"
},
"2a296057-247c-4a1c-bbeb-0548b6c98650": {
"asset": 1617772640000,
"meta": 1639471152374,
"meta": 1639747340573,
"relativePath": "resources/materials/builtin-unlit.mtl"
},
"954fec8b-cd16-4bb9-a3b7-7719660e7558": {
"asset": 1617772640000,
"meta": 1639471154853,
"relativePath": "model/primitives.fbx"
},
"4622f21b-4a93-4460-bbc0-350907c5dded": {
"asset": 1629164061321,
"meta": 1639471282991,
"relativePath": "cc_mz_004/texture"
},
"8beb45b3-f75e-4244-a612-1b675fada727": {
"asset": 1639471282412,
"meta": 1639471282713,
"relativePath": "cc_mz_004/scene"
},
"b5c6439b-d99b-428f-9454-22f767de4a02": {
"asset": 1639471269806,
"meta": 1639471282947,
"relativePath": "cc_mz_004/script"
},
"3531d7ec-7dc9-49bd-be94-92677dc9b7c0": {
"asset": 1629164061316,
"meta": 1639471283042,
"relativePath": "cc_mz_004/texture/bg.jpg"
},
"a6d5058d-4e6d-4f70-a783-6e6c6abe2bb3": {
"asset": 1629164061317,
"meta": 1639471283021,
"relativePath": "cc_mz_004/texture/bg_bottom.png"
},
"f7f43987-0beb-4e02-a9da-ae5d16a05314": {
"asset": 1629164061313,
"meta": 1639471282426,
"relativePath": "cc_mz_004/prefab"
},
"9993b7c8-e4e4-4b48-8922-9c55f423bdb3": {
"asset": 1629164128752,
"meta": 1639471282715,
"relativePath": "cc_mz_004/prefab/bgBottom.prefab"
},
"3d28f1c9-8256-41cc-8f9e-01c7e3e1371f": {
"asset": 1629164061316,
"meta": 1639471283007,
"relativePath": "cc_mz_004/texture/arrow_up.png"
},
"43748337-7845-480f-bab5-efe27789fdf2": {
"asset": 1629164061316,
"meta": 1639471283008,
"relativePath": "cc_mz_004/texture/arrow_down.png"
},
"8b009fac-29e8-49d4-9d64-d84819f50033": {
"asset": 1629164061321,
"meta": 1639471283112,
"relativePath": "cc_mz_004/texture/page_up.png"
},
"c81ac921-d809-45d5-9868-bbfdcfdb6b21": {
"asset": 1629164061320,
"meta": 1639471283085,
"relativePath": "cc_mz_004/texture/page_down.png"
},
"8ef2eb77-9294-4186-92a6-5f876ad28041": {
"asset": 1629164061312,
"meta": 1639471282712,
"relativePath": "cc_mz_004/prefab/KGMissKindyMarker.ttf"
},
"1e8e5fb3-d12b-442d-bda6-12f12267abe5": {
"asset": 1629164061318,
"meta": 1639471283066,
"relativePath": "cc_mz_004/texture/bg_points.png"
},
"47201402-0495-40f8-9802-663f2185825e": {
"asset": 1629164061321,
"meta": 1639471283162,
"relativePath": "cc_mz_004/texture/white_bg.jpg"
},
"bc6e6883-1aba-4f71-a304-47152924a105": {
"asset": 1629164061320,
"meta": 1639471283103,
"relativePath": "cc_mz_004/texture/circle.png"
},
"5ac8bd7b-38a3-4969-ac2f-8aeef90c885e": {
"asset": 1629164061315,
"meta": 1639471282990,
"relativePath": "cc_mz_004/script/util.js"
},
"ff0e987e-f8d9-4a38-b6c2-f81bbf447dbe": {
"asset": 1629164061313,
"meta": 1639471282709,
"relativePath": "cc_mz_004/prefab/bgBottom.js"
},
"e6a8ba42-b18f-4540-9923-6cd4b55e19e4": {
"asset": 1629164844835,
"meta": 1639471464548,
"relativePath": "cc_mz_004"
},
"96526210-7fc4-4d10-b453-ddd47ac113ed": {
"asset": 1629164061315,
"meta": 1639471282946,
"relativePath": "cc_mz_004/scene/cc_mz_004.js"
},
"3b22ec88-e2a7-427e-8a4b-3a8642cfcb3a": {
"asset": 1639471303414,
"meta": 1639471303420,
"relativePath": "cc_mz_004/scene/cc_mz_004.fire"
}
}
\ No newline at end of file
......@@ -5,8 +5,8 @@
"main": true,
"url": "app://editor/index.html",
"windowType": "dockable",
"x": 166,
"y": 136,
"x": 613,
"y": 168,
"width": 1280,
"height": 740,
"layout": {
......@@ -105,7 +105,8 @@
"inspector",
"cocos-services"
]
}
},
"worker": {}
},
"panels": {
"sprite-editor": {
......
......@@ -37,6 +37,7 @@
"2daSEONptJQLYU9aq8TOd+",
"01Xreos21IrrsAvhvN44JE",
"63bpvtVEZAqr5FQ8AQOVa5",
"cda2c9j0hHVbSpTQrQr421"
"cda2c9j0hHVbSpTQrQr421",
"3fjtSSnnNNBb9Db9xNkttL"
]
}
......@@ -57,8 +57,8 @@
"_is3DNode": true,
"_groupIndex": 0,
"groupIndex": 0,
"autoReleaseAssets": true,
"_id": "c3f18614-c716-4f1f-899f-09f073ac6c43"
"autoReleaseAssets": false,
"_id": "3b22ec88-e2a7-427e-8a4b-3a8642cfcb3a"
},
{
"__type__": "cc.Node",
......@@ -356,7 +356,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "586a62ba-e7cc-4445-8a9f-b30aa74b4712"
"__uuid__": "e87d6a18-47d1-42d5-97ac-270b18c32012"
},
"_type": 0,
"_sizeMode": 0,
......@@ -480,7 +480,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "ab04019c-c0c1-430b-ac43-d2d32db05527"
"__uuid__": "0c617db2-a19b-4c5d-925f-5eb76f224e2e"
},
"_type": 0,
"_sizeMode": 0,
......@@ -601,7 +601,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "108c4a61-7411-4ebb-a659-42649e06cdf3"
"__uuid__": "a448d990-f438-40d9-abaa-a3e6a944d5ff"
},
"_type": 0,
"_sizeMode": 1,
......@@ -876,7 +876,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "084fApz9JAurWaytg+oJAF",
"sync": false
......@@ -961,7 +961,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "e537853f-7dd2-433f-b108-43a1ab09a56f"
"__uuid__": "05868b71-e392-4470-b4cd-d997633e65cb"
},
"_type": 0,
"_sizeMode": 1,
......@@ -983,7 +983,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "edRAfQIkFF1YKIsDN8VNAl",
"sync": false
......@@ -1068,7 +1068,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "b89d8056-a911-459b-a5bd-38d14d503ec2"
"__uuid__": "367d4004-4a60-46a6-a1a7-d913ced994a2"
},
"_type": 0,
"_sizeMode": 1,
......@@ -1090,7 +1090,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "d7byJPt2FE3KHHfVE1bP90",
"sync": false
......@@ -1246,7 +1246,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "8f8c7994-187e-439e-b1aa-82bb98bd86ab"
"__uuid__": "68f4c9b6-4837-4f3b-921f-0699563284be"
},
"_type": 0,
"_sizeMode": 1,
......@@ -1268,7 +1268,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "7aCx+Zp2ROf6cAIGRgh4ap",
"sync": false
......@@ -1379,7 +1379,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "a9Fom8DbRPSZOeMw0Jqr8X",
"sync": false
......@@ -1538,7 +1538,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "829d07b8-d20a-4618-b05f-4d1ac673b14e"
"__uuid__": "fa823657-94b6-44d3-a2e5-62fe16913283"
},
"_type": 0,
"_sizeMode": 1,
......@@ -1560,7 +1560,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "acNVn9rVVHIrqRc23p2mf8",
"sync": false
......@@ -1703,7 +1703,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "295OcbmFNPGKH4Ej0r/d1D",
"sync": false
......@@ -1787,14 +1787,13 @@
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_useOriginalSize": false,
"_string": "Label",
"_N$string": "Label",
"_fontSize": 40,
"_lineHeight": 40,
"_enableWrapText": true,
"_N$file": {
"__uuid__": "8ef2eb77-9294-4186-92a6-5f876ad28041"
"__uuid__": "0645a443-b4f5-466a-a8e8-58cd88a56fa5"
},
"_isSystemFontUsed": false,
"_spacingX": 0,
......@@ -1814,7 +1813,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "352OaAKCxOMYj+KGjjLk/4",
"sync": false
......@@ -1835,7 +1834,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "a8a24d4b-6f26-4358-a2fb-24ad4e5618c4"
"__uuid__": "edd0e541-7d1e-406c-8a58-d04c229bba77"
},
"_type": 0,
"_sizeMode": 0,
......@@ -1852,7 +1851,7 @@
"_id": "30krhhSrdCpIxTogxo3eTR"
},
{
"__type__": "ff0e9h++NlKOLbC+Bu/RH2+",
"__type__": "d58ae5Unq5Kn4iOLn2N/so4",
"_name": "",
"_objFlags": 0,
"node": {
......@@ -1867,7 +1866,7 @@
"__id__": 14
},
"asset": {
"__uuid__": "9993b7c8-e4e4-4b48-8922-9c55f423bdb3"
"__uuid__": "14d03749-d02b-4e75-8a32-4adb274a52ef"
},
"fileId": "b4DhAnBsxPoJbGH3BcGt5i",
"sync": false
......@@ -1950,7 +1949,7 @@
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "23170c84-53a5-473c-be24-c7eb9ed1bfac"
"__uuid__": "3f5b2aca-45d1-4d2d-b896-a1b901a32d29"
},
"_type": 0,
"_sizeMode": 1,
......@@ -2011,7 +2010,7 @@
"_id": "29zXboiXFBKoIV4PQ2liTe"
},
{
"__type__": "335fea4K1JFqanJyztUAUJR",
"__type__": "96526IQf8RNELRT3dR6wRPt",
"_name": "",
"_objFlags": 0,
"node": {
......@@ -2020,6 +2019,6 @@
"_enabled": true,
"baseWidth": 1280,
"baseHeight": 720,
"_id": "28v7Et3UdB3JZRlTOtLFi9"
"_id": "36tUxOnPNJhbwxyuOduh5z"
}
]
\ No newline at end of file
{"version":"1.0.8","stats":{"/Users/lmz/Documents/workspace/pro_hw/cc_mz_004/temp/quick-scripts/src/__qc_index__.js":"2021-12-14T08:44:24.735Z","/Users/lmz/Documents/workspace/pro_hw/cc_mz_004/temp/quick-scripts/src/assets/cc_mz_004/script/util.js":"2021-12-14T08:44:24.713Z","/Users/lmz/Documents/workspace/pro_hw/cc_mz_004/temp/quick-scripts/src/assets/cc_mz_004/scene/cc_mz_004.js":"2021-12-14T08:44:24.714Z","/Users/lmz/Documents/workspace/pro_hw/cc_mz_004/temp/quick-scripts/src/assets/cc_mz_004/prefab/bgBottom.js":"2021-12-14T08:44:24.715Z"}}
{"version":"1.0.8","stats":{"/Users/lmz/Documents/workspace/pro_hw/cc_mz_004/temp/quick-scripts/src/__qc_index__.js":"2021-12-17T13:22:23.315Z","/Users/lmz/Documents/workspace/pro_hw/cc_mz_004/temp/quick-scripts/src/assets/cc_mz_004/script/util.js":"2021-12-17T13:22:23.294Z","/Users/lmz/Documents/workspace/pro_hw/cc_mz_004/temp/quick-scripts/src/assets/cc_mz_004/prefab/bgBottom_cc_mz_004.js":"2021-12-17T13:22:23.295Z","/Users/lmz/Documents/workspace/pro_hw/cc_mz_004/temp/quick-scripts/src/assets/cc_mz_004/scene/cc_mz_004.js":"2021-12-17T13:22:23.295Z"}}
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -10,7 +10,7 @@
};
function __define (exports, require, module) {
if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}
require('./assets/cc_mz_004/prefab/bgBottom');
require('./assets/cc_mz_004/prefab/bgBottom_cc_mz_004');
require('./assets/cc_mz_004/scene/cc_mz_004');
require('./assets/cc_mz_004/script/util');
......
(function () {
var scripts = [{"deps":{"./assets/cc_mz_004/script/util":1,"./assets/cc_mz_004/prefab/bgBottom":3,"./assets/cc_mz_004/scene/cc_mz_004":2},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/cc_mz_004/script/util.js"},{"deps":{},"path":"preview-scripts/assets/cc_mz_004/scene/cc_mz_004.js"},{"deps":{"../script/util":1},"path":"preview-scripts/assets/cc_mz_004/prefab/bgBottom.js"}];
var scripts = [{"deps":{"./assets/cc_mz_004/script/util":1,"./assets/cc_mz_004/prefab/bgBottom_cc_mz_004":2,"./assets/cc_mz_004/scene/cc_mz_004":3},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/cc_mz_004/script/util.js"},{"deps":{"../script/util":1},"path":"preview-scripts/assets/cc_mz_004/prefab/bgBottom_cc_mz_004.js"},{"deps":{},"path":"preview-scripts/assets/cc_mz_004/scene/cc_mz_004.js"}];
var entries = ["preview-scripts/__qc_index__.js"];
var bundleScript = 'preview-scripts/__qc_bundle__.js';
......
(function() {
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
var __module = nodeEnv ? module : {exports:{}};
var __filename = 'preview-scripts/assets/cc_mz_004/prefab/bgBottom.js';
var __require = nodeEnv ? function (request) {
return cc.require(request);
} : function (request) {
return __quick_compile_project__.require(request, __filename);
};
function __define (exports, require, module) {
if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
cc._RF.push(module, 'ff0e9h++NlKOLbC+Bu/RH2+', 'bgBottom');
// cc_mz_004/prefab/bgBottom.js
"use strict";
var _util = require("../script/util");
// Learn cc.Class:
// - https://docs.cocos.com/creator/manual/en/scripting/class.html
// Learn Attribute:
// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
cc.Class({
"extends": cc.Component,
properties: {},
// LIFE-CYCLE CALLBACKS:
_canTouch: null,
_isTop: null,
_arrowUp: null,
_arrowDown: null,
_pageIndex: null,
_maxPage: null,
_lineMaxCount: null,
_disW: null,
_maxW: null,
onLoad: function onLoad() {
this._canTouch = true;
this._isTop = false;
this._arrowUp = this.node.getChildByName('arrowUp');
this._arrowDown = this.node.getChildByName('arrowDown');
this.node.zIndex = 10;
this._itemLen = 75;
this._pageIndex = 0;
this._maxPage = 0;
this._disW = 5;
this._maxW = 1280 - 90;
this._lineMaxCount = Math.floor(this._maxW / (this._disW + this._itemLen));
},
start: function start() {
this._initListener();
this._initItemLayer();
},
_itemLayer: null,
_initItemLayer: function _initItemLayer() {
this._itemLayer = new cc.Node();
this.node.addChild(this._itemLayer);
},
_initListener: function _initListener() {
this._initTopBtnListener();
this._initPageBtnListener();
},
_initTopBtnListener: function _initTopBtnListener() {
var _this = this;
var btn = this.node.getChildByName('btn');
btn.on('click', function () {
if (!_this._canTouch) {
return;
}
_this._canTouch = false;
var moveLen = 80 * _this.node.scaleY;
var time = 0.5;
var targetY = moveLen;
if (_this._isTop) {
targetY = -moveLen;
}
cc.tween(_this.node).by(time, {
y: targetY
}).call(function () {
_this._canTouch = true;
}).start();
_this._setTopBtnState(time);
_this._isTop = !_this._isTop;
});
},
_pageUpBtn: null,
_pageDownBtn: null,
_initPageBtnListener: function _initPageBtnListener() {
var _this2 = this;
var pageUp = this.node.getChildByName('pageUp');
pageUp.on('click', function () {
if (!_this2._canTouch) {
return;
}
if (_this2._pageIndex <= 0) {
return;
}
_this2._pageIndex--;
_this2._refreshPage();
_this2._showBtnAnima(pageUp);
});
this._pageUpBtn = pageUp;
var pageDown = this.node.getChildByName('pageDown');
pageDown.on('click', function () {
if (!_this2._canTouch) {
return;
}
if (_this2._pageIndex >= _this2._maxPage - 1) {
return;
}
_this2._pageIndex++;
_this2._refreshPage();
_this2._showBtnAnima(pageDown);
});
this._pageDownBtn = pageDown;
},
_showBtnAnima: function _showBtnAnima(btn) {
cc.tween(btn).to(0.08, {
scale: 1.3
}, {
easing: 'sineOut'
}).to(0.08, {
scale: 1
}, {
easing: 'sineOut'
}).start();
},
_setPageBtnState: function _setPageBtnState() {
if (this._maxPage == 0) {
this._pageUpBtn.active = this._pageDownBtn.active = false;
return;
}
if (this._pageIndex == 0) {
this._pageUpBtn.opacity = 100;
} else {
this._pageUpBtn.opacity = 255;
}
if (this._pageIndex == this._maxPage - 1) {
this._pageDownBtn.opacity = 100;
} else {
this._pageDownBtn.opacity = 255;
}
},
_setTopBtnState: function _setTopBtnState(time) {
var arrow1, arrow2;
if (this._isTop) {
arrow1 = this._arrowDown;
arrow2 = this._arrowUp;
} else {
arrow1 = this._arrowUp;
arrow2 = this._arrowDown;
}
arrow1.scale = 1;
arrow2.scale = 0;
cc.tween(arrow1).to(time / 2, {
scale: 0
}, {
easing: 'cubicOut'
}).start();
cc.tween(arrow2).delay(time / 2).to(time / 2, {
scale: 1
}, {
easing: 'cubicOut'
}).start();
},
_dataArr: null,
setItemData: function setItemData(dataArr) {
console.log(' in setItemData', dataArr);
if (!dataArr || dataArr.length == 0) {
return;
}
this._dataArr = dataArr; // this._maxPage = Math.ceil(dataArr.length / this._lineMaxCount) - 1;
this._initPageArr();
this._pageIndex = 0;
this._refreshPage();
},
_pageArr: null,
_initPageArr: function _initPageArr() {
var tmpArr = [];
this._pageArr = [tmpArr];
var curLen = this._disW;
for (var i = 0; i < this._dataArr.length; i++) {
var item = this._addOneItem(this._dataArr[i]);
curLen += item.width + this._disW;
if (curLen > this._maxW) {
tmpArr = [item];
this._pageArr.push(tmpArr);
curLen = this._disW + item.width + this._disW;
} else {
tmpArr.push(item);
}
}
this._maxPage = this._pageArr.length;
console.log('this._maxPage: ', this._maxPage);
},
_itemLen: null,
_addOneItem: function _addOneItem(data) {
var item = new cc.Node();
item.width = this._itemLen;
item.height = this._itemLen; // const rect = item.addComponent(cc.Graphics);
// rect.fillColor = cc.Color.BLACK.setA(100);
// rect.fillRect(-this._itemLen / 2, -this._itemLen / 2, this._itemLen, this._itemLen);
// rect.fill();
this._addItemPic(item, data.pic_url);
this._addItemLabel(item, data.text);
this._addItemAudio(item, data.audio_url);
item.data = data;
return item;
},
_addItemPic: function _addItemPic(item, url) {
var _this3 = this;
if (!url) {
return;
}
var imgLen = this._itemLen * 0.8;
cc.assetManager.loadRemote(url, function (err, texture) {
var sprNode = new cc.Node();
item.addChild(sprNode);
sprNode.width = texture.width;
sprNode.height = texture.height;
sprNode.y = (_this3._itemLen - imgLen) / 2;
(0, _util.setSprNodeMaxLen)(sprNode, imgLen, imgLen);
var sf = new cc.SpriteFrame(texture);
sprNode.addComponent(cc.Sprite).spriteFrame = sf;
});
},
_labelFont: null,
_addItemLabel: function _addItemLabel(item, text) {
if (!text) {
return;
}
var labelNode = new cc.Node();
labelNode.color = cc.Color.BLACK;
var label = labelNode.addComponent(cc.Label);
label.string = text; // label.string ='ltg + ';
item.addChild(labelNode);
labelNode.y = -this._itemLen * 0.4;
label.fontSize = 16;
label.verticalAlign = cc.Label.VerticalAlign.CENTER;
if (!this._labelFont) {
var fontLabel = this.node.getChildByName('font').getComponent(cc.Label);
this._labelFont = fontLabel.font;
}
label.font = this._labelFont;
label._forceUpdateRenderData(true);
if (labelNode.width > this._itemLen) {
item.width = labelNode.width;
}
},
_addItemAudio: function _addItemAudio(item, url) {
var _this4 = this;
if (!url) {
return;
}
cc.assetManager.loadRemote(url, function (err, audioClip) {
item.audioClip = audioClip;
_this4._addItemListener(item);
});
},
_addItemListener: function _addItemListener(item) {
item.addComponent(cc.Button);
item.on('click', function () {
if (item.audioClip) {
cc.audioEngine.stopAllEffects();
cc.audioEngine.playEffect(item.audioClip, false, 0.5);
}
});
},
_refreshPage: function _refreshPage() {
var _this5 = this;
this._itemLayer.removeAllChildren();
var dataArr = this._dataArr;
var disW = this._disW;
var startIndex = this._pageIndex * this._lineMaxCount; // const showArr = dataArr.slice(startIndex, startIndex + this._lineMaxCount);
var showArr = this._pageArr[this._pageIndex];
var baseX = this._getCurPageBaseX(); // const baseX = -(disW + this._itemLen) * (showArr.length - 1) / 2;
var baseY = -25;
showArr.forEach(function (el, i) {
var item = _this5._addOneItem(el.data);
_this5._itemLayer.addChild(item);
item.x = baseX + (disW + item.width) / 2;
item.y = baseY;
baseX = item.x + (disW + item.width) / 2;
});
this._setPageBtnState();
},
_getCurPageBaseX: function _getCurPageBaseX() {
var arr = this._pageArr[this._pageIndex];
console.log('arr: ', arr);
var curLen = this._disW;
for (var i = 0; i < arr.length; i++) {
curLen += arr[i].width + this._disW;
}
return -curLen / 2;
} // update (dt) {},
});
cc._RF.pop();
}
if (nodeEnv) {
__define(__module.exports, __require, __module);
}
else {
__quick_compile_project__.registerModuleFunc(__filename, function () {
__define(__module.exports, __require, __module);
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9jY19tel8wMDQvcHJlZmFiL2JnQm90dG9tLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwiX2NhblRvdWNoIiwiX2lzVG9wIiwiX2Fycm93VXAiLCJfYXJyb3dEb3duIiwiX3BhZ2VJbmRleCIsIl9tYXhQYWdlIiwiX2xpbmVNYXhDb3VudCIsIl9kaXNXIiwiX21heFciLCJvbkxvYWQiLCJub2RlIiwiZ2V0Q2hpbGRCeU5hbWUiLCJ6SW5kZXgiLCJfaXRlbUxlbiIsIk1hdGgiLCJmbG9vciIsInN0YXJ0IiwiX2luaXRMaXN0ZW5lciIsIl9pbml0SXRlbUxheWVyIiwiX2l0ZW1MYXllciIsIk5vZGUiLCJhZGRDaGlsZCIsIl9pbml0VG9wQnRuTGlzdGVuZXIiLCJfaW5pdFBhZ2VCdG5MaXN0ZW5lciIsImJ0biIsIm9uIiwibW92ZUxlbiIsInNjYWxlWSIsInRpbWUiLCJ0YXJnZXRZIiwidHdlZW4iLCJieSIsInkiLCJjYWxsIiwiX3NldFRvcEJ0blN0YXRlIiwiX3BhZ2VVcEJ0biIsIl9wYWdlRG93bkJ0biIsInBhZ2VVcCIsIl9yZWZyZXNoUGFnZSIsIl9zaG93QnRuQW5pbWEiLCJwYWdlRG93biIsInRvIiwic2NhbGUiLCJlYXNpbmciLCJfc2V0UGFnZUJ0blN0YXRlIiwiYWN0aXZlIiwib3BhY2l0eSIsImFycm93MSIsImFycm93MiIsImRlbGF5IiwiX2RhdGFBcnIiLCJzZXRJdGVtRGF0YSIsImRhdGFBcnIiLCJjb25zb2xlIiwibG9nIiwibGVuZ3RoIiwiX2luaXRQYWdlQXJyIiwiX3BhZ2VBcnIiLCJ0bXBBcnIiLCJjdXJMZW4iLCJpIiwiaXRlbSIsIl9hZGRPbmVJdGVtIiwid2lkdGgiLCJwdXNoIiwiZGF0YSIsImhlaWdodCIsIl9hZGRJdGVtUGljIiwicGljX3VybCIsIl9hZGRJdGVtTGFiZWwiLCJ0ZXh0IiwiX2FkZEl0ZW1BdWRpbyIsImF1ZGlvX3VybCIsInVybCIsImltZ0xlbiIsImFzc2V0TWFuYWdlciIsImxvYWRSZW1vdGUiLCJlcnIiLCJ0ZXh0dXJlIiwic3ByTm9kZSIsInNmIiwiU3ByaXRlRnJhbWUiLCJhZGRDb21wb25lbnQiLCJTcHJpdGUiLCJzcHJpdGVGcmFtZSIsIl9sYWJlbEZvbnQiLCJsYWJlbE5vZGUiLCJjb2xvciIsIkNvbG9yIiwiQkxBQ0siLCJsYWJlbCIsIkxhYmVsIiwic3RyaW5nIiwiZm9udFNpemUiLCJ2ZXJ0aWNhbEFsaWduIiwiVmVydGljYWxBbGlnbiIsIkNFTlRFUiIsImZvbnRMYWJlbCIsImdldENvbXBvbmVudCIsImZvbnQiLCJfZm9yY2VVcGRhdGVSZW5kZXJEYXRhIiwiYXVkaW9DbGlwIiwiX2FkZEl0ZW1MaXN0ZW5lciIsIkJ1dHRvbiIsImF1ZGlvRW5naW5lIiwic3RvcEFsbEVmZmVjdHMiLCJwbGF5RWZmZWN0IiwicmVtb3ZlQWxsQ2hpbGRyZW4iLCJkaXNXIiwic3RhcnRJbmRleCIsInNob3dBcnIiLCJiYXNlWCIsIl9nZXRDdXJQYWdlQmFzZVgiLCJiYXNlWSIsImZvckVhY2giLCJlbCIsIngiLCJhcnIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0E7O0FBUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUFBLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ1IsYUFBU0QsRUFBRSxDQUFDRSxTQURKO0FBR1JDLEVBQUFBLFVBQVUsRUFBRSxFQUhKO0FBS1I7QUFFQUMsRUFBQUEsU0FBUyxFQUFFLElBUEg7QUFRUkMsRUFBQUEsTUFBTSxFQUFFLElBUkE7QUFTUkMsRUFBQUEsUUFBUSxFQUFFLElBVEY7QUFVUkMsRUFBQUEsVUFBVSxFQUFFLElBVko7QUFXUkMsRUFBQUEsVUFBVSxFQUFFLElBWEo7QUFZUkMsRUFBQUEsUUFBUSxFQUFFLElBWkY7QUFhUkMsRUFBQUEsYUFBYSxFQUFFLElBYlA7QUFjUkMsRUFBQUEsS0FBSyxFQUFFLElBZEM7QUFlUkMsRUFBQUEsS0FBSyxFQUFFLElBZkM7QUFnQlJDLEVBQUFBLE1B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LEVBQVc7QUFDMUIsVUFBTUMsSUFBSSxHQUFHLE1BQUksQ0FBQ0MsV0FBTCxDQUFpQnFELEVBQUUsQ0FBQ2xELElBQXBCLENBQWI7O0FBQ0EsTUFBQSxNQUFJLENBQUM5QyxVQUFMLENBQWdCRSxRQUFoQixDQUF5QndDLElBQXpCOztBQUNBQSxNQUFBQSxJQUFJLENBQUN1RCxDQUFMLEdBQVNMLEtBQUssR0FBRyxDQUFDSCxJQUFJLEdBQUcvQyxJQUFJLENBQUNFLEtBQWIsSUFBc0IsQ0FBdkM7QUFDQUYsTUFBQUEsSUFBSSxDQUFDN0IsQ0FBTCxHQUFTaUYsS0FBVDtBQUVBRixNQUFBQSxLQUFLLEdBQUdsRCxJQUFJLENBQUN1RCxDQUFMLEdBQVMsQ0FBQ1IsSUFBSSxHQUFHL0MsSUFBSSxDQUFDRSxLQUFiLElBQXNCLENBQXZDO0FBQ0EsS0FQRDs7QUFTQSxTQUFLbkIsZ0JBQUw7QUFFQSxHQXhVTztBQTBVUm9FLEVBQUFBLGdCQTFVUSw4QkEwVVc7QUFDbEIsUUFBTUssR0FBRyxHQUFHLEtBQUs1RCxRQUFMLENBQWMsS0FBS3JELFVBQW5CLENBQVo7QUFDQWlELElBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLE9BQVosRUFBcUIrRCxHQUFyQjtBQUNBLFFBQUkxRCxNQUFNLEdBQUcsS0FBS3BELEtBQWxCOztBQUNBLFNBQUssSUFBSXFELENBQUMsR0FBQyxDQUFYLEVBQWNBLENBQUMsR0FBQ3lELEdBQUcsQ0FBQzlELE1BQXBCLEVBQTRCSyxDQUFDLEVBQTdCLEVBQWlDO0FBQ2hDRCxNQUFBQSxNQUFNLElBQUswRCxHQUFHLENBQUN6RCxDQUFELENBQUgsQ0FBT0csS0FBUCxHQUFlLEtBQUt4RCxLQUEvQjtBQUNBOztBQUNELFdBQU8sQ0FBQ29ELE1BQUQsR0FBVSxDQUFqQjtBQUNBLEdBbFZPLENBbVZSOztBQW5WUSxDQUFUIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBjYy5DbGFzczpcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2NsYXNzLmh0bWxcbi8vIExlYXJuIEF0dHJpYnV0ZTpcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxuXG5pbXBvcnQge2xvYWRJbWFnZSwgc2V0U3ByTm9kZU1heExlbn0gZnJvbSBcIi4uL3NjcmlwdC91dGlsXCI7XG5cbmNjLkNsYXNzKHtcblx0ZXh0ZW5kczogY2MuQ29tcG9uZW50LFxuXG5cdHByb3BlcnRpZXM6IHt9LFxuXG5cdC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxuXG5cdF9jYW5Ub3VjaDogbnVsbCxcblx0X2lzVG9wOiBudWxsLFxuXHRfYXJyb3dVcDogbnVsbCxcblx0X2Fycm93RG93bjogbnVsbCxcblx0X3BhZ2VJbmRleDogbnVsbCxcblx0X21heFBhZ2U6IG51bGwsXG5cdF9saW5lTWF4Q291bnQ6IG51bGwsXG5cdF9kaXNXOiBudWxsLFxuXHRfbWF4VzogbnVsbCxcblx0b25Mb2FkKCkge1xuXHRcdHRoaXMuX2NhblRvdWNoID0gdHJ1ZTtcblx0XHR0aGlzLl9pc1RvcCA9IGZhbHNlO1xuXG5cdFx0dGhpcy5fYXJyb3dVcCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnYXJyb3dVcCcpO1xuXHRcdHRoaXMuX2Fycm93RG93biA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnYXJyb3dEb3duJyk7XG5cblx0XHR0aGlzLm5vZGUuekluZGV4ID0gMTA7XG5cdFx0dGhpcy5faXRlbUxlbiA9IDc1O1xuXHRcdHRoaXMuX3BhZ2VJbmRleCA9IDA7XG5cdFx0dGhpcy5fbWF4UGFnZSA9IDA7XG5cblx0XHR0aGlzLl9kaXNXID0gNTtcblx0XHR0aGlzLl9tYXhXID0gMTI4MCAtIDkwO1xuXHRcdHRoaXMuX2xpbmVNYXhDb3VudCA9IE1hdGguZmxvb3IodGhpcy5fbWF4VyAvICh0aGlzLl9kaXNXICsgdGhpcy5faXRlbUxlbikpO1xuXG5cdH0sXG5cblx0c3RhcnQoKSB7XG5cblx0XHR0aGlzLl9pbml0TGlzdGVuZXIoKTtcblx0XHR0aGlzLl9pbml0SXRlbUxheWVyKCk7XG5cdH0sXG5cblx0X2l0ZW1MYXllcjogbnVsbCxcblx0X2luaXRJdGVtTGF5ZXIoKSB7XG5cdFx0dGhpcy5faXRlbUxheWVyID0gbmV3IGNjLk5vZGUoKTtcblx0XHR0aGlzLm5vZGUuYWRkQ2hpbGQodGhpcy5faXRlbUxheWVyKTtcblx0fSxcblxuXHRfaW5pdExpc3RlbmVyKCkge1xuXG5cdFx0dGhpcy5faW5pdFRvcEJ0bkxpc3RlbmVyKCk7XG5cdFx0dGhpcy5faW5pdFBhZ2VCdG5MaXN0ZW5lcigpO1xuXHR9LFxuXG5cdF9pbml0VG9wQnRuTGlzdGVuZXIoKSB7XG5cdFx0Y29uc3QgYnRuID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKCdidG4nKTtcblx0XHRidG4ub24oJ2NsaWNrJywgKCkgPT4ge1xuXHRcdFx0aWYgKCF0aGlzLl9jYW5Ub3VjaCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdHRoaXMuX2NhblRvdWNoID0gZmFsc2U7XG5cblx0XHRcdGNvbnN0IG1vdmVMZW4gPSA4MCAqIHRoaXMubm9kZS5zY2FsZVk7XG5cdFx0XHRjb25zdCB0aW1lID0gMC41O1xuXG5cdFx0XHRsZXQgdGFyZ2V0WSA9IG1vdmVMZW47XG5cdFx0XHRpZiAodGhpcy5faXNUb3ApIHtcblx0XHRcdFx0dGFyZ2V0WSA9IC1tb3ZlTGVuO1xuXHRcdFx0fVxuXHRcdFx0Y2MudHdlZW4odGhpcy5ub2RlKVxuXHRcdFx0XHQuYnkodGltZSwge3k6IHRhcmdldFl9KVxuXHRcdFx0XHQuY2FsbCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5fY2FuVG91Y2ggPSB0cnVlO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuc3RhcnQoKVxuXG5cdFx0XHR0aGlzLl9zZXRUb3BCdG5TdGF0ZSh0aW1lKTtcblx0XHRcdHRoaXMuX2lzVG9wID0gIXRoaXMuX2lzVG9wO1xuXG5cdFx0fSk7XG5cdH0sXG5cblx0X3BhZ2VVcEJ0bjogbnVsbCxcblx0X3BhZ2VEb3duQnRuOiBudWxsLFxuXHRfaW5pdFBhZ2VCdG5MaXN0ZW5lcigpIHtcblx0XHRjb25zdCBwYWdlVXAgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoJ3BhZ2VVcCcpO1xuXHRcdHBhZ2VVcC5vbignY2xpY2snLCAoKSA9PiB7XG5cdFx0XHRpZiAoIXRoaXMuX2NhblRvdWNoKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0aWYgKHRoaXMuX3BhZ2VJbmRleCA8PSAwKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdHRoaXMuX3BhZ2VJbmRleC0tO1xuXHRcdFx0dGhpcy5fcmVmcmVzaFBhZ2UoKTtcblx0XHRcdHRoaXMuX3Nob3dCdG5BbmltYShwYWdlVXApO1xuXHRcdH0pO1xuXHRcdHRoaXMuX3BhZ2VVcEJ0biA9IHBhZ2VVcDtcblxuXG5cdFx0Y29uc3QgcGFnZURvd24gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoJ3BhZ2VEb3duJyk7XG5cdFx0cGFnZURvd24ub24oJ2NsaWNrJywgKCkgPT4ge1xuXHRcdFx0aWYgKCF0aGlzLl9jYW5Ub3VjaCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGlmICh0aGlzLl9wYWdlSW5kZXggPj0gdGhpcy5fbWF4UGFnZSAtIDEpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5fcGFnZUluZGV4Kys7XG5cdFx0XHR0aGlzLl9yZWZyZXNoUGFnZSgpO1xuXHRcdFx0dGhpcy5fc2hvd0J0bkFuaW1hKHBhZ2VEb3duKTtcblx0XHR9KTtcblx0XHR0aGlzLl9wYWdlRG93bkJ0biA9IHBhZ2VEb3duO1xuXG5cdH0sXG5cblx0X3Nob3dCdG5BbmltYShidG4pIHtcblx0XHRjYy50d2VlbihidG4pXG5cdFx0XHQudG8oMC4wOCwge3NjYWxlOiAxLjN9LCB7ZWFzaW5nOiAnc2luZU91dCd9KVxuXHRcdFx0LnRvKDAuMDgsIHtzY2FsZTogMX0sIHtlYXNpbmc6ICdzaW5lT3V0J30pXG5cdFx0XHQuc3RhcnQoKTtcblx0fSxcblxuXHRfc2V0UGFnZUJ0blN0YXRlKCkge1xuXHRcdGlmICh0aGlzLl9tYXhQYWdlID09IDApIHtcblx0XHRcdHRoaXMuX3BhZ2VVcEJ0bi5hY3RpdmUgPSB0aGlzLl9wYWdlRG93bkJ0bi5hY3RpdmUgPSBmYWxzZTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5fcGFnZUluZGV4ID09IDApIHtcblx0XHRcdHRoaXMuX3BhZ2VVcEJ0bi5vcGFjaXR5ID0gMTAwO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLl9wYWdlVXBCdG4ub3BhY2l0eSA9IDI1NTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5fcGFnZUluZGV4ID09IHRoaXMuX21heFBhZ2UgLSAxKSB7XG5cdFx0XHR0aGlzLl9wYWdlRG93bkJ0bi5vcGFjaXR5ID0gMTAwO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLl9wYWdlRG93bkJ0bi5vcGFjaXR5ID0gMjU1O1xuXHRcdH1cblx0fSxcblxuXHRfc2V0VG9wQnRuU3RhdGUodGltZSkge1xuXG5cdFx0bGV0IGFycm93MSwgYXJyb3cyO1xuXHRcdGlmICh0aGlzLl9pc1RvcCkge1xuXHRcdFx0YXJyb3cxID0gdGhpcy5fYXJyb3dEb3duO1xuXHRcdFx0YXJyb3cyID0gdGhpcy5fYXJyb3dVcDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YXJyb3cxID0gdGhpcy5fYXJyb3dVcDtcblx0XHRcdGFycm93MiA9IHRoaXMuX2Fycm93RG93bjtcblx0XHR9XG5cblx0XHRhcnJvdzEuc2NhbGUgPSAxO1xuXHRcdGFycm93Mi5zY2FsZSA9IDA7XG5cblx0XHRjYy50d2VlbihhcnJvdzEpXG5cdFx0XHQudG8odGltZSAvIDIsIHsgc2NhbGU6IDAgfSwge2Vhc2luZzogJ2N1YmljT3V0J30pXG5cdFx0XHQuc3RhcnQoKVxuXG5cdFx0Y2MudHdlZW4oYXJyb3cyKVxuXHRcdFx0LmRlbGF5KHRpbWUgLyAyKVxuXHRcdFx0LnRvKHRpbWUgLyAyLCB7c2NhbGU6IDF9LCB7ZWFzaW5nOiAnY3ViaWNPdXQnfSlcblx0XHRcdC5zdGFydCgpO1xuXG5cblx0fSxcblxuXG5cdF9kYXRhQXJyOiBudWxsLFxuXHRzZXRJdGVtRGF0YShkYXRhQXJyKSB7XG5cblx0XHRjb25zb2xlLmxvZygnIGluIHNldEl0ZW1EYXRhJywgZGF0YUFycik7XG5cblx0XHRpZiAoIWRhdGFBcnIgfHwgZGF0YUFyci5sZW5ndGggPT0gMCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLl9kYXRhQXJyID0gZGF0YUFycjtcblx0XHQvLyB0aGlzLl9tYXhQYWdlID0gTWF0aC5jZWlsKGRhdGFBcnIubGVuZ3RoIC8gdGhpcy5fbGluZU1heENvdW50KSAtIDE7XG5cblx0XHR0aGlzLl9pbml0UGFnZUFycigpO1xuXG5cdFx0dGhpcy5fcGFnZUluZGV4ID0gMDtcblx0XHR0aGlzLl9yZWZyZXNoUGFnZSgpO1xuXHR9LFxuXG5cdF9wYWdlQXJyOiBudWxsLFxuXHRfaW5pdFBhZ2VBcnIoKSB7XG5cblx0XHRsZXQgdG1wQXJyID0gW107XG5cdFx0dGhpcy5fcGFnZUFyciA9IFt0bXBBcnJdO1xuXHRcdGxldCBjdXJMZW4gPSB0aGlzLl9kaXNXO1xuXHRcdGZvciAobGV0IGk9MDsgaTx0aGlzLl9kYXRhQXJyLmxlbmd0aDsgaSsrKSB7XG5cblx0XHRcdGNvbnN0IGl0ZW0gPSB0aGlzLl9hZGRPbmVJdGVtKHRoaXMuX2RhdGFBcnJbaV0pO1xuXHRcdFx0Y3VyTGVuICs9IGl0ZW0ud2lkdGggKyB0aGlzLl9kaXNXO1xuXHRcdFx0aWYgKGN1ckxlbiA+IHRoaXMuX21heFcpIHtcblx0XHRcdFx0dG1wQXJyID0gW2l0ZW1dO1xuXHRcdFx0XHR0aGlzLl9wYWdlQXJyLnB1c2godG1wQXJyKTtcblx0XHRcdFx0Y3VyTGVuID0gdGhpcy5fZGlzVyArIGl0ZW0ud2lkdGggKyB0aGlzLl9kaXNXO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dG1wQXJyLnB1c2goaXRlbSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHRoaXMuX21heFBhZ2UgPSB0aGlzLl9wYWdlQXJyLmxlbmd0aDtcblx0XHRjb25zb2xlLmxvZygndGhpcy5fbWF4UGFnZTogJywgdGhpcy5fbWF4UGFnZSk7XG5cdH0sXG5cblxuXHRfaXRlbUxlbjogbnVsbCxcblx0X2FkZE9uZUl0ZW0oZGF0YSkge1xuXG5cdFx0Y29uc3QgaXRlbSA9IG5ldyBjYy5Ob2RlKCk7XG5cdFx0aXRlbS53aWR0aCA9IHRoaXMuX2l0ZW1MZW47XG5cdFx0aXRlbS5oZWlnaHQgPSB0aGlzLl9pdGVtTGVuO1xuXHRcdC8vIGNvbnN0IHJlY3QgPSBpdGVtLmFkZENvbXBvbmVudChjYy5HcmFwaGljcyk7XG5cdFx0Ly8gcmVjdC5maWxsQ29sb3IgPSBjYy5Db2xvci5CTEFDSy5zZXRBKDEwMCk7XG5cdFx0Ly8gcmVjdC5maWxsUmVjdCgtdGhpcy5faXRlbUxlbiAvIDIsIC10aGlzLl9pdGVtTGVuIC8gMiwgdGhpcy5faXRlbUxlbiwgdGhpcy5faXRlbUxlbik7XG5cdFx0Ly8gcmVjdC5maWxsKCk7XG5cblx0XHR0aGlzLl9hZGRJdGVtUGljKGl0ZW0sIGRhdGEucGljX3VybCk7XG5cdFx0dGhpcy5fYWRkSXRlbUxhYmVsKGl0ZW0sIGRhdGEudGV4dCk7XG5cdFx0dGhpcy5fYWRkSXRlbUF1ZGlvKGl0ZW0sIGRhdGEuYXVkaW9fdXJsKTtcblxuXHRcdGl0ZW0uZGF0YSA9IGRhdGE7XG5cdFx0cmV0dXJuIGl0ZW07XG5cdH0sXG5cblx0X2FkZEl0ZW1QaWMoaXRlbSwgdXJsKSB7XG5cdFx0aWYgKCF1cmwpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBpbWdMZW4gPSB0aGlzLl9pdGVtTGVuICogMC44O1xuXHRcdGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHVybCwgKGVyciwgdGV4dHVyZSkgPT4ge1xuXG5cdFx0XHRjb25zdCBzcHJOb2RlID0gbmV3IGNjLk5vZGUoKTtcblx0XHRcdGl0ZW0uYWRkQ2hpbGQoc3ByTm9kZSk7XG5cdFx0XHRzcHJOb2RlLndpZHRoID0gdGV4dHVyZS53aWR0aDtcblx0XHRcdHNwck5vZGUuaGVpZ2h0ID0gdGV4dHVyZS5oZWlnaHQ7XG5cdFx0XHRzcHJOb2RlLnkgPSAodGhpcy5faXRlbUxlbiAtIGltZ0xlbikgLyAyO1xuXHRcdFx0c2V0U3ByTm9kZU1heExlbihzcHJOb2RlLCBpbWdMZW4sIGltZ0xlbik7XG5cblx0XHRcdGNvbnN0IHNmID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xuXHRcdFx0c3ByTm9kZS5hZGRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHNmO1xuXHRcdH0pO1xuXHR9LFxuXG5cdF9sYWJlbEZvbnQ6IG51bGwsXG5cdF9hZGRJdGVtTGFiZWwoaXRlbSwgdGV4dCkge1xuXHRcdGlmICghdGV4dCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IGxhYmVsTm9kZSA9IG5ldyBjYy5Ob2RlKCk7XG5cdFx0bGFiZWxOb2RlLmNvbG9yID0gY2MuQ29sb3IuQkxBQ0s7XG5cblx0XHRjb25zdCBsYWJlbCA9IGxhYmVsTm9kZS5hZGRDb21wb25lbnQoY2MuTGFiZWwpO1xuXHRcdGxhYmVsLnN0cmluZyA9IHRleHQ7XG5cdFx0Ly8gbGFiZWwuc3RyaW5nID0nbHRnICsgJztcblx0XHRpdGVtLmFkZENoaWxkKGxhYmVsTm9kZSk7XG5cdFx0bGFiZWxOb2RlLnkgPSAtdGhpcy5faXRlbUxlbiAqIDAuNDtcblx0XHRsYWJlbC5mb250U2l6ZSA9IDE2O1xuXHRcdGxhYmVsLnZlcnRpY2FsQWxpZ24gPSBjYy5MYWJlbC5WZXJ0aWNhbEFsaWduLkNFTlRFUjtcblxuXHRcdGlmICghdGhpcy5fbGFiZWxGb250KSB7XG5cblx0XHRcdGNvbnN0IGZvbnRMYWJlbCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnZm9udCcpLmdldENvbXBvbmVudChjYy5MYWJlbCk7XG5cdFx0XHR0aGlzLl9sYWJlbEZvbnQgPSBmb250TGFiZWwuZm9udDtcblx0XHR9XG5cblx0XHRsYWJlbC5mb250ID0gdGhpcy5fbGFiZWxGb250O1xuXHRcdGxhYmVsLl9mb3JjZVVwZGF0ZVJlbmRlckRhdGEodHJ1ZSlcblx0XHRpZiAobGFiZWxOb2RlLndpZHRoID4gdGhpcy5faXRlbUxlbikge1xuXHRcdFx0aXRlbS53aWR0aCA9IGxhYmVsTm9kZS53aWR0aDtcblx0XHR9XG5cblx0fSxcblxuXHRfYWRkSXRlbUF1ZGlvKGl0ZW0sIHVybCkge1xuXHRcdGlmICghdXJsKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLCAoZXJyLCBhdWRpb0NsaXApID0+IHtcblx0XHRcdGl0ZW0uYXVkaW9DbGlwID0gYXVkaW9DbGlwO1xuXHRcdFx0dGhpcy5fYWRkSXRlbUxpc3RlbmVyKGl0ZW0pO1xuXHRcdH0pO1xuXHR9LFxuXG5cdF9hZGRJdGVtTGlzdGVuZXIoaXRlbSkge1xuXHRcdGl0ZW0uYWRkQ29tcG9uZW50KGNjLkJ1dHRvbik7XG5cdFx0aXRlbS5vbignY2xpY2snLCAoKSA9PiB7XG5cdFx0XHRpZiAoaXRlbS5hdWRpb0NsaXApIHtcblx0XHRcdFx0Y2MuYXVkaW9FbmdpbmUuc3RvcEFsbEVmZmVjdHMoKTtcblx0XHRcdFx0Y2MuYXVkaW9FbmdpbmUucGxheUVmZmVjdChpdGVtLmF1ZGlvQ2xpcCwgZmFsc2UsIDAuNSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0sXG5cblx0X3JlZnJlc2hQYWdlKCkge1xuXG5cdFx0dGhpcy5faXRlbUxheWVyLnJlbW92ZUFsbENoaWxkcmVuKCk7XG5cblx0XHRjb25zdCBkYXRhQXJyID0gdGhpcy5fZGF0YUFycjtcblx0XHRjb25zdCBkaXNXID0gdGhpcy5fZGlzVztcblx0XHRjb25zdCBzdGFydEluZGV4ID0gdGhpcy5fcGFnZUluZGV4ICogdGhpcy5fbGluZU1heENvdW50O1xuXG5cdFx0Ly8gY29uc3Qgc2hvd0FyciA9IGRhdGFBcnIuc2xpY2Uoc3RhcnRJbmRleCwgc3RhcnRJbmRleCArIHRoaXMuX2xpbmVNYXhDb3VudCk7XG5cdFx0Y29uc3Qgc2hvd0FyciA9IHRoaXMuX3BhZ2VBcnJbdGhpcy5fcGFnZUluZGV4XTtcblx0XHRsZXQgYmFzZVggPSB0aGlzLl9nZXRDdXJQYWdlQmFzZVgoKTtcblxuXG5cdFx0Ly8gY29uc3QgYmFzZVggPSAtKGRpc1cgKyB0aGlzLl9pdGVtTGVuKSAqIChzaG93QXJyLmxlbmd0aCAtIDEpIC8gMjtcblx0XHRjb25zdCBiYXNlWSA9IC0yNTtcblxuXHRcdHNob3dBcnIuZm9yRWFjaCgoZWwsIGkpID0+IHtcblx0XHRcdGNvbnN0IGl0ZW0gPSB0aGlzLl9hZGRPbmVJdGVtKGVsLmRhdGEpO1xuXHRcdFx0dGhpcy5faXRlbUxheWVyLmFkZENoaWxkKGl0ZW0pO1xuXHRcdFx0aXRlbS54ID0gYmFzZVggKyAoZGlzVyArIGl0ZW0ud2lkdGgpIC8gMlxuXHRcdFx0aXRlbS55ID0gYmFzZVk7XG5cblx0XHRcdGJhc2VYID0gaXRlbS54ICsgKGRpc1cgKyBpdGVtLndpZHRoKSAvIDI7XG5cdFx0fSk7XG5cblx0XHR0aGlzLl9zZXRQYWdlQnRuU3RhdGUoKTtcblxuXHR9LFxuXG5cdF9nZXRDdXJQYWdlQmFzZVgoKSB7XG5cdFx0Y29uc3QgYXJyID0gdGhpcy5fcGFnZUFyclt0aGlzLl9wYWdlSW5kZXhdO1xuXHRcdGNvbnNvbGUubG9nKCdhcnI6ICcsIGFycik7XG5cdFx0bGV0IGN1ckxlbiA9IHRoaXMuX2Rpc1c7XG5cdFx0Zm9yIChsZXQgaT0wOyBpPGFyci5sZW5ndGg7IGkrKykge1xuXHRcdFx0Y3VyTGVuICs9IChhcnJbaV0ud2lkdGggKyB0aGlzLl9kaXNXKVxuXHRcdH1cblx0XHRyZXR1cm4gLWN1ckxlbiAvIDI7XG5cdH0sXG5cdC8vIHVwZGF0ZSAoZHQpIHt9LFxufSk7XG4iXX0=
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -10,7 +10,7 @@
};
function __define (exports, require, module) {
if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
cc._RF.push(module, '5ac8b17OKNJaawviu75DIhe', 'util');
cc._RF.push(module, '6b3c5wY9AlOIYrACoB1uQ1B', 'util');
// cc_mz_004/script/util.js
"use strict";
......
require('./assets/cc_mz_004/prefab/bgBottom');
require('./assets/cc_mz_004/prefab/bgBottom_cc_mz_004');
require('./assets/cc_mz_004/scene/cc_mz_004');
require('./assets/cc_mz_004/script/util');
"use strict";
cc._RF.push(module, 'ff0e9h++NlKOLbC+Bu/RH2+', 'bgBottom');
// cc_mz_004/prefab/bgBottom.js
"use strict";
var _util = require("../script/util");
// Learn cc.Class:
// - https://docs.cocos.com/creator/manual/en/scripting/class.html
// Learn Attribute:
// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
cc.Class({
"extends": cc.Component,
properties: {},
// LIFE-CYCLE CALLBACKS:
_canTouch: null,
_isTop: null,
_arrowUp: null,
_arrowDown: null,
_pageIndex: null,
_maxPage: null,
_lineMaxCount: null,
_disW: null,
_maxW: null,
onLoad: function onLoad() {
this._canTouch = true;
this._isTop = false;
this._arrowUp = this.node.getChildByName('arrowUp');
this._arrowDown = this.node.getChildByName('arrowDown');
this.node.zIndex = 10;
this._itemLen = 75;
this._pageIndex = 0;
this._maxPage = 0;
this._disW = 5;
this._maxW = 1280 - 90;
this._lineMaxCount = Math.floor(this._maxW / (this._disW + this._itemLen));
},
start: function start() {
this._initListener();
this._initItemLayer();
},
_itemLayer: null,
_initItemLayer: function _initItemLayer() {
this._itemLayer = new cc.Node();
this.node.addChild(this._itemLayer);
},
_initListener: function _initListener() {
this._initTopBtnListener();
this._initPageBtnListener();
},
_initTopBtnListener: function _initTopBtnListener() {
var _this = this;
var btn = this.node.getChildByName('btn');
btn.on('click', function () {
if (!_this._canTouch) {
return;
}
_this._canTouch = false;
var moveLen = 80 * _this.node.scaleY;
var time = 0.5;
var targetY = moveLen;
if (_this._isTop) {
targetY = -moveLen;
}
cc.tween(_this.node).by(time, {
y: targetY
}).call(function () {
_this._canTouch = true;
}).start();
_this._setTopBtnState(time);
_this._isTop = !_this._isTop;
});
},
_pageUpBtn: null,
_pageDownBtn: null,
_initPageBtnListener: function _initPageBtnListener() {
var _this2 = this;
var pageUp = this.node.getChildByName('pageUp');
pageUp.on('click', function () {
if (!_this2._canTouch) {
return;
}
if (_this2._pageIndex <= 0) {
return;
}
_this2._pageIndex--;
_this2._refreshPage();
_this2._showBtnAnima(pageUp);
});
this._pageUpBtn = pageUp;
var pageDown = this.node.getChildByName('pageDown');
pageDown.on('click', function () {
if (!_this2._canTouch) {
return;
}
if (_this2._pageIndex >= _this2._maxPage - 1) {
return;
}
_this2._pageIndex++;
_this2._refreshPage();
_this2._showBtnAnima(pageDown);
});
this._pageDownBtn = pageDown;
},
_showBtnAnima: function _showBtnAnima(btn) {
cc.tween(btn).to(0.08, {
scale: 1.3
}, {
easing: 'sineOut'
}).to(0.08, {
scale: 1
}, {
easing: 'sineOut'
}).start();
},
_setPageBtnState: function _setPageBtnState() {
if (this._maxPage == 0) {
this._pageUpBtn.active = this._pageDownBtn.active = false;
return;
}
if (this._pageIndex == 0) {
this._pageUpBtn.opacity = 100;
} else {
this._pageUpBtn.opacity = 255;
}
if (this._pageIndex == this._maxPage - 1) {
this._pageDownBtn.opacity = 100;
} else {
this._pageDownBtn.opacity = 255;
}
},
_setTopBtnState: function _setTopBtnState(time) {
var arrow1, arrow2;
if (this._isTop) {
arrow1 = this._arrowDown;
arrow2 = this._arrowUp;
} else {
arrow1 = this._arrowUp;
arrow2 = this._arrowDown;
}
arrow1.scale = 1;
arrow2.scale = 0;
cc.tween(arrow1).to(time / 2, {
scale: 0
}, {
easing: 'cubicOut'
}).start();
cc.tween(arrow2).delay(time / 2).to(time / 2, {
scale: 1
}, {
easing: 'cubicOut'
}).start();
},
_dataArr: null,
setItemData: function setItemData(dataArr) {
console.log(' in setItemData', dataArr);
if (!dataArr || dataArr.length == 0) {
return;
}
this._dataArr = dataArr; // this._maxPage = Math.ceil(dataArr.length / this._lineMaxCount) - 1;
this._initPageArr();
this._pageIndex = 0;
this._refreshPage();
},
_pageArr: null,
_initPageArr: function _initPageArr() {
var tmpArr = [];
this._pageArr = [tmpArr];
var curLen = this._disW;
for (var i = 0; i < this._dataArr.length; i++) {
var item = this._addOneItem(this._dataArr[i]);
curLen += item.width + this._disW;
if (curLen > this._maxW) {
tmpArr = [item];
this._pageArr.push(tmpArr);
curLen = this._disW + item.width + this._disW;
} else {
tmpArr.push(item);
}
}
this._maxPage = this._pageArr.length;
console.log('this._maxPage: ', this._maxPage);
},
_itemLen: null,
_addOneItem: function _addOneItem(data) {
var item = new cc.Node();
item.width = this._itemLen;
item.height = this._itemLen; // const rect = item.addComponent(cc.Graphics);
// rect.fillColor = cc.Color.BLACK.setA(100);
// rect.fillRect(-this._itemLen / 2, -this._itemLen / 2, this._itemLen, this._itemLen);
// rect.fill();
this._addItemPic(item, data.pic_url);
this._addItemLabel(item, data.text);
this._addItemAudio(item, data.audio_url);
item.data = data;
return item;
},
_addItemPic: function _addItemPic(item, url) {
var _this3 = this;
if (!url) {
return;
}
var imgLen = this._itemLen * 0.8;
cc.assetManager.loadRemote(url, function (err, texture) {
var sprNode = new cc.Node();
item.addChild(sprNode);
sprNode.width = texture.width;
sprNode.height = texture.height;
sprNode.y = (_this3._itemLen - imgLen) / 2;
(0, _util.setSprNodeMaxLen)(sprNode, imgLen, imgLen);
var sf = new cc.SpriteFrame(texture);
sprNode.addComponent(cc.Sprite).spriteFrame = sf;
});
},
_labelFont: null,
_addItemLabel: function _addItemLabel(item, text) {
if (!text) {
return;
}
var labelNode = new cc.Node();
labelNode.color = cc.Color.BLACK;
var label = labelNode.addComponent(cc.Label);
label.string = text; // label.string ='ltg + ';
item.addChild(labelNode);
labelNode.y = -this._itemLen * 0.4;
label.fontSize = 16;
label.verticalAlign = cc.Label.VerticalAlign.CENTER;
if (!this._labelFont) {
var fontLabel = this.node.getChildByName('font').getComponent(cc.Label);
this._labelFont = fontLabel.font;
}
label.font = this._labelFont;
label._forceUpdateRenderData(true);
if (labelNode.width > this._itemLen) {
item.width = labelNode.width;
}
},
_addItemAudio: function _addItemAudio(item, url) {
var _this4 = this;
if (!url) {
return;
}
cc.assetManager.loadRemote(url, function (err, audioClip) {
item.audioClip = audioClip;
_this4._addItemListener(item);
});
},
_addItemListener: function _addItemListener(item) {
item.addComponent(cc.Button);
item.on('click', function () {
if (item.audioClip) {
cc.audioEngine.stopAllEffects();
cc.audioEngine.playEffect(item.audioClip, false, 0.5);
}
});
},
_refreshPage: function _refreshPage() {
var _this5 = this;
this._itemLayer.removeAllChildren();
var dataArr = this._dataArr;
var disW = this._disW;
var startIndex = this._pageIndex * this._lineMaxCount; // const showArr = dataArr.slice(startIndex, startIndex + this._lineMaxCount);
var showArr = this._pageArr[this._pageIndex];
var baseX = this._getCurPageBaseX(); // const baseX = -(disW + this._itemLen) * (showArr.length - 1) / 2;
var baseY = -25;
showArr.forEach(function (el, i) {
var item = _this5._addOneItem(el.data);
_this5._itemLayer.addChild(item);
item.x = baseX + (disW + item.width) / 2;
item.y = baseY;
baseX = item.x + (disW + item.width) / 2;
});
this._setPageBtnState();
},
_getCurPageBaseX: function _getCurPageBaseX() {
var arr = this._pageArr[this._pageIndex];
console.log('arr: ', arr);
var curLen = this._disW;
for (var i = 0; i < arr.length; i++) {
curLen += arr[i].width + this._disW;
}
return -curLen / 2;
} // update (dt) {},
});
cc._RF.pop();
\ No newline at end of file
{"version":3,"sources":["assets/cc_mz_004/prefab/bgBottom.js"],"names":["cc","Class","Component","properties","_canTouch","_isTop","_arrowUp","_arrowDown","_pageIndex","_maxPage","_lineMaxCount","_disW","_maxW","onLoad","node","getChildByName","zIndex","_itemLen","Math","floor","start","_initListener","_initItemLayer","_itemLayer","Node","addChild","_initTopBtnListener","_initPageBtnListener","btn","on","moveLen","scaleY","time","targetY","tween","by","y","call","_setTopBtnState","_pageUpBtn","_pageDownBtn","pageUp","_refreshPage","_showBtnAnima","pageDown","to","scale","easing","_setPageBtnState","active","opacity","arrow1","arrow2","delay","_dataArr","setItemData","dataArr","console","log","length","_initPageArr","_pageArr","tmpArr","curLen","i","item","_addOneItem","width","push","data","height","_addItemPic","pic_url","_addItemLabel","text","_addItemAudio","audio_url","url","imgLen","assetManager","loadRemote","err","texture","sprNode","sf","SpriteFrame","addComponent","Sprite","spriteFrame","_labelFont","labelNode","color","Color","BLACK","label","Label","string","fontSize","verticalAlign","VerticalAlign","CENTER","fontLabel","getComponent","font","_forceUpdateRenderData","audioClip","_addItemListener","Button","audioEngine","stopAllEffects","playEffect","removeAllChildren","disW","startIndex","showArr","baseX","_getCurPageBaseX","baseY","forEach","el","x","arr"],"mappings":"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","sourceRoot":"/","sourcesContent":["// Learn cc.Class:\n// - https://docs.cocos.com/creator/manual/en/scripting/class.html\n// Learn Attribute:\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\n// Learn life-cycle callbacks:\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\n\nimport {loadImage, setSprNodeMaxLen} from \"../script/util\";\n\ncc.Class({\n\textends: cc.Component,\n\n\tproperties: {},\n\n\t// LIFE-CYCLE CALLBACKS:\n\n\t_canTouch: null,\n\t_isTop: null,\n\t_arrowUp: null,\n\t_arrowDown: null,\n\t_pageIndex: null,\n\t_maxPage: null,\n\t_lineMaxCount: null,\n\t_disW: null,\n\t_maxW: null,\n\tonLoad() {\n\t\tthis._canTouch = true;\n\t\tthis._isTop = false;\n\n\t\tthis._arrowUp = this.node.getChildByName('arrowUp');\n\t\tthis._arrowDown = this.node.getChildByName('arrowDown');\n\n\t\tthis.node.zIndex = 10;\n\t\tthis._itemLen = 75;\n\t\tthis._pageIndex = 0;\n\t\tthis._maxPage = 0;\n\n\t\tthis._disW = 5;\n\t\tthis._maxW = 1280 - 90;\n\t\tthis._lineMaxCount = Math.floor(this._maxW / (this._disW + this._itemLen));\n\n\t},\n\n\tstart() {\n\n\t\tthis._initListener();\n\t\tthis._initItemLayer();\n\t},\n\n\t_itemLayer: null,\n\t_initItemLayer() {\n\t\tthis._itemLayer = new cc.Node();\n\t\tthis.node.addChild(this._itemLayer);\n\t},\n\n\t_initListener() {\n\n\t\tthis._initTopBtnListener();\n\t\tthis._initPageBtnListener();\n\t},\n\n\t_initTopBtnListener() {\n\t\tconst btn = this.node.getChildByName('btn');\n\t\tbtn.on('click', () => {\n\t\t\tif (!this._canTouch) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._canTouch = false;\n\n\t\t\tconst moveLen = 80 * this.node.scaleY;\n\t\t\tconst time = 0.5;\n\n\t\t\tlet targetY = moveLen;\n\t\t\tif (this._isTop) {\n\t\t\t\ttargetY = -moveLen;\n\t\t\t}\n\t\t\tcc.tween(this.node)\n\t\t\t\t.by(time, {y: targetY})\n\t\t\t\t.call(() => {\n\t\t\t\t\tthis._canTouch = true;\n\t\t\t\t})\n\t\t\t\t.start()\n\n\t\t\tthis._setTopBtnState(time);\n\t\t\tthis._isTop = !this._isTop;\n\n\t\t});\n\t},\n\n\t_pageUpBtn: null,\n\t_pageDownBtn: null,\n\t_initPageBtnListener() {\n\t\tconst pageUp = this.node.getChildByName('pageUp');\n\t\tpageUp.on('click', () => {\n\t\t\tif (!this._canTouch) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this._pageIndex <= 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._pageIndex--;\n\t\t\tthis._refreshPage();\n\t\t\tthis._showBtnAnima(pageUp);\n\t\t});\n\t\tthis._pageUpBtn = pageUp;\n\n\n\t\tconst pageDown = this.node.getChildByName('pageDown');\n\t\tpageDown.on('click', () => {\n\t\t\tif (!this._canTouch) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this._pageIndex >= this._maxPage - 1) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._pageIndex++;\n\t\t\tthis._refreshPage();\n\t\t\tthis._showBtnAnima(pageDown);\n\t\t});\n\t\tthis._pageDownBtn = pageDown;\n\n\t},\n\n\t_showBtnAnima(btn) {\n\t\tcc.tween(btn)\n\t\t\t.to(0.08, {scale: 1.3}, {easing: 'sineOut'})\n\t\t\t.to(0.08, {scale: 1}, {easing: 'sineOut'})\n\t\t\t.start();\n\t},\n\n\t_setPageBtnState() {\n\t\tif (this._maxPage == 0) {\n\t\t\tthis._pageUpBtn.active = this._pageDownBtn.active = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._pageIndex == 0) {\n\t\t\tthis._pageUpBtn.opacity = 100;\n\t\t} else {\n\t\t\tthis._pageUpBtn.opacity = 255;\n\t\t}\n\n\t\tif (this._pageIndex == this._maxPage - 1) {\n\t\t\tthis._pageDownBtn.opacity = 100;\n\t\t} else {\n\t\t\tthis._pageDownBtn.opacity = 255;\n\t\t}\n\t},\n\n\t_setTopBtnState(time) {\n\n\t\tlet arrow1, arrow2;\n\t\tif (this._isTop) {\n\t\t\tarrow1 = this._arrowDown;\n\t\t\tarrow2 = this._arrowUp;\n\t\t} else {\n\t\t\tarrow1 = this._arrowUp;\n\t\t\tarrow2 = this._arrowDown;\n\t\t}\n\n\t\tarrow1.scale = 1;\n\t\tarrow2.scale = 0;\n\n\t\tcc.tween(arrow1)\n\t\t\t.to(time / 2, { scale: 0 }, {easing: 'cubicOut'})\n\t\t\t.start()\n\n\t\tcc.tween(arrow2)\n\t\t\t.delay(time / 2)\n\t\t\t.to(time / 2, {scale: 1}, {easing: 'cubicOut'})\n\t\t\t.start();\n\n\n\t},\n\n\n\t_dataArr: null,\n\tsetItemData(dataArr) {\n\n\t\tconsole.log(' in setItemData', dataArr);\n\n\t\tif (!dataArr || dataArr.length == 0) {\n\t\t\treturn;\n\t\t}\n\t\tthis._dataArr = dataArr;\n\t\t// this._maxPage = Math.ceil(dataArr.length / this._lineMaxCount) - 1;\n\n\t\tthis._initPageArr();\n\n\t\tthis._pageIndex = 0;\n\t\tthis._refreshPage();\n\t},\n\n\t_pageArr: null,\n\t_initPageArr() {\n\n\t\tlet tmpArr = [];\n\t\tthis._pageArr = [tmpArr];\n\t\tlet curLen = this._disW;\n\t\tfor (let i=0; i<this._dataArr.length; i++) {\n\n\t\t\tconst item = this._addOneItem(this._dataArr[i]);\n\t\t\tcurLen += item.width + this._disW;\n\t\t\tif (curLen > this._maxW) {\n\t\t\t\ttmpArr = [item];\n\t\t\t\tthis._pageArr.push(tmpArr);\n\t\t\t\tcurLen = this._disW + item.width + this._disW;\n\t\t\t} else {\n\t\t\t\ttmpArr.push(item);\n\t\t\t}\n\t\t}\n\t\tthis._maxPage = this._pageArr.length;\n\t\tconsole.log('this._maxPage: ', this._maxPage);\n\t},\n\n\n\t_itemLen: null,\n\t_addOneItem(data) {\n\n\t\tconst item = new cc.Node();\n\t\titem.width = this._itemLen;\n\t\titem.height = this._itemLen;\n\t\t// const rect = item.addComponent(cc.Graphics);\n\t\t// rect.fillColor = cc.Color.BLACK.setA(100);\n\t\t// rect.fillRect(-this._itemLen / 2, -this._itemLen / 2, this._itemLen, this._itemLen);\n\t\t// rect.fill();\n\n\t\tthis._addItemPic(item, data.pic_url);\n\t\tthis._addItemLabel(item, data.text);\n\t\tthis._addItemAudio(item, data.audio_url);\n\n\t\titem.data = data;\n\t\treturn item;\n\t},\n\n\t_addItemPic(item, url) {\n\t\tif (!url) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imgLen = this._itemLen * 0.8;\n\t\tcc.assetManager.loadRemote(url, (err, texture) => {\n\n\t\t\tconst sprNode = new cc.Node();\n\t\t\titem.addChild(sprNode);\n\t\t\tsprNode.width = texture.width;\n\t\t\tsprNode.height = texture.height;\n\t\t\tsprNode.y = (this._itemLen - imgLen) / 2;\n\t\t\tsetSprNodeMaxLen(sprNode, imgLen, imgLen);\n\n\t\t\tconst sf = new cc.SpriteFrame(texture);\n\t\t\tsprNode.addComponent(cc.Sprite).spriteFrame = sf;\n\t\t});\n\t},\n\n\t_labelFont: null,\n\t_addItemLabel(item, text) {\n\t\tif (!text) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst labelNode = new cc.Node();\n\t\tlabelNode.color = cc.Color.BLACK;\n\n\t\tconst label = labelNode.addComponent(cc.Label);\n\t\tlabel.string = text;\n\t\t// label.string ='ltg + ';\n\t\titem.addChild(labelNode);\n\t\tlabelNode.y = -this._itemLen * 0.4;\n\t\tlabel.fontSize = 16;\n\t\tlabel.verticalAlign = cc.Label.VerticalAlign.CENTER;\n\n\t\tif (!this._labelFont) {\n\n\t\t\tconst fontLabel = this.node.getChildByName('font').getComponent(cc.Label);\n\t\t\tthis._labelFont = fontLabel.font;\n\t\t}\n\n\t\tlabel.font = this._labelFont;\n\t\tlabel._forceUpdateRenderData(true)\n\t\tif (labelNode.width > this._itemLen) {\n\t\t\titem.width = labelNode.width;\n\t\t}\n\n\t},\n\n\t_addItemAudio(item, url) {\n\t\tif (!url) {\n\t\t\treturn;\n\t\t}\n\n\t\tcc.assetManager.loadRemote(url, (err, audioClip) => {\n\t\t\titem.audioClip = audioClip;\n\t\t\tthis._addItemListener(item);\n\t\t});\n\t},\n\n\t_addItemListener(item) {\n\t\titem.addComponent(cc.Button);\n\t\titem.on('click', () => {\n\t\t\tif (item.audioClip) {\n\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\tcc.audioEngine.playEffect(item.audioClip, false, 0.5);\n\t\t\t}\n\t\t});\n\t},\n\n\t_refreshPage() {\n\n\t\tthis._itemLayer.removeAllChildren();\n\n\t\tconst dataArr = this._dataArr;\n\t\tconst disW = this._disW;\n\t\tconst startIndex = this._pageIndex * this._lineMaxCount;\n\n\t\t// const showArr = dataArr.slice(startIndex, startIndex + this._lineMaxCount);\n\t\tconst showArr = this._pageArr[this._pageIndex];\n\t\tlet baseX = this._getCurPageBaseX();\n\n\n\t\t// const baseX = -(disW + this._itemLen) * (showArr.length - 1) / 2;\n\t\tconst baseY = -25;\n\n\t\tshowArr.forEach((el, i) => {\n\t\t\tconst item = this._addOneItem(el.data);\n\t\t\tthis._itemLayer.addChild(item);\n\t\t\titem.x = baseX + (disW + item.width) / 2\n\t\t\titem.y = baseY;\n\n\t\t\tbaseX = item.x + (disW + item.width) / 2;\n\t\t});\n\n\t\tthis._setPageBtnState();\n\n\t},\n\n\t_getCurPageBaseX() {\n\t\tconst arr = this._pageArr[this._pageIndex];\n\t\tconsole.log('arr: ', arr);\n\t\tlet curLen = this._disW;\n\t\tfor (let i=0; i<arr.length; i++) {\n\t\t\tcurLen += (arr[i].width + this._disW)\n\t\t}\n\t\treturn -curLen / 2;\n\t},\n\t// update (dt) {},\n});\n"]}
\ No newline at end of file
......@@ -226,6 +226,10 @@ cc.Class({
this.initMusic();
},
initMusic: function initMusic() {
if (!this.data.bg_audio_url) {
return;
}
cc.assetManager.loadRemote(this.data.bg_audio_url, function (err, clip) {
cc.audioEngine.setMusicVolume(0.3);
var audioID = cc.audioEngine.playMusic(clip, true);
......@@ -351,7 +355,7 @@ cc.Class({
},
initBottomPart: function initBottomPart() {
var bgBottom = cc.find('Canvas/bgBottom');
var script = bgBottom.getComponent('bgBottom');
var script = bgBottom.getComponent('bgBottom_cc_mz_004');
var picArr = [];
this.data.hotZoneItemArr.forEach(function (item) {
if (item.gIdx == '0') {
......@@ -657,7 +661,8 @@ cc.Class({
}, {
easing: 'cubicOut'
}).start();
} // update (dt) {},
},
onDestroy: function onDestroy() {} // update (dt) {},
});
......
{"version":3,"sources":["assets/cc_mz_004/scene/cc_mz_004.js"],"names":["cc","Class","Component","properties","baseWidth","type","Integer","baseHeight","onLoad","debug","setDisplayStats","initSceneData","initSize","_imageResList","_audioResList","_animaResList","_designSize","view","getDesignResolutionSize","start","getData","bind","window","courseware","data","console","log","getDefaultData","preloadItem","addPreloadImage","addPreloadAudio","addPreloadAnima","preload","func","dataJson","data1","JSON","parse","bgItem","rect","height","width","x","y","url","hotZoneItemArr","id","imgScale","index","itemType","mapScale","skeJsonData","name","texJsonData","texPngData","picArr","audio_url","pic_url","text","concat","preloadArr","assetManager","loadAny","err","loadEnd","hideAirClassLoading","push","forEach","item","bg_audio_url","initView","initBg","initHotZone","initBottomPart","initCircle","initListener","initMusic","loadRemote","clip","audioEngine","setMusicVolume","audioID","playMusic","_cocosScale","frameSize","getFrameSize","sx","winSize","sy","s","Math","min","bgNode","find","scale","max","anchorX","anchorY","bg","rectNode","Node","scaleX","scaleY","addChild","ctx","addComponent","Graphics","fillColor","bgColor","fillRect","fill","initHotZoneBg","hotZoneBg","parent","zIndex","canvas","loader","load","img","addMask","box","getBoundingBox","tmpS","subNum","getVisibleSize","mapS","bgBottom","sprNode","sf","SpriteFrame","spr","Sprite","spriteFrame","bgWhite","shadowNode","Color","BLACK","setA","gIdx","setOneCircle","setOnePic","setOneAnima","node","mask","Mask","Type","RECT","script","getComponent","setItemData","rate","lineWidth","strokeColor","WHITE","isShowDebugLine","stroke","animaNode","audioClip","dragonDisplay","dragonBones","ArmatureDisplay","image","ske","atlas","error","texture","atlasJson","dragonBonesJson","DragonBonesAtlasAsset","asset","DragonBonesAsset","dragonAtlasAsset","dragonAsset","json","armatures","armatureNames","i","length","defaultArmatureName","armatureName","defaultArmature","animations","animation","animationNames","Button","on","isClicked","stopAllEffects","playEffect","playAnimation","picNode","addPicAudio","showCircle","showAnima","_circle","active","itemNode","hideCircle","pos","opacity","tween","to","easing"],"mappings":";;;;;;AAOA;;AAPA;AACA;AACA;AACA;AACA;AACA;AAIAA,EAAE,CAACC,KAAH,CAAS;AACR,aAASD,EAAE,CAACE,SADJ;AAGRC,EAAAA,UAAU,EAAE;AACXC,IAAAA,SAAS,EAAE;AACV,iBAAS,IADC;AAEVC,MAAAA,IAAI,EAAEL,EAAE,CAACM;AAFC,KADA;AAKXC,IAAAA,UAAU,EAAE;AACX,iBAAS,GADE;AAEXF,MAAAA,IAAI,EAAEL,EAAE,CAACM;AAFE,KALD,CASX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAvBW,GAHJ;AA6BR;AAEA;AACA;AAEAE,EAAAA,MAlCQ,oBAkCC;AACRR,IAAAA,EAAE,CAACS,KAAH,CAASC,eAAT,CAAyB,KAAzB;AACA,SAAKC,aAAL;AACA,SAAKC,QAAL;AACA,GAtCO;AAwCRD,EAAAA,aAxCQ,2BAwCQ;AACf,SAAKE,aAAL,GAAqB,EAArB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,GA5CO;AA8CRC,EAAAA,WAAW,EAAE,IA9CL;AA+CRJ,EAAAA,QA/CQ,sBA+CG;AACV,SAAKI,WAAL,GAAmBhB,EAAE,CAACiB,IAAH,CAAQC,uBAAR,EAAnB;AAEA,GAlDO;AAoDRC,EAAAA,KApDQ,mBAoDA;AAAA;;AACP,QAAIC,OAAO,GAAG,KAAKA,OAAL,CAAaC,IAAb,CAAkB,IAAlB,CAAd;;AACA,QAAIC,MAAM,IAAIA,MAAM,CAACC,UAArB,EAAiC;AAChC;AACAH,MAAAA,OAAO,GAAGE,MAAM,CAACC,UAAP,CAAkBH,OAA5B;AACA;;AACDA,IAAAA,OAAO,CAAC,UAACI,IAAD,EAAU;AACjBC,MAAAA,OAAO,CAACC,GAAR,CAAY,OAAZ,EAAqBF,IAArB;AACA,MAAA,KAAI,CAACA,IAAL,GAAYA,IAAI,IAAI,KAAI,CAACG,cAAL,EAApB;;AACA,MAAA,KAAI,CAACC,WAAL;AACA,KAJM,CAAP;AAKA,GA/DO;AAkERf,EAAAA,aAAa,EAAE,IAlEP;AAmERC,EAAAA,aAAa,EAAE,IAnEP;AAoERC,EAAAA,aAAa,EAAE,IApEP;AAqERa,EAAAA,WArEQ,yBAqEM;AACb,SAAKC,eAAL;AACA,SAAKC,eAAL;AACA,SAAKC,eAAL;AACA,SAAKC,OAAL;AACA,GA1EO;AA4ERZ,EAAAA,OA5EQ,mBA4EAa,IA5EA,EA4EM;AACbA,IAAAA,IAAI,CAAC,KAAKN,cAAL,EAAD,CAAJ;AACA,GA9EO;AAgFRA,EAAAA,cAhFQ,4BAgFS;AAEhB,QAAMO,QAAQ,GAAG,w/DAAjB;AACA,QAAMC,KAAK,GAAGC,IAAI,CAACC,KAAL,CAAWH,QAAX,CAAd;AACA,WAAOC,KAAP;AAEA,QAAMX,IAAI,GAAG;AACZc,MAAAA,MAAM,EAAE;AACPC,QAAAA,IAAI,EAAE;AACLC,UAAAA,MAAM,EAAE,GADH;AAELC,UAAAA,KAAK,EAAE,MAFF;AAGLC,UAAAA,CAAC,EAAE,MAHE;AAILC,UAAAA,CAAC,EAAE;AAJE,SADC;AAOP;AACAC,QAAAA,GAAG,EAAE;AARE,OADI;AAWZC,MAAAA,cAAc,EAAE,CACf;AACCC,QAAAA,EAAE,EAAE,aADL;AAECC,QAAAA,QAAQ,EAAE,CAFX;AAGCC,QAAAA,KAAK,EAAE,CAHR;AAICC,QAAAA,QAAQ,EAAE,MAJX;AAKCC,QAAAA,QAAQ,EAAE,QALX;AAMCX,QAAAA,IAAI,EAAE;AACLC,UAAAA,MAAM,EAAE,MADH;AAELC,UAAAA,KAAK,EAAE,MAFF;AAGLC,UAAAA,CAAC,EAAE,MAHE;AAILC,UAAAA,CAAC,EAAE;AAJE,SANP;AAYCQ,QAAAA,WAAW,EAAE;AACZC,UAAAA,IAAI,EAAE,kBADM;AAEZR,UAAAA,GAAG,EAAE;AAFO,SAZd;AAgBCS,QAAAA,WAAW,EAAE;AACZD,UAAAA,IAAI,EAAE,kBADM;AAEZR,UAAAA,GAAG,EAAE;AAFO,SAhBd;AAoBCU,QAAAA,UAAU,EAAE;AACXF,UAAAA,IAAI,EAAE,iBADK;AAEXR,UAAAA,GAAG,EAAE;AAFM;AApBb,OADe,CAXJ;AAuCZW,MAAAA,MAAM,EAAE,CACP;AACCC,QAAAA,SAAS,EAAE,4EADZ;AAECC,QAAAA,OAAO,EAAE,4EAFV;AAGCC,QAAAA,IAAI,EAAE;AAHP,OADO;AAvCI,KAAb;AAgDAlC,IAAAA,IAAI,CAAC+B,MAAL,GAAc/B,IAAI,CAAC+B,MAAL,CAAYI,MAAZ,CAAmBnC,IAAI,CAAC+B,MAAxB,CAAd;AACA/B,IAAAA,IAAI,CAAC+B,MAAL,GAAc/B,IAAI,CAAC+B,MAAL,CAAYI,MAAZ,CAAmBnC,IAAI,CAAC+B,MAAxB,CAAd;AACA/B,IAAAA,IAAI,CAAC+B,MAAL,GAAc/B,IAAI,CAAC+B,MAAL,CAAYI,MAAZ,CAAmBnC,IAAI,CAAC+B,MAAxB,CAAd;AACA/B,IAAAA,IAAI,CAAC+B,MAAL,GAAc/B,IAAI,CAAC+B,MAAL,CAAYI,MAAZ,CAAmBnC,IAAI,CAAC+B,MAAxB,CAAd;AACA/B,IAAAA,IAAI,CAAC+B,MAAL,GAAc/B,IAAI,CAAC+B,MAAL,CAAYI,MAAZ,CAAmBnC,IAAI,CAAC+B,MAAxB,CAAd;AACA,WAAO/B,IAAP;AACA,GA5IO;AA8IRQ,EAAAA,OA9IQ,qBA8IE;AAAA;;AAET,QAAM4B,UAAU,GAAG,KAAK/C,aAAL,CAAmB8C,MAAnB,CAA0B,KAAK7C,aAA/B,EAA8C6C,MAA9C,CAAqD,KAAK5C,aAA1D,CAAnB;;AACAf,IAAAA,EAAE,CAAC6D,YAAH,CAAgBC,OAAhB,CAAwBF,UAAxB,EAAoC,IAApC,EAA0C,IAA1C,EAAgD,UAACG,GAAD,EAAMvC,IAAN,EAAe;AAC9DC,MAAAA,OAAO,CAACC,GAAR,CAAY,iBAAZ,EAA+BF,IAA/B,EAD8D,CAG9D;;AACA,MAAA,MAAI,CAACwC,OAAL;;AACA,UAAI1C,MAAM,IAAIA,MAAM,CAAC,KAAD,CAApB,EAA6B;AAC5BA,QAAAA,MAAM,CAAC,KAAD,CAAN,CAAc2C,mBAAd;AACA;AACD,KARD;AASA,GA1JO;AA4JRpC,EAAAA,eA5JQ,6BA4JU;AAAA;;AAEjB,QAAI,KAAKL,IAAL,CAAUc,MAAd,EAAsB;AACrB,WAAKzB,aAAL,CAAmBqD,IAAnB,CAAwB;AAAEtB,QAAAA,GAAG,EAAE,KAAKpB,IAAL,CAAUc,MAAV,CAAiBM;AAAxB,OAAxB;AACA;;AACD,QAAI,CAAC,KAAKpB,IAAL,CAAUqB,cAAf,EAA+B;AAC9B;AACA;;AACD,SAAKrB,IAAL,CAAUqB,cAAV,CAAyBsB,OAAzB,CAAiC,UAACC,IAAD,EAAU;AAC1C,UAAIA,IAAI,CAACX,OAAT,EAAkB;AACjB,QAAA,MAAI,CAAC5C,aAAL,CAAmBqD,IAAnB,CAAwB;AAAEtB,UAAAA,GAAG,EAAEwB,IAAI,CAACX;AAAZ,SAAxB;AACA;AACD,KAJD;AAMA,GA1KO;AA4KR3B,EAAAA,eA5KQ,6BA4KU;AAAA;;AAEjB,QAAI,CAAC,KAAKN,IAAL,CAAUqB,cAAf,EAA+B;AAC9B;AACA;;AACD,SAAKrB,IAAL,CAAUqB,cAAV,CAAyBsB,OAAzB,CAAiC,UAACC,IAAD,EAAU;AAC1C,MAAA,MAAI,CAACtD,aAAL,CAAmBoD,IAAnB,CAAwB;AAACtB,QAAAA,GAAG,EAAEwB,IAAI,CAACZ;AAAX,OAAxB;AACA,KAFD;;AAIA,SAAK1C,aAAL,CAAmBoD,IAAnB,CAAwB;AAACtB,MAAAA,GAAG,EAAE,KAAKpB,IAAL,CAAU6C;AAAhB,KAAxB;AACA,GAtLO;AAwLRtC,EAAAA,eAxLQ,6BAwLU;AAAA;;AACjB,QAAI,CAAC,KAAKP,IAAL,CAAUqB,cAAf,EAA+B;AAC9B;AACA;;AACD,SAAKrB,IAAL,CAAUqB,cAAV,CAAyBsB,OAAzB,CAAiC,UAACC,IAAD,EAAU;AAC1C,UAAIA,IAAI,CAACjB,WAAT,EAAsB;AACrB,QAAA,MAAI,CAACpC,aAAL,CAAmBmD,IAAnB,CAAwB;AAAEtB,UAAAA,GAAG,EAAEwB,IAAI,CAACjB,WAAL,CAAiBP,GAAjB,IAAwB;AAA/B,SAAxB;;AACA,QAAA,MAAI,CAAC7B,aAAL,CAAmBmD,IAAnB,CAAwB;AAAEtB,UAAAA,GAAG,EAAEwB,IAAI,CAACf,WAAL,CAAiBT,GAAjB,IAAwB;AAA/B,SAAxB;;AACA,QAAA,MAAI,CAAC7B,aAAL,CAAmBmD,IAAnB,CAAwB;AAAEtB,UAAAA,GAAG,EAAEwB,IAAI,CAACd,UAAL,CAAgBV,GAAhB,IAAuB;AAA9B,SAAxB;AACA;AACD,KAND;AAOA,GAnMO;AAqMRoB,EAAAA,OArMQ,qBAqME;AACT,SAAKM,QAAL;AACA,GAvMO;AAyMRA,EAAAA,QAzMQ,sBAyMG;AACV,SAAKC,MAAL;AACA,SAAKC,WAAL;AACA,SAAKC,cAAL;AACA,SAAKC,UAAL;AACA,SAAKC,YAAL;AACA,SAAKC,SAAL;AACA,GAhNO;AAmNRA,EAAAA,SAnNQ,uBAmNI;AACX5E,IAAAA,EAAE,CAAC6D,YAAH,CAAgBgB,UAAhB,CAA2B,KAAKrD,IAAL,CAAU6C,YAArC,EAAmD,UAACN,GAAD,EAAMe,IAAN,EAAe;AACjE9E,MAAAA,EAAE,CAAC+E,WAAH,CAAeC,cAAf,CAA8B,GAA9B;AACA,UAAMC,OAAO,GAAGjF,EAAE,CAAC+E,WAAH,CAAeG,SAAf,CAAyBJ,IAAzB,EAA+B,IAA/B,CAAhB;AACA,KAHD;AAIA,GAxNO;AA0NRK,EAAAA,WAAW,EAAE,IA1NL;AA2NRZ,EAAAA,MA3NQ,oBA2NC;AACR,QAAMa,SAAS,GAAGpF,EAAE,CAACiB,IAAH,CAAQoE,YAAR,EAAlB;AAEA,QAAIC,EAAE,GAAGtF,EAAE,CAACuF,OAAH,CAAW9C,KAAX,GAAmB2C,SAAS,CAAC3C,KAAtC;AACA,QAAI+C,EAAE,GAAGxF,EAAE,CAACuF,OAAH,CAAW/C,MAAX,GAAoB4C,SAAS,CAAC5C,MAAvC;AACA,QAAIiD,CAAC,GAAGC,IAAI,CAACC,GAAL,CAASL,EAAT,EAAaE,EAAb,CAAR;AAEA,SAAKL,WAAL,GAAmBM,CAAnB;AAEA,QAAMG,MAAM,GAAG5F,EAAE,CAAC6F,IAAH,CAAQ,WAAR,CAAf,CATQ,CAUR;AACA;;AACCP,IAAAA,EAAE,GAAGF,SAAS,CAAC3C,KAAV,GAAkBmD,MAAM,CAACnD,KAA9B;AACA+C,IAAAA,EAAE,GAAGJ,SAAS,CAAC5C,MAAV,GAAmBoD,MAAM,CAACpD,MAA/B;AACDoD,IAAAA,MAAM,CAACE,KAAP,GAAeJ,IAAI,CAACK,GAAL,CAAST,EAAT,EAAaE,EAAb,IAAmBC,CAAlC;AACAG,IAAAA,MAAM,CAACI,OAAP,GAAiB,CAAjB;AACAJ,IAAAA,MAAM,CAACK,OAAP,GAAiB,CAAjB;AACAL,IAAAA,MAAM,CAAClD,CAAP,GAAW0C,SAAS,CAAC3C,KAAV,GAAkB,CAAlB,GAAsBgD,CAAjC;AACAG,IAAAA,MAAM,CAACjD,CAAP,GAAW,CAACyC,SAAS,CAAC5C,MAAX,GAAoB,CAApB,GAAwBiD,CAAnC;AAKA,QAAMS,EAAE,GAAGlG,EAAE,CAAC6F,IAAH,CAAQ,WAAR,CAAX;AACA,QAAMM,QAAQ,GAAG,IAAInG,EAAE,CAACoG,IAAP,EAAjB;AACAD,IAAAA,QAAQ,CAACzD,CAAT,GAAa,CAACwD,EAAE,CAACxD,CAAjB;AACAyD,IAAAA,QAAQ,CAACxD,CAAT,GAAa,CAACuD,EAAE,CAACvD,CAAjB;AACAwD,IAAAA,QAAQ,CAACE,MAAT,GAAkBH,EAAE,CAACG,MAArB;AACAF,IAAAA,QAAQ,CAACG,MAAT,GAAkBJ,EAAE,CAACI,MAArB;AACAJ,IAAAA,EAAE,CAACK,QAAH,CAAYJ,QAAZ;AACA,QAAMK,GAAG,GAAGL,QAAQ,CAACM,YAAT,CAAsBzG,EAAE,CAAC0G,QAAzB,CAAZ;AACAF,IAAAA,GAAG,CAACG,SAAJ,GAAgB,KAAKnF,IAAL,CAAUoF,OAAV,IAAqB,SAArC;AACAJ,IAAAA,GAAG,CAACK,QAAJ,CAAa,CAACX,EAAE,CAACzD,KAAJ,GAAY,CAAzB,EAA6B,CAACyD,EAAE,CAAC1D,MAAJ,GAAa,CAA1C,EAA6C0D,EAAE,CAACzD,KAAhD,EAAuDyD,EAAE,CAAC1D,MAA1D;AACAgE,IAAAA,GAAG,CAACM,IAAJ;AAEA,GA9PO;AAiQRtC,EAAAA,WAjQQ,yBAiQM;AACb,SAAKuC,aAAL;AAEA,GApQO;AAsQRC,EAAAA,SAAS,EAAE,IAtQH;AAuQRD,EAAAA,aAvQQ,2BAuQQ;AAAA;;AACf,SAAKC,SAAL,GAAiB,IAAIhH,EAAE,CAACoG,IAAP,EAAjB;AACA,SAAKY,SAAL,CAAe5D,IAAf,GAAsB,WAAtB;AACA,SAAK4D,SAAL,CAAeC,MAAf,GAAwBjH,EAAE,CAAC6F,IAAH,CAAQ,QAAR,CAAxB;AACA,SAAKmB,SAAL,CAAeE,MAAf,GAAwB,CAAxB;AAGA,QAAMC,MAAM,GAAGnH,EAAE,CAAC6F,IAAH,CAAQ,oBAAR,CAAf,CAPe,CAQf;;AAEA,QAAI,CAAC,KAAKrE,IAAL,CAAUc,MAAf,EAAuB;AACtB;AACA;;AAEDtC,IAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe;AAACzE,MAAAA,GAAG,EAAE,KAAKpB,IAAL,CAAUc,MAAV,CAAiBM;AAAvB,KAAf,EAA4C,UAACmB,GAAD,EAAMuD,GAAN,EAAc;AAEzD,MAAA,MAAI,CAACC,OAAL,CAAa,MAAI,CAACP,SAAlB;;AAEA,MAAA,MAAI,CAACA,SAAL,CAAevE,KAAf,GAAuB6E,GAAG,CAAC7E,KAA3B;AACA,MAAA,MAAI,CAACuE,SAAL,CAAexE,MAAf,GAAwB8E,GAAG,CAAC9E,MAA5B;;AAIA,UAAMgF,GAAG,GAAG,MAAI,CAACR,SAAL,CAAeS,cAAf,EAAZ;;AAGA,UAAMC,IAAI,GAAG,MAAM,GAAnB;AACA,UAAIC,MAAM,GAAG,MAAM,GAAnB;AACA,UAAMvC,SAAS,GAAGpF,EAAE,CAACiB,IAAH,CAAQoE,YAAR,EAAlB;AACA,UAAME,OAAO,GAAGvF,EAAE,CAACuF,OAAnB;AAEA9D,MAAAA,OAAO,CAACC,GAAR,CAAY,sBAAZ,EAAoC,MAAI,CAACsF,SAAL,CAAeS,cAAf,EAApC;AACAhG,MAAAA,OAAO,CAACC,GAAR,CAAY,8CAAZ,EAA4D1B,EAAE,CAACiB,IAAH,CAAQ2G,cAAR,EAA5D;AACAnG,MAAAA,OAAO,CAACC,GAAR,CAAY,cAAZ,EAA4B0D,SAA5B;AAEA,UAAIE,EAAE,GAAGF,SAAS,CAAC3C,KAAV,GAAkB,MAAI,CAACzB,WAAL,CAAiByB,KAA5C;AACA,UAAI+C,EAAE,GAAGJ,SAAS,CAAC5C,MAAV,GAAmB,MAAI,CAACxB,WAAL,CAAiBwB,MAA7C;AACA,UAAMqF,IAAI,GAAGnC,IAAI,CAACC,GAAL,CAASL,EAAT,EAAaE,EAAb,CAAb,CAvByD,CAwBzD;;AAGA,UAAMsC,QAAQ,GAAG9H,EAAE,CAAC6F,IAAH,CAAQ,iBAAR,CAAjB;AACAiC,MAAAA,QAAQ,CAAChC,KAAT,GAAiB+B,IAAI,GAAG,MAAI,CAAC1C,WAA7B,CA5ByD,CA6BzD;;AAECG,MAAAA,EAAE,GAAGF,SAAS,CAAC3C,KAAV,GAAkB,MAAI,CAAC0C,WAAvB,GAAqCmC,GAAG,CAAC7E,KAA9C;AACA+C,MAAAA,EAAE,GAAG,CAACJ,SAAS,CAAC5C,MAAV,GAAmB,MAAI,CAAC2C,WAAxB,GAAsCwC,MAAM,GAAGE,IAAT,GAAgB,MAAI,CAAC1C,WAA5D,IAA2EmC,GAAG,CAAC9E,MAApF;AAGD,UAAMuF,OAAO,GAAG,IAAI/H,EAAE,CAACoG,IAAP,EAAhB;AACA,UAAI4B,EAAE,GAAG,IAAIhI,EAAE,CAACiI,WAAP,CAAmBX,GAAnB,CAAT,CApCyD,CAqCzD;;AACA,UAAMY,GAAG,GAAGH,OAAO,CAACtB,YAAR,CAAqBzG,EAAE,CAACmI,MAAxB,CAAZ;AACAD,MAAAA,GAAG,CAACE,WAAJ,GAAkBJ,EAAlB;AACAD,MAAAA,OAAO,CAACtF,KAAR,GAAgB,MAAI,CAACuE,SAAL,CAAevE,KAA/B;AACAsF,MAAAA,OAAO,CAACvF,MAAR,GAAiB,MAAI,CAACwE,SAAL,CAAexE,MAAhC;AACAuF,MAAAA,OAAO,CAACd,MAAR,GAAiB,MAAI,CAACD,SAAtB;AAEA,MAAA,MAAI,CAACA,SAAL,CAAelB,KAAf,GAAuBJ,IAAI,CAACC,GAAL,CAASL,EAAT,EAAaE,EAAb,CAAvB,CA5CyD,CA8CzD;;AACA,MAAA,MAAI,CAACwB,SAAL,CAAerE,CAAf,GAAmByC,SAAS,CAAC5C,MAAV,GAAmB,CAAnB,GAAuB,MAAI,CAAC2C,WAA5B,GAA0C,MAAI,CAAC6B,SAAL,CAAexE,MAAf,GAAwB,CAAxB,GAA4B,MAAI,CAACwE,SAAL,CAAeV,MAAxG,CA/CyD,CAkDzD;;AAEA,UAAM+B,OAAO,GAAGrI,EAAE,CAAC6F,IAAH,CAAQ,gBAAR,CAAhB;AACAwC,MAAAA,OAAO,CAAC1F,CAAR,GAAY,MAAI,CAACqE,SAAL,CAAerE,CAA3B;AAEA0F,MAAAA,OAAO,CAAChC,MAAR,GAAiB,MAAI,CAACW,SAAL,CAAevE,KAAf,GAAuB,MAAI,CAACuE,SAAL,CAAeX,MAAtC,GAA+CgC,OAAO,CAAC5F,KAAxE;AACA4F,MAAAA,OAAO,CAAC/B,MAAR,GAAiB,MAAI,CAACU,SAAL,CAAexE,MAAf,GAAwB,MAAI,CAACwE,SAAL,CAAeV,MAAvC,GAAgD+B,OAAO,CAAC7F,MAAzE;AAGA,UAAM2E,MAAM,GAAGnH,EAAE,CAAC6F,IAAH,CAAQ,QAAR,CAAf;AACA,UAAMyC,UAAU,GAAG,IAAItI,EAAE,CAACoG,IAAP,EAAnB;AACAkC,MAAAA,UAAU,CAAC3F,CAAX,GAAe0F,OAAO,CAAC1F,CAAvB;AACA2F,MAAAA,UAAU,CAACjC,MAAX,GAAoBgC,OAAO,CAAChC,MAA5B;AACAiC,MAAAA,UAAU,CAAChC,MAAX,GAAoB+B,OAAO,CAAC/B,MAA5B;AACAa,MAAAA,MAAM,CAACZ,QAAP,CAAgB+B,UAAhB;AACA,UAAM9B,GAAG,GAAG8B,UAAU,CAAC7B,YAAX,CAAwBzG,EAAE,CAAC0G,QAA3B,CAAZ;AACAF,MAAAA,GAAG,CAACG,SAAJ,GAAgB3G,EAAE,CAACuI,KAAH,CAASC,KAAT,CAAeC,IAAf,CAAoB,EAApB,CAAhB,CAlEyD,CAmEzD;;AACAjC,MAAAA,GAAG,CAACK,QAAJ,CAAa,CAACwB,OAAO,CAAC5F,KAAT,GAAiB,CAAjB,GAAqB,IAAI4F,OAAO,CAAChC,MAAZ,GAAqB,MAAI,CAACW,SAAL,CAAelB,KAAtE,EAA6E,CAACuC,OAAO,CAAC7F,MAAT,GAAkB,CAAlB,GAAsB,IAAI6F,OAAO,CAAChC,MAAZ,GAAqB,MAAI,CAACW,SAAL,CAAelB,KAAvI,EAA8IuC,OAAO,CAAC5F,KAAtJ,EAA6J4F,OAAO,CAAC7F,MAArK;AACAgE,MAAAA,GAAG,CAACM,IAAJ;AAEAwB,MAAAA,UAAU,CAACpB,MAAX,GAAoB,CAApB;AACAmB,MAAAA,OAAO,CAACnB,MAAR,GAAiB,CAAjB;AAEAY,MAAAA,QAAQ,CAACnF,CAAT,GAAa,CAACyC,SAAS,CAAC5C,MAAX,GAAoB,CAApB,GAAwB,MAAI,CAAC2C,WAA7B,GAA2C,KAAK2C,QAAQ,CAACxB,MAAtE;;AAEA,MAAA,MAAI,CAAC9E,IAAL,CAAUqB,cAAV,CAAyBsB,OAAzB,CAAiC,UAACC,IAAD,EAAU;AAC1C,YAAIA,IAAI,CAACsE,IAAL,IAAa,GAAjB,EAAsB;AACrB,UAAA,MAAI,CAACC,YAAL,CAAkBvE,IAAlB;AACA,SAFD,MAEO,IAAIA,IAAI,CAACsE,IAAL,IAAa,GAAjB,EAAsB;AAC5B,UAAA,MAAI,CAACE,SAAL,CAAexE,IAAf;AACA,SAFM,MAEA,IAAIA,IAAI,CAACsE,IAAL,IAAa,GAAjB,EAAsB;AAC5B,UAAA,MAAI,CAACG,WAAL,CAAiBzE,IAAjB;AACA;AACD,OARD;AAUA,KAtFD;AAwFA,GA7WO;AA+WRmD,EAAAA,OA/WQ,mBA+WAuB,IA/WA,EA+WM;AACb,QAAMC,IAAI,GAAGD,IAAI,CAACrC,YAAL,CAAkBzG,EAAE,CAACgJ,IAArB,CAAb;AACAD,IAAAA,IAAI,CAAC1I,IAAL,GAAYL,EAAE,CAACgJ,IAAH,CAAQC,IAAR,CAAaC,IAAzB;AACA,GAlXO;AAoXRzE,EAAAA,cApXQ,4BAoXS;AAEhB,QAAMqD,QAAQ,GAAG9H,EAAE,CAAC6F,IAAH,CAAQ,iBAAR,CAAjB;AACA,QAAMsD,MAAM,GAAGrB,QAAQ,CAACsB,YAAT,CAAsB,UAAtB,CAAf;AAEA,QAAM7F,MAAM,GAAG,EAAf;AACA,SAAK/B,IAAL,CAAUqB,cAAV,CAAyBsB,OAAzB,CAAiC,UAACC,IAAD,EAAU;AAC1C,UAAIA,IAAI,CAACsE,IAAL,IAAa,GAAjB,EAAsB;AACrBnF,QAAAA,MAAM,CAACW,IAAP,CAAYE,IAAZ;AACA;AACD,KAJD;AAKA+E,IAAAA,MAAM,CAACE,WAAP,CAAmB9F,MAAnB;AACA,GAhYO;AAmYRsF,EAAAA,WAnYQ,uBAmYIrH,IAnYJ,EAmYU;AAGjB,QAAM8H,IAAI,GAAI,KAAKtC,SAAL,CAAelB,KAAf,GAAuB,KAAKkB,SAAL,CAAevE,KAAvC,GAAgD,KAAKjB,IAAL,CAAUc,MAAV,CAAiBC,IAAjB,CAAsBE,KAAnF;AAEA,QAAM0D,QAAQ,GAAG,IAAInG,EAAE,CAACoG,IAAP,EAAjB;AACAD,IAAAA,QAAQ,CAAC/C,IAAT,GAAgB,SAAS5B,IAAI,CAACwB,KAA9B;AACA,SAAKgE,SAAL,CAAeT,QAAf,CAAwBJ,QAAxB;AAGA,QAAMK,GAAG,GAAGL,QAAQ,CAACM,YAAT,CAAsBzG,EAAE,CAAC0G,QAAzB,CAAZ,CAViB,CAWjB;;AACAF,IAAAA,GAAG,CAAC+C,SAAJ,GAAgB,CAAhB;AACA/C,IAAAA,GAAG,CAACgD,WAAJ,GAAkBxJ,EAAE,CAACuI,KAAH,CAASC,KAA3B;AACAhC,IAAAA,GAAG,CAACG,SAAJ,GAAgB3G,EAAE,CAACuI,KAAH,CAASkB,KAAT,CAAehB,IAAf,CAAoB,GAApB,CAAhB;AAEA,QAAM3C,KAAK,GAAGwD,IAAI,GAAG,KAAKtC,SAAL,CAAeV,MAApC;AAEAH,IAAAA,QAAQ,CAAC1D,KAAT,GAAiBjB,IAAI,CAACe,IAAL,CAAUE,KAAV,GAAkBqD,KAAnC;AACAK,IAAAA,QAAQ,CAAC3D,MAAT,GAAkBhB,IAAI,CAACe,IAAL,CAAUC,MAAV,GAAmBsD,KAArC;AACAK,IAAAA,QAAQ,CAACzD,CAAT,GAAa,CAAC,KAAKsE,SAAL,CAAevE,KAAhB,GAAwB,CAAxB,GAA4BjB,IAAI,CAACe,IAAL,CAAUG,CAAV,GAAcoD,KAAvD;AACAK,IAAAA,QAAQ,CAACxD,CAAT,GAAa,KAAKqE,SAAL,CAAexE,MAAf,GAAwB,CAAxB,GAA4BhB,IAAI,CAACe,IAAL,CAAUC,MAAV,GAAmBsD,KAA/C,GAAuDtE,IAAI,CAACe,IAAL,CAAUI,CAAV,GAAcmD,KAAlF;AAEAK,IAAAA,QAAQ,CAACH,OAAT,GAAmBG,QAAQ,CAACF,OAAT,GAAmB,CAAtC;;AAGA,QAAI,KAAKzE,IAAL,CAAUc,MAAV,CAAiBoH,eAArB,EAAsC;AACrClD,MAAAA,GAAG,CAACjE,IAAJ,CAAS,CAAT,EAAY,CAAZ,EAAe4D,QAAQ,CAAC1D,KAAxB,EAA+B0D,QAAQ,CAAC3D,MAAxC;AACA;;AACDgE,IAAAA,GAAG,CAACmD,MAAJ;AACAnD,IAAAA,GAAG,CAACM,IAAJ;AAIA,QAAM8C,SAAS,GAAG,IAAI5J,EAAE,CAACoG,IAAP,EAAlB;AACAwD,IAAAA,SAAS,CAACxG,IAAV,GAAiB,WAAW5B,IAAI,CAACwB,KAAjC;AACA,SAAKgE,SAAL,CAAeT,QAAf,CAAwBqD,SAAxB,EApCiB,CAsCjB;AACA;AACA;;AAGA,QAAIpI,IAAI,CAACgC,SAAT,EAAoB;AACnBxD,MAAAA,EAAE,CAAC6D,YAAH,CAAgBgB,UAAhB,CAA2BrD,IAAI,CAACgC,SAAhC,EAA2C,UAACO,GAAD,EAAM8F,SAAN,EAAoB;AAC9DD,QAAAA,SAAS,CAACC,SAAV,GAAsBA,SAAtB;AACA,OAFD;AAGA;;AAGD,QAAMC,aAAa,GAAGF,SAAS,CAACnD,YAAV,CAAuBsD,WAAW,CAACC,eAAnC,CAAtB;AAEA,QAAMC,KAAK,GAAGzI,IAAI,CAAC8B,UAAL,CAAgBV,GAA9B,CApDiB,CAoDgB;;AACjC,QAAMsH,GAAG,GAAG1I,IAAI,CAAC2B,WAAL,CAAiBP,GAA7B,CArDiB,CAqDe;;AAChC,QAAMuH,KAAK,GAAG3I,IAAI,CAAC6B,WAAL,CAAiBT,GAA/B,CAtDiB,CAsDiB;;AAClC5C,IAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe4C,KAAf,EAAsB,UAACG,KAAD,EAAQC,OAAR,EAAoB;AAEzCrK,MAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe;AAACzE,QAAAA,GAAG,EAAEuH,KAAN;AAAa9J,QAAAA,IAAI,EAAE;AAAnB,OAAf,EAA0C,UAAC+J,KAAD,EAAQE,SAAR,EAAsB;AAE/DtK,QAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe;AAACzE,UAAAA,GAAG,EAAEsH,GAAN;AAAW7J,UAAAA,IAAI,EAAE;AAAjB,SAAf,EAAwC,UAAC+J,KAAD,EAAQG,eAAR,EAA4B;AAEnE,cAAMJ,KAAK,GAAG,IAAIJ,WAAW,CAACS,qBAAhB,EAAd;AACAL,UAAAA,KAAK,CAACG,SAAN,GAAkBA,SAAlB;AACAH,UAAAA,KAAK,CAACE,OAAN,GAAgBA,OAAhB;AAEA,cAAMI,KAAK,GAAG,IAAIV,WAAW,CAACW,gBAAhB,EAAd;AACAD,UAAAA,KAAK,CAACF,eAAN,GAAwBA,eAAxB;AAEAT,UAAAA,aAAa,CAACa,gBAAd,GAAiCR,KAAjC;AACAL,UAAAA,aAAa,CAACc,WAAd,GAA4BH,KAA5B;AAEA,cAAII,IAAI,GAAGzI,IAAI,CAACC,KAAL,CAAWoI,KAAK,CAACF,eAAjB,CAAX;AACA,cAAIO,SAAS,GAAGD,IAAI,CAAC,UAAD,CAApB;AACApJ,UAAAA,OAAO,CAACC,GAAR,CAAY,aAAZ,EAA2BoJ,SAA3B;AACA,cAAIC,aAAa,GAAG,EAApB;;AACA,eAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,SAAS,CAACG,MAA9B,EAAsCD,CAAC,EAAvC,EAA2C;AAC1CD,YAAAA,aAAa,CAAC7G,IAAd,CAAmB4G,SAAS,CAACE,CAAD,CAAT,CAAa5H,IAAhC;AACA,WAlBkE,CAmBnE;;;AACA,cAAI2H,aAAa,CAACE,MAAd,GAAuB,CAA3B,EAA8B;AAC7B,gBAAIC,mBAAmB,GAAGH,aAAa,CAAC,CAAD,CAAvC;AACAjB,YAAAA,aAAa,CAACqB,YAAd,GAA6BD,mBAA7B,CAF6B,CAG7B;;AACA,gBAAIE,eAAe,GAAGN,SAAS,CAAC,CAAD,CAA/B;AACA,gBAAIO,UAAU,GAAGD,eAAe,CAACE,SAAjC;AACA,gBAAIC,cAAc,GAAG,EAArB;;AACA,iBAAK,IAAIP,EAAC,GAAG,CAAb,EAAgBA,EAAC,GAAGK,UAAU,CAACJ,MAA/B,EAAuCD,EAAC,EAAxC,EAA4C;AAC3CO,cAAAA,cAAc,CAACrH,IAAf,CAAoBmH,UAAU,CAACL,EAAD,CAAV,CAAc5H,IAAlC;AACA;;AAED+C,YAAAA,QAAQ,CAACM,YAAT,CAAsBzG,EAAE,CAACwL,MAAzB;AACArF,YAAAA,QAAQ,CAACsF,EAAT,CAAY,OAAZ,EAAqB,YAAM;AAC1B,kBAAItF,QAAQ,CAACuF,SAAb,EAAwB,CACvB;AACA;;AACDvF,cAAAA,QAAQ,CAACuF,SAAT,GAAqB,IAArB;AACAjK,cAAAA,OAAO,CAACC,GAAR,CAAY,SAAZ;;AAEA,kBAAIkI,SAAS,CAACC,SAAd,EAAyB;AACxB7J,gBAAAA,EAAE,CAAC+E,WAAH,CAAe4G,cAAf;AACA3L,gBAAAA,EAAE,CAAC+E,WAAH,CAAe6G,UAAf,CAA0BhC,SAAS,CAACC,SAApC,EAA+C,KAA/C,EAAsD,GAAtD;AACA;;AAED,kBAAI0B,cAAc,CAACN,MAAf,GAAwB,CAA5B,EAA+B;AAC9BnB,gBAAAA,aAAa,CAAC+B,aAAd,CAA4BN,cAAc,CAAC,CAAD,CAA1C,EAA+C,CAA/C;AACA;AACD,aAfD;AAgBA;AAED,SAlDD;AAmDA,OArDD;AAsDA,KAxDD;AA0DA,GApfO;AAufR3C,EAAAA,SAvfQ,qBAufEpH,IAvfF,EAufQ;AAAA;;AACf,QAAM8H,IAAI,GAAI,KAAKtC,SAAL,CAAelB,KAAf,GAAuB,KAAKkB,SAAL,CAAevE,KAAvC,GAAgD,KAAKjB,IAAL,CAAUc,MAAV,CAAiBC,IAAjB,CAAsBE,KAAnF;AAEA,QAAMqJ,OAAO,GAAG,IAAI9L,EAAE,CAACoG,IAAP,EAAhB;AACA0F,IAAAA,OAAO,CAACtK,IAAR,GAAeA,IAAf;AACA,SAAKwF,SAAL,CAAeT,QAAf,CAAwBuF,OAAxB;AAEA9L,IAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe;AAACzE,MAAAA,GAAG,EAAEpB,IAAI,CAACiC;AAAX,KAAf,EAAoC,UAACM,GAAD,EAAMuD,GAAN,EAAc;AAEjD,UAAMY,GAAG,GAAG4D,OAAO,CAACrF,YAAR,CAAqBzG,EAAE,CAACmI,MAAxB,CAAZ;AACAD,MAAAA,GAAG,CAACE,WAAJ,GAAkB,IAAIpI,EAAE,CAACiI,WAAP,CAAmBX,GAAnB,CAAlB;AAEA,UAAMxB,KAAK,GAAGwD,IAAI,GAAG,MAAI,CAACtC,SAAL,CAAeV,MAApC;AAEAwF,MAAAA,OAAO,CAACrJ,KAAR,GAAgBjB,IAAI,CAACe,IAAL,CAAUE,KAAV,GAAkBqD,KAAlC;AACAgG,MAAAA,OAAO,CAACtJ,MAAR,GAAiBhB,IAAI,CAACe,IAAL,CAAUC,MAAV,GAAmBsD,KAApC;AACAgG,MAAAA,OAAO,CAACpJ,CAAR,GAAY,CAAC,MAAI,CAACsE,SAAL,CAAevE,KAAhB,GAAwB,CAAxB,GAA4BjB,IAAI,CAACe,IAAL,CAAUG,CAAV,GAAcoD,KAAtD;AACAgG,MAAAA,OAAO,CAACnJ,CAAR,GAAY,MAAI,CAACqE,SAAL,CAAexE,MAAf,GAAwB,CAAxB,GAA4BhB,IAAI,CAACe,IAAL,CAAUC,MAAV,GAAmBsD,KAA/C,GAAuDtE,IAAI,CAACe,IAAL,CAAUI,CAAV,GAAcmD,KAAjF;AAEAgG,MAAAA,OAAO,CAAC9F,OAAR,GAAkB8F,OAAO,CAAC7F,OAAR,GAAkB,CAApC;;AAEA,UAAIzE,IAAI,CAACgC,SAAT,EAAoB;AACnB,QAAA,MAAI,CAACuI,WAAL,CAAiBD,OAAjB;AACA;AACD,KAjBD;AAmBA,GAjhBO;AAmhBRC,EAAAA,WAnhBQ,uBAmhBID,OAnhBJ,EAmhBa;AACpB,QAAMtK,IAAI,GAAGsK,OAAO,CAACtK,IAArB;AAEAxB,IAAAA,EAAE,CAAC6D,YAAH,CAAgBgB,UAAhB,CAA2BrD,IAAI,CAACgC,SAAhC,EAA2C,UAACO,GAAD,EAAM8F,SAAN,EAAoB;AAC9DiC,MAAAA,OAAO,CAACjC,SAAR,GAAoBA,SAApB;AACA,KAFD;AAIAiC,IAAAA,OAAO,CAACrF,YAAR,CAAqBzG,EAAE,CAACwL,MAAxB;AACAM,IAAAA,OAAO,CAACL,EAAR,CAAW,OAAX,EAAoB,YAAM;AACxB,UAAIK,OAAO,CAACjC,SAAZ,EAAuB;AACtB7J,QAAAA,EAAE,CAAC+E,WAAH,CAAe4G,cAAf;AACA3L,QAAAA,EAAE,CAAC+E,WAAH,CAAe6G,UAAf,CAA0BE,OAAO,CAACjC,SAAlC,EAA6C,KAA7C,EAAoD,GAApD;AACA;AACF,KALD;AAMA,GAjiBO;AAmiBRlB,EAAAA,YAniBQ,wBAmiBKnH,IAniBL,EAmiBW;AAAA;;AAClB,QAAM8H,IAAI,GAAI,KAAKtC,SAAL,CAAelB,KAAf,GAAuB,KAAKkB,SAAL,CAAevE,KAAvC,GAAgD,KAAKjB,IAAL,CAAUc,MAAV,CAAiBC,IAAjB,CAAsBE,KAAnF;AAEA,QAAM0D,QAAQ,GAAG,IAAInG,EAAE,CAACoG,IAAP,EAAjB;AACAD,IAAAA,QAAQ,CAAC/C,IAAT,GAAgB,SAAS5B,IAAI,CAACwB,KAA9B;AACAmD,IAAAA,QAAQ,CAAC3E,IAAT,GAAgBA,IAAhB;AACA,SAAKwF,SAAL,CAAeT,QAAf,CAAwBJ,QAAxB;AAGA,QAAML,KAAK,GAAGwD,IAAI,GAAG,KAAKtC,SAAL,CAAeV,MAApC;AAEAH,IAAAA,QAAQ,CAAC1D,KAAT,GAAiBjB,IAAI,CAACe,IAAL,CAAUE,KAAV,GAAkBqD,KAAnC;AACAK,IAAAA,QAAQ,CAAC3D,MAAT,GAAkBhB,IAAI,CAACe,IAAL,CAAUC,MAAV,GAAmBsD,KAArC;AACAK,IAAAA,QAAQ,CAACzD,CAAT,GAAa,CAAC,KAAKsE,SAAL,CAAevE,KAAhB,GAAwB,CAAxB,GAA4BjB,IAAI,CAACe,IAAL,CAAUG,CAAV,GAAcoD,KAAvD;AACAK,IAAAA,QAAQ,CAACxD,CAAT,GAAa,KAAKqE,SAAL,CAAexE,MAAf,GAAwB,CAAxB,GAA4BhB,IAAI,CAACe,IAAL,CAAUC,MAAV,GAAmBsD,KAA/C,GAAuDtE,IAAI,CAACe,IAAL,CAAUI,CAAV,GAAcmD,KAAlF;AAEAK,IAAAA,QAAQ,CAACH,OAAT,GAAmBG,QAAQ,CAACF,OAAT,GAAmB,CAAtC;;AAGA,QAAIzE,IAAI,CAACgC,SAAT,EAAoB;AACnBxD,MAAAA,EAAE,CAAC6D,YAAH,CAAgBgB,UAAhB,CAA2BrD,IAAI,CAACgC,SAAhC,EAA2C,UAACO,GAAD,EAAM8F,SAAN,EAAoB;AAC9DrI,QAAAA,IAAI,CAACqI,SAAL,GAAiBA,SAAjB;AACA,OAFD;AAGA;;AAED1D,IAAAA,QAAQ,CAACM,YAAT,CAAsBzG,EAAE,CAACwL,MAAzB;AACArF,IAAAA,QAAQ,CAACsF,EAAT,CAAY,OAAZ,EAAqB,YAAM;AAC1B,MAAA,MAAI,CAACO,UAAL,CAAgB7F,QAAhB;AACA,KAFD;AAQA,QAAMyD,SAAS,GAAG,IAAI5J,EAAE,CAACoG,IAAP,EAAlB;AACAwD,IAAAA,SAAS,CAACxG,IAAV,GAAiB,WAAW5B,IAAI,CAACwB,KAAjC;AACA,SAAKgE,SAAL,CAAeT,QAAf,CAAwBqD,SAAxB;AACApI,IAAAA,IAAI,CAACoI,SAAL,GAAiBA,SAAjB;;AAGA,QAAIpI,IAAI,CAACgC,SAAT,EAAoB;AACnBxD,MAAAA,EAAE,CAAC6D,YAAH,CAAgBgB,UAAhB,CAA2BrD,IAAI,CAACgC,SAAhC,EAA2C,UAACO,GAAD,EAAM8F,SAAN,EAAoB;AAC9DD,QAAAA,SAAS,CAACC,SAAV,GAAsBA,SAAtB;AACA,OAFD;AAGA;;AAGD,QAAMC,aAAa,GAAGF,SAAS,CAACnD,YAAV,CAAuBsD,WAAW,CAACC,eAAnC,CAAtB;AAEA,QAAMC,KAAK,GAAGzI,IAAI,CAAC8B,UAAL,CAAgBV,GAA9B,CAjDkB,CAiDe;;AACjC,QAAMsH,GAAG,GAAG1I,IAAI,CAAC2B,WAAL,CAAiBP,GAA7B,CAlDkB,CAkDc;;AAChC,QAAMuH,KAAK,GAAG3I,IAAI,CAAC6B,WAAL,CAAiBT,GAA/B,CAnDkB,CAmDgB;;AAClC5C,IAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe4C,KAAf,EAAsB,UAACG,KAAD,EAAQC,OAAR,EAAoB;AAEzCrK,MAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe;AAACzE,QAAAA,GAAG,EAAEuH,KAAN;AAAa9J,QAAAA,IAAI,EAAE;AAAnB,OAAf,EAA0C,UAAC+J,KAAD,EAAQE,SAAR,EAAsB;AAE/DtK,QAAAA,EAAE,CAACoH,MAAH,CAAUC,IAAV,CAAe;AAACzE,UAAAA,GAAG,EAAEsH,GAAN;AAAW7J,UAAAA,IAAI,EAAE;AAAjB,SAAf,EAAwC,UAAC+J,KAAD,EAAQG,eAAR,EAA4B;AAEnE,cAAMJ,KAAK,GAAG,IAAIJ,WAAW,CAACS,qBAAhB,EAAd;AACAL,UAAAA,KAAK,CAACG,SAAN,GAAkBA,SAAlB;AACAH,UAAAA,KAAK,CAACE,OAAN,GAAgBA,OAAhB;AAEA,cAAMI,KAAK,GAAG,IAAIV,WAAW,CAACW,gBAAhB,EAAd;AACAD,UAAAA,KAAK,CAACF,eAAN,GAAwBA,eAAxB;AAEAT,UAAAA,aAAa,CAACa,gBAAd,GAAiCR,KAAjC;AACAL,UAAAA,aAAa,CAACc,WAAd,GAA4BH,KAA5B;AAEA,cAAII,IAAI,GAAGzI,IAAI,CAACC,KAAL,CAAWoI,KAAK,CAACF,eAAjB,CAAX;AACA,cAAIO,SAAS,GAAGD,IAAI,CAAC,UAAD,CAApB;AACApJ,UAAAA,OAAO,CAACC,GAAR,CAAY,aAAZ,EAA2BoJ,SAA3B;AACA,cAAIC,aAAa,GAAG,EAApB;;AACA,eAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,SAAS,CAACG,MAA9B,EAAsCD,CAAC,EAAvC,EAA2C;AAC1CD,YAAAA,aAAa,CAAC7G,IAAd,CAAmB4G,SAAS,CAACE,CAAD,CAAT,CAAa5H,IAAhC;AACA,WAlBkE,CAmBnE;;;AACA,cAAI2H,aAAa,CAACE,MAAd,GAAuB,CAA3B,EAA8B;AAC7B,gBAAIC,mBAAmB,GAAGH,aAAa,CAAC,CAAD,CAAvC;AACAjB,YAAAA,aAAa,CAACqB,YAAd,GAA6BD,mBAA7B,CAF6B,CAG7B;;AACA,gBAAIE,eAAe,GAAGN,SAAS,CAAC,CAAD,CAA/B;AACA,gBAAIO,UAAU,GAAGD,eAAe,CAACE,SAAjC;AACA,gBAAIC,cAAc,GAAG,EAArB;;AACA,iBAAK,IAAIP,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAGK,UAAU,CAACJ,MAA/B,EAAuCD,GAAC,EAAxC,EAA4C;AAC3CO,cAAAA,cAAc,CAACrH,IAAf,CAAoBmH,UAAU,CAACL,GAAD,CAAV,CAAc5H,IAAlC;AACA,aAT4B,CAW7B;AACA;;;AACAwG,YAAAA,SAAS,CAACqC,SAAV,GAAsB,YAAM;AAC3B,kBAAI9F,QAAQ,CAACuF,SAAb,EAAwB,CACvB;AACA;;AACDvF,cAAAA,QAAQ,CAACuF,SAAT,GAAqB,IAArB;AACAjK,cAAAA,OAAO,CAACC,GAAR,CAAY,SAAZ;;AAEA,kBAAIkI,SAAS,CAACC,SAAd,EAAyB;AACxB7J,gBAAAA,EAAE,CAAC+E,WAAH,CAAe4G,cAAf;AACA3L,gBAAAA,EAAE,CAAC+E,WAAH,CAAe6G,UAAf,CAA0BhC,SAAS,CAACC,SAApC,EAA+C,KAA/C,EAAsD,GAAtD;AACA;;AAED,kBAAI0B,cAAc,CAACN,MAAf,GAAwB,CAA5B,EAA+B;AAC9BnB,gBAAAA,aAAa,CAAC+B,aAAd,CAA4BN,cAAc,CAAC,CAAD,CAA1C,EAA+C,CAA/C;AACA;AACD,aAfD;AAgBA;AAED,SAnDD;AAoDA,OAtDD;AAuDA,KAzDD;AA2DA,GAlpBO;AAopBRW,EAAAA,OAAO,EAAE,IAppBD;AAqpBRxH,EAAAA,UArpBQ,wBAqpBK;AAEZ,SAAKwH,OAAL,GAAelM,EAAE,CAAC6F,IAAH,CAAQ,eAAR,CAAf;AACA,SAAKqG,OAAL,CAAaC,MAAb,GAAsB,KAAtB;AACA,SAAKD,OAAL,CAAahF,MAAb,GAAsB,EAAtB;AACA,GA1pBO;AA4pBR8E,EAAAA,UA5pBQ,sBA4pBGlD,IA5pBH,EA4pBS;AAChBrH,IAAAA,OAAO,CAACC,GAAR,CAAY,gBAAZ;;AAEA,QAAIoH,IAAI,IAAI,KAAKoD,OAAL,CAAaE,QAAzB,EAAmC;AAElCtD,MAAAA,IAAI,CAACtH,IAAL,CAAUoI,SAAV,CAAoBqC,SAApB,GAFkC,CAGlC;AACA;AACA;AACA;;AACA,WAAKI,UAAL;AACA;AACA;;AAED,SAAKH,OAAL,CAAaE,QAAb,GAAwBtD,IAAxB;AAEAA,IAAAA,IAAI,CAACpG,CAAL,IAAUoG,IAAI,CAACrG,KAAL,GAAa,CAAvB;AACAqG,IAAAA,IAAI,CAACnG,CAAL,IAAUmG,IAAI,CAACtG,MAAL,GAAc,CAAxB;AACA,QAAM8G,IAAI,GAAG,+BAAoB,KAAK4C,OAAzB,EAAkCpD,IAAlC,CAAb;AACA,QAAMwD,GAAG,GAAG,8BAAmB,KAAKJ,OAAxB,EAAiCpD,IAAjC,CAAZ;AACAA,IAAAA,IAAI,CAACpG,CAAL,IAAUoG,IAAI,CAACrG,KAAL,GAAa,CAAvB;AACAqG,IAAAA,IAAI,CAACnG,CAAL,IAAUmG,IAAI,CAACtG,MAAL,GAAc,CAAxB;AAEA,SAAK0J,OAAL,CAAapG,KAAb,IAAsBwD,IAAtB;AACA,SAAK4C,OAAL,CAAapG,KAAb,IAAuB,IAAE,CAAzB;AAEA,SAAKoG,OAAL,CAAaxJ,CAAb,GAAiB4J,GAAG,CAAC5J,CAArB;AACA,SAAKwJ,OAAL,CAAavJ,CAAb,GAAiB2J,GAAG,CAAC3J,CAArB;AAEA,SAAKuJ,OAAL,CAAaC,MAAb,GAAsB,IAAtB;AAEA,SAAKD,OAAL,CAAaK,OAAb,GAAuB,CAAvB;AACAvM,IAAAA,EAAE,CAACwM,KAAH,CAAS,KAAKN,OAAd,EACEO,EADF,CACK,CADL,EACQ;AAACF,MAAAA,OAAO,EAAE;AAAV,KADR,EACwB;AAACG,MAAAA,MAAM,EAAE;AAAT,KADxB,EAEEvL,KAFF;AAIA,GAhsBO;AAksBRwD,EAAAA,YAlsBQ,0BAksBO;AAAA;;AACd,QAAMwC,MAAM,GAAGnH,EAAE,CAAC6F,IAAH,CAAQ,QAAR,CAAf;AACAsB,IAAAA,MAAM,CAACV,YAAP,CAAoBzG,EAAE,CAACwL,MAAvB;AACArE,IAAAA,MAAM,CAACsE,EAAP,CAAU,OAAV,EAAmB,YAAM;AACxB,MAAA,MAAI,CAACY,UAAL;AACA,KAFD;AAGA,GAxsBO;AA0sBRA,EAAAA,UA1sBQ,wBA0sBK;AACZ,SAAKH,OAAL,CAAaE,QAAb,GAAwB,IAAxB;AACApM,IAAAA,EAAE,CAACwM,KAAH,CAAS,KAAKN,OAAd,EACEO,EADF,CACK,CADL,EACQ;AAACF,MAAAA,OAAO,EAAE;AAAV,KADR,EACsB;AAACG,MAAAA,MAAM,EAAE;AAAT,KADtB,EAEEvL,KAFF;AAGA,GA/sBO,CAktBR;;AAltBQ,CAAT","sourceRoot":"/","sourcesContent":["// Learn cc.Class:\n// - https://docs.cocos.com/creator/manual/en/scripting/class.html\n// Learn Attribute:\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\n// Learn life-cycle callbacks:\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\n\nimport {getScaleRateBy2Node, localPosTolocalPos} from \"./util\";\n\ncc.Class({\n\textends: cc.Component,\n\n\tproperties: {\n\t\tbaseWidth: {\n\t\t\tdefault: 1280,\n\t\t\ttype: cc.Integer\n\t\t},\n\t\tbaseHeight: {\n\t\t\tdefault: 720,\n\t\t\ttype: cc.Integer\n\t\t}\n\t\t// foo: {\n\t\t// // ATTRIBUTES:\n\t\t// default: null, // The default value will be used only when the component attaching\n\t\t// // to a node for the first time\n\t\t// type: cc.SpriteFrame, // optional, default is typeof default\n\t\t// serializable: true, // optional, default is true\n\t\t// },\n\t\t// bar: {\n\t\t// get () {\n\t\t// return this._bar;\n\t\t// },\n\t\t// set (value) {\n\t\t// this._bar = value;\n\t\t// }\n\t\t// },\n\t},\n\n\t// LIFE-CYCLE CALLBACKS:\n\n\t// baseWidth: 1280;\n\t// baseHeight: 720;\n\n\tonLoad() {\n\t\tcc.debug.setDisplayStats(false);\n\t\tthis.initSceneData();\n\t\tthis.initSize();\n\t},\n\n\tinitSceneData() {\n\t\tthis._imageResList = [];\n\t\tthis._audioResList = [];\n\t\tthis._animaResList = [];\n\t},\n\n\t_designSize: null,\n\tinitSize() {\n\t\tthis._designSize = cc.view.getDesignResolutionSize();\n\n\t},\n\n\tstart() {\n\t\tlet getData = this.getData.bind(this);\n\t\tif (window && window.courseware) {\n\t\t\t// console.log('has window');\n\t\t\tgetData = window.courseware.getData;\n\t\t}\n\t\tgetData((data) => {\n\t\t\tconsole.log('data:', data);\n\t\t\tthis.data = data || this.getDefaultData();\n\t\t\tthis.preloadItem()\n\t\t})\n\t},\n\n\n\t_imageResList: null,\n\t_audioResList: null,\n\t_animaResList: null,\n\tpreloadItem() {\n\t\tthis.addPreloadImage();\n\t\tthis.addPreloadAudio();\n\t\tthis.addPreloadAnima();\n\t\tthis.preload();\n\t},\n\n\tgetData(func) {\n\t\tfunc(this.getDefaultData());\n\t},\n\n\tgetDefaultData() {\n\n\t\tconst dataJson = '{\"bgColorId\":0,\"bgColor\":\"#f9bd03\",\"bgItem\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/539e2f58cb1817f852d9c09ec1ac7c8b.png\",\"rect\":{\"x\":265.18,\"y\":0,\"width\":776.65,\"height\":500}},\"hotZoneItemArr\":[{\"id\":\"1611197962070\",\"index\":0,\"pic_url\":\"http://staging-teach.cdn.ireadabc.com/8ce25a36313edb9dfa3de77ba85cb6b9.png\",\"text\":\"aaa\",\"audio_url\":\"http://staging-teach.cdn.ireadabc.com/cd8daa8b4d8ff707b3a3680e80bc4761.mp3\",\"itemType\":\"rect\",\"fontScale\":1.02109375,\"imgScale\":0.7029268568840579,\"mapScale\":1.02109375,\"skeJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/3db1a0ed6b7e33d5f9f284e1a5980349.json\",\"name\":\"Ubbie_ske.json\"},\"texJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/4232e00c9b1d272e650e51dbb785e498.json\",\"name\":\"Ubbie_tex.json\"},\"texPngData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/2e56dbe3134380952a725eacceb86359.png\",\"name\":\"Ubbie_tex.png\"},\"gIdx\":\"0\",\"rect\":{\"x\":-1.68,\"y\":-1,\"width\":200,\"height\":200}},{\"id\":\"1611197966644\",\"index\":1,\"pic_url\":\"http://staging-teach.cdn.ireadabc.com/c8abf7383d65bcbdba8f390785cece60.png\",\"audio_url\":\"http://staging-teach.cdn.ireadabc.com/1961d807c944e6551af02c7b57e117f3.mp3\",\"itemType\":\"pic\",\"fontScale\":1.02109375,\"imgScale\":0.2536231884057971,\"mapScale\":1.02109375,\"gIdx\":\"1\",\"rect\":{\"x\":7.32,\"y\":424,\"width\":70,\"height\":70}},{\"id\":\"1611197971104\",\"index\":2,\"audio_url\":\"http://staging-teach.cdn.ireadabc.com/694a80e21cefd6e53880d61e684e1c94.mp3\",\"itemType\":\"rect\",\"fontScale\":1.02109375,\"imgScale\":1,\"mapScale\":1.02109375,\"skeJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/7efceac56cc9a61b107a11457390d3c6.json\",\"name\":\"finish1_ske.json\"},\"texJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/d6e8db4fb385127de9e3cd9d8a9530f7.json\",\"name\":\"finish1_tex.json\"},\"texPngData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/96f5c7a9ac9f433c9c870c38b0811a38.png\",\"name\":\"finish1_tex.png\"},\"gIdx\":\"2\",\"rect\":{\"x\":575.32,\"y\":303,\"width\":200,\"height\":200}}],\"bg_audio_url\":\"http://staging-teach.cdn.ireadabc.com/3fa65d5f667a2ef9059d3dfc5df74a4d.mp3\"}'\n\t\tconst data1 = JSON.parse(dataJson);\n\t\treturn data1;\n\n\t\tconst data = {\n\t\t\tbgItem: {\n\t\t\t\trect: {\n\t\t\t\t\theight: 380,\n\t\t\t\t\twidth: 675.56,\n\t\t\t\t\tx: 160.72,\n\t\t\t\t\ty: 0\n\t\t\t\t},\n\t\t\t\t// url: \"http://staging-teach.cdn.ireadabc.com/b31c5881ea5f607c1d3540029a7d29c7.png\"\n\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/756b0a8de4cb84ed70e70d60f87a5901.jpg\"\n\t\t\t},\n\t\t\thotZoneItemArr: [\n\t\t\t\t{\n\t\t\t\t\tid: 1595919608244,\n\t\t\t\t\timgScale: 1,\n\t\t\t\t\tindex: 0,\n\t\t\t\t\titemType: \"rect\",\n\t\t\t\t\tmapScale: 0.903125,\n\t\t\t\t\trect: {\n\t\t\t\t\t\theight: 120.84,\n\t\t\t\t\t\twidth: 115.99,\n\t\t\t\t\t\tx: 378.68,\n\t\t\t\t\t\ty: 191.3\n\t\t\t\t\t},\n\t\t\t\t\tskeJsonData: {\n\t\t\t\t\t\tname: \"finish1_ske.json\",\n\t\t\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/bd825dcceea298d1146be8067ae3d17f.json\"\n\t\t\t\t\t},\n\t\t\t\t\ttexJsonData: {\n\t\t\t\t\t\tname: \"finish1_tex.json\",\n\t\t\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/246f8991b729fa3e5a7f4802de828efa.json\"\n\t\t\t\t\t},\n\t\t\t\t\ttexPngData: {\n\t\t\t\t\t\tname: \"finish1_tex.png\",\n\t\t\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/5a0c5af3e952acd0ac83a6e5c6f03ff1.png\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\n\t\t\tpicArr: [\n\t\t\t\t{\n\t\t\t\t\taudio_url: \"http://staging-teach.cdn.ireadabc.com/0128a59057e63c4c6b4b96556d077a98.mp3\",\n\t\t\t\t\tpic_url: \"http://staging-teach.cdn.ireadabc.com/18f2a029e02d679da8d42746daea228f.png\",\n\t\t\t\t\ttext: \"1111\",\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\treturn data;\n\t},\n\n\tpreload() {\n\n\t\tconst preloadArr = this._imageResList.concat(this._audioResList).concat(this._animaResList);\n\t\tcc.assetManager.loadAny(preloadArr, null, null, (err, data) => {\n\t\t\tconsole.log(' preload data, ', data);\n\n\t\t\t// typeof\n\t\t\tthis.loadEnd();\n\t\t\tif (window && window[\"air\"]) {\n\t\t\t\twindow[\"air\"].hideAirClassLoading();\n\t\t\t}\n\t\t});\n\t},\n\n\taddPreloadImage() {\n\t\n\t\tif (this.data.bgItem) {\n\t\t\tthis._imageResList.push({ url: this.data.bgItem.url });\n\t\t}\n\t\tif (!this.data.hotZoneItemArr) {\n\t\t\treturn;\n\t\t}\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tif (item.pic_url) {\n\t\t\t\tthis._imageResList.push({ url: item.pic_url });\n\t\t\t}\n\t\t})\n\n\t},\n\n\taddPreloadAudio() {\n\n\t\tif (!this.data.hotZoneItemArr) {\n\t\t\treturn;\n\t\t}\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tthis._audioResList.push({url: item.audio_url});\n\t\t})\n\n\t\tthis._audioResList.push({url: this.data.bg_audio_url});\n\t},\n\n\taddPreloadAnima() {\n\t\tif (!this.data.hotZoneItemArr) {\n\t\t\treturn;\n\t\t}\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tif (item.skeJsonData) {\n\t\t\t\tthis._animaResList.push({ url: item.skeJsonData.url || '' });\n\t\t\t\tthis._animaResList.push({ url: item.texJsonData.url || ''});\n\t\t\t\tthis._animaResList.push({ url: item.texPngData.url || ''});\n\t\t\t}\n\t\t})\n\t},\n\n\tloadEnd() {\n\t\tthis.initView();\n\t},\n\n\tinitView() {\n\t\tthis.initBg();\n\t\tthis.initHotZone();\n\t\tthis.initBottomPart();\n\t\tthis.initCircle();\n\t\tthis.initListener();\n\t\tthis.initMusic();\n\t},\n\n\n\tinitMusic() {\n\t\tcc.assetManager.loadRemote(this.data.bg_audio_url, (err, clip) => {\n\t\t\tcc.audioEngine.setMusicVolume(0.3);\n\t\t\tconst audioID = cc.audioEngine.playMusic(clip, true);\n\t\t});\n\t},\n\n\t_cocosScale: null,\n\tinitBg() {\n\t\tconst frameSize = cc.view.getFrameSize();\n\n\t\tlet sx = cc.winSize.width / frameSize.width;\n\t\tlet sy = cc.winSize.height / frameSize.height;\n\t\tlet s = Math.min(sx, sy);\n\n\t\tthis._cocosScale = s;\n\n\t\tconst bgNode = cc.find('Canvas/bg');\n\t\t// const sx = cc.winSize.width / bgNode.width;\n\t\t// const sy = cc.winSize.height / bgNode.height;\n\t\t sx = frameSize.width / bgNode.width;\n\t\t sy = frameSize.height / bgNode.height;\n\t\tbgNode.scale = Math.max(sx, sy) * s;\n\t\tbgNode.anchorX = 1;\n\t\tbgNode.anchorY = 0;\n\t\tbgNode.x = frameSize.width / 2 * s;\n\t\tbgNode.y = -frameSize.height / 2 * s;\n\n\n\n\t\n\t\tconst bg = cc.find('Canvas/bg');\n\t\tconst rectNode = new cc.Node();\n\t\trectNode.x = -bg.x;\n\t\trectNode.y = -bg.y;\n\t\trectNode.scaleX = bg.scaleX;\n\t\trectNode.scaleY = bg.scaleY;\n\t\tbg.addChild(rectNode);\n\t\tconst ctx = rectNode.addComponent(cc.Graphics);\n\t\tctx.fillColor = this.data.bgColor || '#f9bd03';\n\t\tctx.fillRect(-bg.width / 2 , -bg.height / 2, bg.width, bg.height);\n\t\tctx.fill();\n\n\t},\n\n\n\tinitHotZone() {\n\t\tthis.initHotZoneBg();\n\n\t},\n\n\thotZoneBg: null,\n\tinitHotZoneBg() {\n\t\tthis.hotZoneBg = new cc.Node();\n\t\tthis.hotZoneBg.name = 'hotZoneBg';\n\t\tthis.hotZoneBg.parent = cc.find('Canvas');\n\t\tthis.hotZoneBg.zIndex = 4;\n\n\n\t\tconst canvas = cc.find('Canvas/Main Camera');\n\t\t// console.log('canvas: ', canvas);\n\n\t\tif (!this.data.bgItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tcc.loader.load({url: this.data.bgItem.url}, (err, img) => {\n\n\t\t\tthis.addMask(this.hotZoneBg);\n\n\t\t\tthis.hotZoneBg.width = img.width;\n\t\t\tthis.hotZoneBg.height = img.height;\n\n\n\n\t\t\tconst box = this.hotZoneBg.getBoundingBox();\n\n\n\t\t\tconst tmpS = 640 / 720;\n\t\t\tlet subNum = 720 - 640;\n\t\t\tconst frameSize = cc.view.getFrameSize();\n\t\t\tconst winSize = cc.winSize;\n\n\t\t\tconsole.log('this.hotZoneBg.box: ', this.hotZoneBg.getBoundingBox());\n\t\t\tconsole.log('let visiSize=cc.director.getVisibleSize();: ', cc.view.getVisibleSize());\n\t\t\tconsole.log('lframeSize: ', frameSize);\n\n\t\t\tlet sx = frameSize.width / this._designSize.width;\n\t\t\tlet sy = frameSize.height / this._designSize.height;\n\t\t\tconst mapS = Math.min(sx, sy);\n\t\t\t// const sy = canvas.height * tmpS / box.height;\n\n\n\t\t\tconst bgBottom = cc.find('Canvas/bgBottom');\n\t\t\tbgBottom.scale = mapS * this._cocosScale;\n\t\t\t// subNum = bgBottom.height;\n\n\t\t\t sx = frameSize.width * this._cocosScale / img.width;\n\t\t\t sy = (frameSize.height * this._cocosScale - subNum * mapS * this._cocosScale) / img.height;\n\n\n\t\t\tconst sprNode = new cc.Node();\n\t\t\tvar sf = new cc.SpriteFrame(img);\n\t\t\t// const spr = this.hotZoneBg.addComponent(cc.Sprite);\n\t\t\tconst spr = sprNode.addComponent(cc.Sprite);\n\t\t\tspr.spriteFrame = sf\n\t\t\tsprNode.width = this.hotZoneBg.width;\n\t\t\tsprNode.height = this.hotZoneBg.height;\n\t\t\tsprNode.parent = this.hotZoneBg;\n\n\t\t\tthis.hotZoneBg.scale = Math.min(sx, sy);\n\n\t\t\t// this.hotZoneBg.y = -frameSize.height / 2 * this._cocosScale + this.hotZoneBg.height / 2 * this.hotZoneBg.scaleY + (subNum * mapS * this._cocosScale);\n\t\t\tthis.hotZoneBg.y = frameSize.height / 2 * this._cocosScale - this.hotZoneBg.height / 2 * this.hotZoneBg.scaleY ;\n\n\n\t\t\t// this.hotZoneBg.opacity = 20;\n\n\t\t\tconst bgWhite = cc.find('Canvas/bgWhite');\n\t\t\tbgWhite.y = this.hotZoneBg.y;\n\n\t\t\tbgWhite.scaleX = this.hotZoneBg.width * this.hotZoneBg.scaleX / bgWhite.width;\n\t\t\tbgWhite.scaleY = this.hotZoneBg.height * this.hotZoneBg.scaleY / bgWhite.height;\n\n\n\t\t\tconst canvas = cc.find('Canvas');\n\t\t\tconst shadowNode = new cc.Node();\n\t\t\tshadowNode.y = bgWhite.y;\n\t\t\tshadowNode.scaleX = bgWhite.scaleX;\n\t\t\tshadowNode.scaleY = bgWhite.scaleY;\n\t\t\tcanvas.addChild(shadowNode);\n\t\t\tconst ctx = shadowNode.addComponent(cc.Graphics);\n\t\t\tctx.fillColor = cc.Color.BLACK.setA(30);\n\t\t\t// ctx.fillRect(5, 5, this.hotZoneBg.width*this.hotZoneBg.scaleX, this.hotZoneBg.height * this.hotZoneBg.scaleY);\n\t\t\tctx.fillRect(-bgWhite.width / 2 + 8 / bgWhite.scaleX * this.hotZoneBg.scale, -bgWhite.height / 2 - 8 / bgWhite.scaleX * this.hotZoneBg.scale, bgWhite.width, bgWhite.height);\n\t\t\tctx.fill();\n\n\t\t\tshadowNode.zIndex = 1;\n\t\t\tbgWhite.zIndex = 2;\n\n\t\t\tbgBottom.y = -frameSize.height / 2 * this._cocosScale - 15 * bgBottom.scaleY;\n\n\t\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\t\tif (item.gIdx == '0') {\n\t\t\t\t\tthis.setOneCircle(item);\n\t\t\t\t} else if (item.gIdx == '1') {\n\t\t\t\t\tthis.setOnePic(item);\n\t\t\t\t} else if (item.gIdx == '2') {\n\t\t\t\t\tthis.setOneAnima(item);\n\t\t\t\t}\n\t\t\t});\n\n\t\t});\n\n\t},\n\n\taddMask(node) {\n\t\tconst mask = node.addComponent(cc.Mask);\n\t\tmask.type = cc.Mask.Type.RECT;\n\t},\n\n\tinitBottomPart() {\n\n\t\tconst bgBottom = cc.find('Canvas/bgBottom');\n\t\tconst script = bgBottom.getComponent('bgBottom');\n\n\t\tconst picArr = [];\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tif (item.gIdx == '0') {\n\t\t\t\tpicArr.push(item);\n\t\t\t}\n\t\t});\n\t\tscript.setItemData(picArr);\n\t},\n\n\n\tsetOneAnima(data) {\n\n\n\t\tconst rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;\n\n\t\tconst rectNode = new cc.Node();\n\t\trectNode.name = 'rect' + data.index;\n\t\tthis.hotZoneBg.addChild(rectNode);\n\n\n\t\tconst ctx = rectNode.addComponent(cc.Graphics);\n\t\t// 红色矩形\n\t\tctx.lineWidth = 4;\n\t\tctx.strokeColor = cc.Color.BLACK;\n\t\tctx.fillColor = cc.Color.WHITE.setA(100);\n\n\t\tconst scale = rate / this.hotZoneBg.scaleY;\n\n\t\trectNode.width = data.rect.width * scale;\n\t\trectNode.height = data.rect.height * scale;\n\t\trectNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;\n\t\trectNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;\n\n\t\trectNode.anchorX = rectNode.anchorY = 0;\n\n\n\t\tif (this.data.bgItem.isShowDebugLine) {\n\t\t\tctx.rect(0, 0, rectNode.width, rectNode.height);\n\t\t}\n\t\tctx.stroke();\n\t\tctx.fill();\n\n\n\n\t\tconst animaNode = new cc.Node();\n\t\tanimaNode.name = 'anima_' + data.index;\n\t\tthis.hotZoneBg.addChild(animaNode);\n\n\t\t// rectNode.addChild(animaNode);\n\t\t// animaNode.x = rectNode.width / 2;\n\t\t// animaNode.y = rectNode.height / 2;\n\n\n\t\tif (data.audio_url) {\n\t\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\t\tanimaNode.audioClip = audioClip;\n\t\t\t});\n\t\t}\n\n\n\t\tconst dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);\n\n\t\tconst image = data.texPngData.url//\"http://staging-teach.cdn.ireadabc.com/5a0c5af3e952acd0ac83a6e5c6f03ff1.png\";\n\t\tconst ske = data.skeJsonData.url//\"http://staging-teach.cdn.ireadabc.com/bd825dcceea298d1146be8067ae3d17f.json\";\n\t\tconst atlas = data.texJsonData.url//\"http://staging-teach.cdn.ireadabc.com/246f8991b729fa3e5a7f4802de828efa.json\";\n\t\tcc.loader.load(image, (error, texture) => {\n\n\t\t\tcc.loader.load({url: atlas, type: 'txt'}, (error, atlasJson) => {\n\n\t\t\t\tcc.loader.load({url: ske, type: 'txt'}, (error, dragonBonesJson) => {\n\n\t\t\t\t\tconst atlas = new dragonBones.DragonBonesAtlasAsset();\n\t\t\t\t\tatlas.atlasJson = atlasJson;\n\t\t\t\t\tatlas.texture = texture;\n\n\t\t\t\t\tconst asset = new dragonBones.DragonBonesAsset();\n\t\t\t\t\tasset.dragonBonesJson = dragonBonesJson;\n\n\t\t\t\t\tdragonDisplay.dragonAtlasAsset = atlas;\n\t\t\t\t\tdragonDisplay.dragonAsset = asset;\n\n\t\t\t\t\tlet json = JSON.parse(asset.dragonBonesJson);\n\t\t\t\t\tlet armatures = json[\"armature\"];\n\t\t\t\t\tconsole.log('armatures: ', armatures);\n\t\t\t\t\tlet armatureNames = [];\n\t\t\t\t\tfor (let i = 0; i < armatures.length; i++) {\n\t\t\t\t\t\tarmatureNames.push(armatures[i].name);\n\t\t\t\t\t}\n\t\t\t\t\t// console.log('armatureNames: ', armatureNames);\n\t\t\t\t\tif (armatureNames.length > 0) {\n\t\t\t\t\t\tlet defaultArmatureName = armatureNames[0];\n\t\t\t\t\t\tdragonDisplay.armatureName = defaultArmatureName;\n\t\t\t\t\t\t// let animationNames = dragonDisplay.getAnimationNames(defaultArmatureName);\n\t\t\t\t\t\tlet defaultArmature = armatures[0];\n\t\t\t\t\t\tlet animations = defaultArmature.animation;\n\t\t\t\t\t\tlet animationNames = [];\n\t\t\t\t\t\tfor (let i = 0; i < animations.length; i++) {\n\t\t\t\t\t\t\tanimationNames.push(animations[i].name);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\trectNode.addComponent(cc.Button);\n\t\t\t\t\t\trectNode.on('click', () => {\n\t\t\t\t\t\t\tif (rectNode.isClicked) {\n\t\t\t\t\t\t\t\t// return;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trectNode.isClicked = true;\n\t\t\t\t\t\t\tconsole.log('clicked');\n\n\t\t\t\t\t\t\tif (animaNode.audioClip) {\n\t\t\t\t\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\t\t\t\t\tcc.audioEngine.playEffect(animaNode.audioClip, false, 0.8);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (animationNames.length > 0) {\n\t\t\t\t\t\t\t\tdragonDisplay.playAnimation(animationNames[0], 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t},\n\n\n\tsetOnePic(data) {\n\t\tconst rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;\n\n\t\tconst picNode = new cc.Node();\n\t\tpicNode.data = data;\n\t\tthis.hotZoneBg.addChild(picNode);\n\n\t\tcc.loader.load({url: data.pic_url}, (err, img) => {\n\n\t\t\tconst spr = picNode.addComponent(cc.Sprite);\n\t\t\tspr.spriteFrame = new cc.SpriteFrame(img)\n\n\t\t\tconst scale = rate / this.hotZoneBg.scaleY;\n\n\t\t\tpicNode.width = data.rect.width * scale;\n\t\t\tpicNode.height = data.rect.height * scale;\n\t\t\tpicNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;\n\t\t\tpicNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;\n\n\t\t\tpicNode.anchorX = picNode.anchorY = 0;\n\n\t\t\tif (data.audio_url) {\n\t\t\t\tthis.addPicAudio(picNode);\n\t\t\t}\n\t\t});\n\n\t},\n\n\taddPicAudio(picNode) {\n\t\tconst data = picNode.data;\n\t\t\n\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\tpicNode.audioClip = audioClip;\n\t\t});\n\n\t\tpicNode.addComponent(cc.Button);\n\t\tpicNode.on('click', () => {\n\t\t\t\tif (picNode.audioClip) {\n\t\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\t\tcc.audioEngine.playEffect(picNode.audioClip, false, 0.8);\n\t\t\t\t}\n\t\t});\n\t},\n\n\tsetOneCircle(data) {\n\t\tconst rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;\n\n\t\tconst rectNode = new cc.Node();\n\t\trectNode.name = 'rect' + data.index;\n\t\trectNode.data = data;\n\t\tthis.hotZoneBg.addChild(rectNode);\n\n\n\t\tconst scale = rate / this.hotZoneBg.scaleY;\n\n\t\trectNode.width = data.rect.width * scale;\n\t\trectNode.height = data.rect.height * scale;\n\t\trectNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;\n\t\trectNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;\n\n\t\trectNode.anchorX = rectNode.anchorY = 0;\n\n\n\t\tif (data.audio_url) {\n\t\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\t\tdata.audioClip = audioClip;\n\t\t\t});\n\t\t}\n\n\t\trectNode.addComponent(cc.Button);\n\t\trectNode.on('click', () => {\n\t\t\tthis.showCircle(rectNode);\n\t\t});\n\n\n\n\n\n\t\tconst animaNode = new cc.Node();\n\t\tanimaNode.name = 'anima_' + data.index;\n\t\tthis.hotZoneBg.addChild(animaNode);\n\t\tdata.animaNode = animaNode;\n\n\n\t\tif (data.audio_url) {\n\t\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\t\tanimaNode.audioClip = audioClip;\n\t\t\t});\n\t\t}\n\n\n\t\tconst dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);\n\n\t\tconst image = data.texPngData.url//\"http://staging-teach.cdn.ireadabc.com/5a0c5af3e952acd0ac83a6e5c6f03ff1.png\";\n\t\tconst ske = data.skeJsonData.url//\"http://staging-teach.cdn.ireadabc.com/bd825dcceea298d1146be8067ae3d17f.json\";\n\t\tconst atlas = data.texJsonData.url//\"http://staging-teach.cdn.ireadabc.com/246f8991b729fa3e5a7f4802de828efa.json\";\n\t\tcc.loader.load(image, (error, texture) => {\n\n\t\t\tcc.loader.load({url: atlas, type: 'txt'}, (error, atlasJson) => {\n\n\t\t\t\tcc.loader.load({url: ske, type: 'txt'}, (error, dragonBonesJson) => {\n\n\t\t\t\t\tconst atlas = new dragonBones.DragonBonesAtlasAsset();\n\t\t\t\t\tatlas.atlasJson = atlasJson;\n\t\t\t\t\tatlas.texture = texture;\n\n\t\t\t\t\tconst asset = new dragonBones.DragonBonesAsset();\n\t\t\t\t\tasset.dragonBonesJson = dragonBonesJson;\n\n\t\t\t\t\tdragonDisplay.dragonAtlasAsset = atlas;\n\t\t\t\t\tdragonDisplay.dragonAsset = asset;\n\n\t\t\t\t\tlet json = JSON.parse(asset.dragonBonesJson);\n\t\t\t\t\tlet armatures = json[\"armature\"];\n\t\t\t\t\tconsole.log('armatures: ', armatures);\n\t\t\t\t\tlet armatureNames = [];\n\t\t\t\t\tfor (let i = 0; i < armatures.length; i++) {\n\t\t\t\t\t\tarmatureNames.push(armatures[i].name);\n\t\t\t\t\t}\n\t\t\t\t\t// console.log('armatureNames: ', armatureNames);\n\t\t\t\t\tif (armatureNames.length > 0) {\n\t\t\t\t\t\tlet defaultArmatureName = armatureNames[0];\n\t\t\t\t\t\tdragonDisplay.armatureName = defaultArmatureName;\n\t\t\t\t\t\t// let animationNames = dragonDisplay.getAnimationNames(defaultArmatureName);\n\t\t\t\t\t\tlet defaultArmature = armatures[0];\n\t\t\t\t\t\tlet animations = defaultArmature.animation;\n\t\t\t\t\t\tlet animationNames = [];\n\t\t\t\t\t\tfor (let i = 0; i < animations.length; i++) {\n\t\t\t\t\t\t\tanimationNames.push(animations[i].name);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// rectNode.addComponent(cc.Button);\n\t\t\t\t\t\t// rectNode.on('click', () => {\n\t\t\t\t\t\tanimaNode.showAnima = () => {\n\t\t\t\t\t\t\tif (rectNode.isClicked) {\n\t\t\t\t\t\t\t\t// return;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trectNode.isClicked = true;\n\t\t\t\t\t\t\tconsole.log('clicked');\n\n\t\t\t\t\t\t\tif (animaNode.audioClip) {\n\t\t\t\t\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\t\t\t\t\tcc.audioEngine.playEffect(animaNode.audioClip, false, 0.8);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (animationNames.length > 0) {\n\t\t\t\t\t\t\t\tdragonDisplay.playAnimation(animationNames[0], 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t},\n\n\t_circle: null,\n\tinitCircle() {\n\n\t\tthis._circle = cc.find('Canvas/circle');\n\t\tthis._circle.active = false;\n\t\tthis._circle.zIndex = 12;\n\t},\n\n\tshowCircle(node) {\n\t\tconsole.log(' in showCircle');\n\n\t\tif (node == this._circle.itemNode) {\n\n\t\t\tnode.data.animaNode.showAnima();\n\t\t\t// if (node.data.audioClip) {\n\t\t\t// \tcc.audioEngine.stopAll();\n\t\t\t// \tcc.audioEngine.playEffect(node.data.audioClip, false, 0.8);\n\t\t\t// }\n\t\t\tthis.hideCircle();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._circle.itemNode = node;\n\n\t\tnode.x += node.width / 2;\n\t\tnode.y += node.height / 2;\n\t\tconst rate = getScaleRateBy2Node(this._circle, node);\n\t\tconst pos = localPosTolocalPos(this._circle, node);\n\t\tnode.x -= node.width / 2;\n\t\tnode.y -= node.height / 2;\n\n\t\tthis._circle.scale *= rate;\n\t\tthis._circle.scale *= (5/4);\n\n\t\tthis._circle.x = pos.x;\n\t\tthis._circle.y = pos.y;\n\n\t\tthis._circle.active = true;\n\n\t\tthis._circle.opacity = 0;\n\t\tcc.tween(this._circle)\n\t\t\t.to(1, {opacity: 255}, {easing: 'cubicOut'})\n\t\t\t.start();\n\n\t},\n\n\tinitListener() {\n\t\tconst canvas = cc.find('Canvas');\n\t\tcanvas.addComponent(cc.Button);\n\t\tcanvas.on('click', () => {\n\t\t\tthis.hideCircle();\n\t\t});\n\t},\n\n\thideCircle() {\n\t\tthis._circle.itemNode = null;\n\t\tcc.tween(this._circle)\n\t\t\t.to(1, {opacity: 0}, {easing: 'cubicOut'})\n\t\t\t.start();\n\t}\n\n\n\t// update (dt) {},\n});\n"]}
\ No newline at end of file
{"version":3,"sources":["assets/cc_mz_004/scene/cc_mz_004.js"],"names":["cc","Class","Component","properties","baseWidth","type","Integer","baseHeight","onLoad","debug","setDisplayStats","initSceneData","initSize","_imageResList","_audioResList","_animaResList","_designSize","view","getDesignResolutionSize","start","getData","bind","window","courseware","data","console","log","getDefaultData","preloadItem","addPreloadImage","addPreloadAudio","addPreloadAnima","preload","func","dataJson","data1","JSON","parse","bgItem","rect","height","width","x","y","url","hotZoneItemArr","id","imgScale","index","itemType","mapScale","skeJsonData","name","texJsonData","texPngData","picArr","audio_url","pic_url","text","concat","preloadArr","assetManager","loadAny","err","loadEnd","hideAirClassLoading","push","forEach","item","bg_audio_url","initView","initBg","initHotZone","initBottomPart","initCircle","initListener","initMusic","loadRemote","clip","audioEngine","setMusicVolume","audioID","playMusic","_cocosScale","frameSize","getFrameSize","sx","winSize","sy","s","Math","min","bgNode","find","scale","max","anchorX","anchorY","bg","rectNode","Node","scaleX","scaleY","addChild","ctx","addComponent","Graphics","fillColor","bgColor","fillRect","fill","initHotZoneBg","hotZoneBg","parent","zIndex","canvas","loader","load","img","addMask","box","getBoundingBox","tmpS","subNum","getVisibleSize","mapS","bgBottom","sprNode","sf","SpriteFrame","spr","Sprite","spriteFrame","bgWhite","shadowNode","Color","BLACK","setA","gIdx","setOneCircle","setOnePic","setOneAnima","node","mask","Mask","Type","RECT","script","getComponent","setItemData","rate","lineWidth","strokeColor","WHITE","isShowDebugLine","stroke","animaNode","audioClip","dragonDisplay","dragonBones","ArmatureDisplay","image","ske","atlas","error","texture","atlasJson","dragonBonesJson","DragonBonesAtlasAsset","asset","DragonBonesAsset","dragonAtlasAsset","dragonAsset","json","armatures","armatureNames","i","length","defaultArmatureName","armatureName","defaultArmature","animations","animation","animationNames","Button","on","isClicked","stopAllEffects","playEffect","playAnimation","picNode","addPicAudio","showCircle","showAnima","_circle","active","itemNode","hideCircle","pos","opacity","tween","to","easing","onDestroy"],"mappings":"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","sourceRoot":"/","sourcesContent":["// Learn cc.Class:\n// - https://docs.cocos.com/creator/manual/en/scripting/class.html\n// Learn Attribute:\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\n// Learn life-cycle callbacks:\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\n\nimport {getScaleRateBy2Node, localPosTolocalPos} from \"./util\";\n\ncc.Class({\n\textends: cc.Component,\n\n\tproperties: {\n\t\tbaseWidth: {\n\t\t\tdefault: 1280,\n\t\t\ttype: cc.Integer\n\t\t},\n\t\tbaseHeight: {\n\t\t\tdefault: 720,\n\t\t\ttype: cc.Integer\n\t\t}\n\t\t// foo: {\n\t\t// // ATTRIBUTES:\n\t\t// default: null, // The default value will be used only when the component attaching\n\t\t// // to a node for the first time\n\t\t// type: cc.SpriteFrame, // optional, default is typeof default\n\t\t// serializable: true, // optional, default is true\n\t\t// },\n\t\t// bar: {\n\t\t// get () {\n\t\t// return this._bar;\n\t\t// },\n\t\t// set (value) {\n\t\t// this._bar = value;\n\t\t// }\n\t\t// },\n\t},\n\n\t// LIFE-CYCLE CALLBACKS:\n\n\t// baseWidth: 1280;\n\t// baseHeight: 720;\n\n\tonLoad() {\n\t\tcc.debug.setDisplayStats(false);\n\t\tthis.initSceneData();\n\t\tthis.initSize();\n\t},\n\n\tinitSceneData() {\n\t\tthis._imageResList = [];\n\t\tthis._audioResList = [];\n\t\tthis._animaResList = [];\n\t},\n\n\t_designSize: null,\n\tinitSize() {\n\t\tthis._designSize = cc.view.getDesignResolutionSize();\n\n\t},\n\n\tstart() {\n\t\tlet getData = this.getData.bind(this);\n\t\tif (window && window.courseware) {\n\t\t\t// console.log('has window');\n\t\t\tgetData = window.courseware.getData;\n\t\t}\n\t\tgetData((data) => {\n\t\t\tconsole.log('data:', data);\n\t\t\tthis.data = data || this.getDefaultData();\n\t\t\tthis.preloadItem()\n\t\t})\n\t},\n\n\n\t_imageResList: null,\n\t_audioResList: null,\n\t_animaResList: null,\n\tpreloadItem() {\n\t\tthis.addPreloadImage();\n\t\tthis.addPreloadAudio();\n\t\tthis.addPreloadAnima();\n\t\tthis.preload();\n\t},\n\n\tgetData(func) {\n\t\tfunc(this.getDefaultData());\n\t},\n\n\tgetDefaultData() {\n\n\t\tconst dataJson = '{\"bgColorId\":0,\"bgColor\":\"#f9bd03\",\"bgItem\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/539e2f58cb1817f852d9c09ec1ac7c8b.png\",\"rect\":{\"x\":265.18,\"y\":0,\"width\":776.65,\"height\":500}},\"hotZoneItemArr\":[{\"id\":\"1611197962070\",\"index\":0,\"pic_url\":\"http://staging-teach.cdn.ireadabc.com/8ce25a36313edb9dfa3de77ba85cb6b9.png\",\"text\":\"aaa\",\"audio_url\":\"http://staging-teach.cdn.ireadabc.com/cd8daa8b4d8ff707b3a3680e80bc4761.mp3\",\"itemType\":\"rect\",\"fontScale\":1.02109375,\"imgScale\":0.7029268568840579,\"mapScale\":1.02109375,\"skeJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/3db1a0ed6b7e33d5f9f284e1a5980349.json\",\"name\":\"Ubbie_ske.json\"},\"texJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/4232e00c9b1d272e650e51dbb785e498.json\",\"name\":\"Ubbie_tex.json\"},\"texPngData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/2e56dbe3134380952a725eacceb86359.png\",\"name\":\"Ubbie_tex.png\"},\"gIdx\":\"0\",\"rect\":{\"x\":-1.68,\"y\":-1,\"width\":200,\"height\":200}},{\"id\":\"1611197966644\",\"index\":1,\"pic_url\":\"http://staging-teach.cdn.ireadabc.com/c8abf7383d65bcbdba8f390785cece60.png\",\"audio_url\":\"http://staging-teach.cdn.ireadabc.com/1961d807c944e6551af02c7b57e117f3.mp3\",\"itemType\":\"pic\",\"fontScale\":1.02109375,\"imgScale\":0.2536231884057971,\"mapScale\":1.02109375,\"gIdx\":\"1\",\"rect\":{\"x\":7.32,\"y\":424,\"width\":70,\"height\":70}},{\"id\":\"1611197971104\",\"index\":2,\"audio_url\":\"http://staging-teach.cdn.ireadabc.com/694a80e21cefd6e53880d61e684e1c94.mp3\",\"itemType\":\"rect\",\"fontScale\":1.02109375,\"imgScale\":1,\"mapScale\":1.02109375,\"skeJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/7efceac56cc9a61b107a11457390d3c6.json\",\"name\":\"finish1_ske.json\"},\"texJsonData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/d6e8db4fb385127de9e3cd9d8a9530f7.json\",\"name\":\"finish1_tex.json\"},\"texPngData\":{\"url\":\"http://staging-teach.cdn.ireadabc.com/96f5c7a9ac9f433c9c870c38b0811a38.png\",\"name\":\"finish1_tex.png\"},\"gIdx\":\"2\",\"rect\":{\"x\":575.32,\"y\":303,\"width\":200,\"height\":200}}],\"bg_audio_url\":\"http://staging-teach.cdn.ireadabc.com/3fa65d5f667a2ef9059d3dfc5df74a4d.mp3\"}'\n\t\tconst data1 = JSON.parse(dataJson);\n\t\treturn data1;\n\n\t\tconst data = {\n\t\t\tbgItem: {\n\t\t\t\trect: {\n\t\t\t\t\theight: 380,\n\t\t\t\t\twidth: 675.56,\n\t\t\t\t\tx: 160.72,\n\t\t\t\t\ty: 0\n\t\t\t\t},\n\t\t\t\t// url: \"http://staging-teach.cdn.ireadabc.com/b31c5881ea5f607c1d3540029a7d29c7.png\"\n\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/756b0a8de4cb84ed70e70d60f87a5901.jpg\"\n\t\t\t},\n\t\t\thotZoneItemArr: [\n\t\t\t\t{\n\t\t\t\t\tid: 1595919608244,\n\t\t\t\t\timgScale: 1,\n\t\t\t\t\tindex: 0,\n\t\t\t\t\titemType: \"rect\",\n\t\t\t\t\tmapScale: 0.903125,\n\t\t\t\t\trect: {\n\t\t\t\t\t\theight: 120.84,\n\t\t\t\t\t\twidth: 115.99,\n\t\t\t\t\t\tx: 378.68,\n\t\t\t\t\t\ty: 191.3\n\t\t\t\t\t},\n\t\t\t\t\tskeJsonData: {\n\t\t\t\t\t\tname: \"finish1_ske.json\",\n\t\t\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/bd825dcceea298d1146be8067ae3d17f.json\"\n\t\t\t\t\t},\n\t\t\t\t\ttexJsonData: {\n\t\t\t\t\t\tname: \"finish1_tex.json\",\n\t\t\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/246f8991b729fa3e5a7f4802de828efa.json\"\n\t\t\t\t\t},\n\t\t\t\t\ttexPngData: {\n\t\t\t\t\t\tname: \"finish1_tex.png\",\n\t\t\t\t\t\turl: \"http://staging-teach.cdn.ireadabc.com/5a0c5af3e952acd0ac83a6e5c6f03ff1.png\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\n\t\t\tpicArr: [\n\t\t\t\t{\n\t\t\t\t\taudio_url: \"http://staging-teach.cdn.ireadabc.com/0128a59057e63c4c6b4b96556d077a98.mp3\",\n\t\t\t\t\tpic_url: \"http://staging-teach.cdn.ireadabc.com/18f2a029e02d679da8d42746daea228f.png\",\n\t\t\t\t\ttext: \"1111\",\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\tdata.picArr = data.picArr.concat(data.picArr);\n\t\treturn data;\n\t},\n\n\tpreload() {\n\n\t\tconst preloadArr = this._imageResList.concat(this._audioResList).concat(this._animaResList);\n\t\tcc.assetManager.loadAny(preloadArr, null, null, (err, data) => {\n\t\t\tconsole.log(' preload data, ', data);\n\n\t\t\t// typeof\n\t\t\tthis.loadEnd();\n\t\t\tif (window && window[\"air\"]) {\n\t\t\t\twindow[\"air\"].hideAirClassLoading();\n\t\t\t}\n\t\t});\n\t},\n\n\taddPreloadImage() {\n\t\n\t\tif (this.data.bgItem) {\n\t\t\tthis._imageResList.push({ url: this.data.bgItem.url });\n\t\t}\n\t\tif (!this.data.hotZoneItemArr) {\n\t\t\treturn;\n\t\t}\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tif (item.pic_url) {\n\t\t\t\tthis._imageResList.push({ url: item.pic_url });\n\t\t\t}\n\t\t})\n\n\t},\n\n\taddPreloadAudio() {\n\n\t\tif (!this.data.hotZoneItemArr) {\n\t\t\treturn;\n\t\t}\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tthis._audioResList.push({url: item.audio_url});\n\t\t})\n\n\t\tthis._audioResList.push({url: this.data.bg_audio_url});\n\t},\n\n\taddPreloadAnima() {\n\t\tif (!this.data.hotZoneItemArr) {\n\t\t\treturn;\n\t\t}\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tif (item.skeJsonData) {\n\t\t\t\tthis._animaResList.push({ url: item.skeJsonData.url || '' });\n\t\t\t\tthis._animaResList.push({ url: item.texJsonData.url || ''});\n\t\t\t\tthis._animaResList.push({ url: item.texPngData.url || ''});\n\t\t\t}\n\t\t})\n\t},\n\n\tloadEnd() {\n\t\tthis.initView();\n\t},\n\n\tinitView() {\n\t\tthis.initBg();\n\t\tthis.initHotZone();\n\t\tthis.initBottomPart();\n\t\tthis.initCircle();\n\t\tthis.initListener();\n\t\tthis.initMusic();\n\t},\n\n\n\tinitMusic() {\n\n\t\tif (!this.data.bg_audio_url) {\n\t\t\treturn;\n\t\t}\n\t\tcc.assetManager.loadRemote(this.data.bg_audio_url, (err, clip) => {\n\t\t\tcc.audioEngine.setMusicVolume(0.3);\n\t\t\tconst audioID = cc.audioEngine.playMusic(clip, true);\n\t\t});\n\t},\n\n\t_cocosScale: null,\n\tinitBg() {\n\t\tconst frameSize = cc.view.getFrameSize();\n\n\t\tlet sx = cc.winSize.width / frameSize.width;\n\t\tlet sy = cc.winSize.height / frameSize.height;\n\t\tlet s = Math.min(sx, sy);\n\n\t\tthis._cocosScale = s;\n\n\t\tconst bgNode = cc.find('Canvas/bg');\n\t\t// const sx = cc.winSize.width / bgNode.width;\n\t\t// const sy = cc.winSize.height / bgNode.height;\n\t\t sx = frameSize.width / bgNode.width;\n\t\t sy = frameSize.height / bgNode.height;\n\t\tbgNode.scale = Math.max(sx, sy) * s;\n\t\tbgNode.anchorX = 1;\n\t\tbgNode.anchorY = 0;\n\t\tbgNode.x = frameSize.width / 2 * s;\n\t\tbgNode.y = -frameSize.height / 2 * s;\n\n\n\n\t\n\t\tconst bg = cc.find('Canvas/bg');\n\t\tconst rectNode = new cc.Node();\n\t\trectNode.x = -bg.x;\n\t\trectNode.y = -bg.y;\n\t\trectNode.scaleX = bg.scaleX;\n\t\trectNode.scaleY = bg.scaleY;\n\t\tbg.addChild(rectNode);\n\t\tconst ctx = rectNode.addComponent(cc.Graphics);\n\t\tctx.fillColor = this.data.bgColor || '#f9bd03';\n\t\tctx.fillRect(-bg.width / 2 , -bg.height / 2, bg.width, bg.height);\n\t\tctx.fill();\n\n\t},\n\n\n\tinitHotZone() {\n\t\tthis.initHotZoneBg();\n\n\t},\n\n\thotZoneBg: null,\n\tinitHotZoneBg() {\n\t\tthis.hotZoneBg = new cc.Node();\n\t\tthis.hotZoneBg.name = 'hotZoneBg';\n\t\tthis.hotZoneBg.parent = cc.find('Canvas');\n\t\tthis.hotZoneBg.zIndex = 4;\n\n\n\t\tconst canvas = cc.find('Canvas/Main Camera');\n\t\t// console.log('canvas: ', canvas);\n\n\t\tif (!this.data.bgItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tcc.loader.load({url: this.data.bgItem.url}, (err, img) => {\n\n\t\t\tthis.addMask(this.hotZoneBg);\n\n\t\t\tthis.hotZoneBg.width = img.width;\n\t\t\tthis.hotZoneBg.height = img.height;\n\n\n\n\t\t\tconst box = this.hotZoneBg.getBoundingBox();\n\n\n\t\t\tconst tmpS = 640 / 720;\n\t\t\tlet subNum = 720 - 640;\n\t\t\tconst frameSize = cc.view.getFrameSize();\n\t\t\tconst winSize = cc.winSize;\n\n\t\t\tconsole.log('this.hotZoneBg.box: ', this.hotZoneBg.getBoundingBox());\n\t\t\tconsole.log('let visiSize=cc.director.getVisibleSize();: ', cc.view.getVisibleSize());\n\t\t\tconsole.log('lframeSize: ', frameSize);\n\n\t\t\tlet sx = frameSize.width / this._designSize.width;\n\t\t\tlet sy = frameSize.height / this._designSize.height;\n\t\t\tconst mapS = Math.min(sx, sy);\n\t\t\t// const sy = canvas.height * tmpS / box.height;\n\n\n\t\t\tconst bgBottom = cc.find('Canvas/bgBottom');\n\t\t\tbgBottom.scale = mapS * this._cocosScale;\n\t\t\t// subNum = bgBottom.height;\n\n\t\t\t sx = frameSize.width * this._cocosScale / img.width;\n\t\t\t sy = (frameSize.height * this._cocosScale - subNum * mapS * this._cocosScale) / img.height;\n\n\n\t\t\tconst sprNode = new cc.Node();\n\t\t\tvar sf = new cc.SpriteFrame(img);\n\t\t\t// const spr = this.hotZoneBg.addComponent(cc.Sprite);\n\t\t\tconst spr = sprNode.addComponent(cc.Sprite);\n\t\t\tspr.spriteFrame = sf\n\t\t\tsprNode.width = this.hotZoneBg.width;\n\t\t\tsprNode.height = this.hotZoneBg.height;\n\t\t\tsprNode.parent = this.hotZoneBg;\n\n\t\t\tthis.hotZoneBg.scale = Math.min(sx, sy);\n\n\t\t\t// this.hotZoneBg.y = -frameSize.height / 2 * this._cocosScale + this.hotZoneBg.height / 2 * this.hotZoneBg.scaleY + (subNum * mapS * this._cocosScale);\n\t\t\tthis.hotZoneBg.y = frameSize.height / 2 * this._cocosScale - this.hotZoneBg.height / 2 * this.hotZoneBg.scaleY ;\n\n\n\t\t\t// this.hotZoneBg.opacity = 20;\n\n\t\t\tconst bgWhite = cc.find('Canvas/bgWhite');\n\t\t\tbgWhite.y = this.hotZoneBg.y;\n\n\t\t\tbgWhite.scaleX = this.hotZoneBg.width * this.hotZoneBg.scaleX / bgWhite.width;\n\t\t\tbgWhite.scaleY = this.hotZoneBg.height * this.hotZoneBg.scaleY / bgWhite.height;\n\n\n\t\t\tconst canvas = cc.find('Canvas');\n\t\t\tconst shadowNode = new cc.Node();\n\t\t\tshadowNode.y = bgWhite.y;\n\t\t\tshadowNode.scaleX = bgWhite.scaleX;\n\t\t\tshadowNode.scaleY = bgWhite.scaleY;\n\t\t\tcanvas.addChild(shadowNode);\n\t\t\tconst ctx = shadowNode.addComponent(cc.Graphics);\n\t\t\tctx.fillColor = cc.Color.BLACK.setA(30);\n\t\t\t// ctx.fillRect(5, 5, this.hotZoneBg.width*this.hotZoneBg.scaleX, this.hotZoneBg.height * this.hotZoneBg.scaleY);\n\t\t\tctx.fillRect(-bgWhite.width / 2 + 8 / bgWhite.scaleX * this.hotZoneBg.scale, -bgWhite.height / 2 - 8 / bgWhite.scaleX * this.hotZoneBg.scale, bgWhite.width, bgWhite.height);\n\t\t\tctx.fill();\n\n\t\t\tshadowNode.zIndex = 1;\n\t\t\tbgWhite.zIndex = 2;\n\n\t\t\tbgBottom.y = -frameSize.height / 2 * this._cocosScale - 15 * bgBottom.scaleY;\n\n\t\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\t\tif (item.gIdx == '0') {\n\t\t\t\t\tthis.setOneCircle(item);\n\t\t\t\t} else if (item.gIdx == '1') {\n\t\t\t\t\tthis.setOnePic(item);\n\t\t\t\t} else if (item.gIdx == '2') {\n\t\t\t\t\tthis.setOneAnima(item);\n\t\t\t\t}\n\t\t\t});\n\n\t\t});\n\n\t},\n\n\taddMask(node) {\n\t\tconst mask = node.addComponent(cc.Mask);\n\t\tmask.type = cc.Mask.Type.RECT;\n\t},\n\n\tinitBottomPart() {\n\n\t\tconst bgBottom = cc.find('Canvas/bgBottom');\n\t\tconst script = bgBottom.getComponent('bgBottom_cc_mz_004');\n\n\t\tconst picArr = [];\n\t\tthis.data.hotZoneItemArr.forEach((item) => {\n\t\t\tif (item.gIdx == '0') {\n\t\t\t\tpicArr.push(item);\n\t\t\t}\n\t\t});\n\t\tscript.setItemData(picArr);\n\t},\n\n\n\tsetOneAnima(data) {\n\n\n\t\tconst rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;\n\n\t\tconst rectNode = new cc.Node();\n\t\trectNode.name = 'rect' + data.index;\n\t\tthis.hotZoneBg.addChild(rectNode);\n\n\n\t\tconst ctx = rectNode.addComponent(cc.Graphics);\n\t\t// 红色矩形\n\t\tctx.lineWidth = 4;\n\t\tctx.strokeColor = cc.Color.BLACK;\n\t\tctx.fillColor = cc.Color.WHITE.setA(100);\n\n\t\tconst scale = rate / this.hotZoneBg.scaleY;\n\n\t\trectNode.width = data.rect.width * scale;\n\t\trectNode.height = data.rect.height * scale;\n\t\trectNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;\n\t\trectNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;\n\n\t\trectNode.anchorX = rectNode.anchorY = 0;\n\n\n\t\tif (this.data.bgItem.isShowDebugLine) {\n\t\t\tctx.rect(0, 0, rectNode.width, rectNode.height);\n\t\t}\n\t\tctx.stroke();\n\t\tctx.fill();\n\n\n\n\t\tconst animaNode = new cc.Node();\n\t\tanimaNode.name = 'anima_' + data.index;\n\t\tthis.hotZoneBg.addChild(animaNode);\n\n\t\t// rectNode.addChild(animaNode);\n\t\t// animaNode.x = rectNode.width / 2;\n\t\t// animaNode.y = rectNode.height / 2;\n\n\n\t\tif (data.audio_url) {\n\t\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\t\tanimaNode.audioClip = audioClip;\n\t\t\t});\n\t\t}\n\n\n\t\tconst dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);\n\n\t\tconst image = data.texPngData.url//\"http://staging-teach.cdn.ireadabc.com/5a0c5af3e952acd0ac83a6e5c6f03ff1.png\";\n\t\tconst ske = data.skeJsonData.url//\"http://staging-teach.cdn.ireadabc.com/bd825dcceea298d1146be8067ae3d17f.json\";\n\t\tconst atlas = data.texJsonData.url//\"http://staging-teach.cdn.ireadabc.com/246f8991b729fa3e5a7f4802de828efa.json\";\n\t\tcc.loader.load(image, (error, texture) => {\n\n\t\t\tcc.loader.load({url: atlas, type: 'txt'}, (error, atlasJson) => {\n\n\t\t\t\tcc.loader.load({url: ske, type: 'txt'}, (error, dragonBonesJson) => {\n\n\t\t\t\t\tconst atlas = new dragonBones.DragonBonesAtlasAsset();\n\t\t\t\t\tatlas.atlasJson = atlasJson;\n\t\t\t\t\tatlas.texture = texture;\n\n\t\t\t\t\tconst asset = new dragonBones.DragonBonesAsset();\n\t\t\t\t\tasset.dragonBonesJson = dragonBonesJson;\n\n\t\t\t\t\tdragonDisplay.dragonAtlasAsset = atlas;\n\t\t\t\t\tdragonDisplay.dragonAsset = asset;\n\n\t\t\t\t\tlet json = JSON.parse(asset.dragonBonesJson);\n\t\t\t\t\tlet armatures = json[\"armature\"];\n\t\t\t\t\tconsole.log('armatures: ', armatures);\n\t\t\t\t\tlet armatureNames = [];\n\t\t\t\t\tfor (let i = 0; i < armatures.length; i++) {\n\t\t\t\t\t\tarmatureNames.push(armatures[i].name);\n\t\t\t\t\t}\n\t\t\t\t\t// console.log('armatureNames: ', armatureNames);\n\t\t\t\t\tif (armatureNames.length > 0) {\n\t\t\t\t\t\tlet defaultArmatureName = armatureNames[0];\n\t\t\t\t\t\tdragonDisplay.armatureName = defaultArmatureName;\n\t\t\t\t\t\t// let animationNames = dragonDisplay.getAnimationNames(defaultArmatureName);\n\t\t\t\t\t\tlet defaultArmature = armatures[0];\n\t\t\t\t\t\tlet animations = defaultArmature.animation;\n\t\t\t\t\t\tlet animationNames = [];\n\t\t\t\t\t\tfor (let i = 0; i < animations.length; i++) {\n\t\t\t\t\t\t\tanimationNames.push(animations[i].name);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\trectNode.addComponent(cc.Button);\n\t\t\t\t\t\trectNode.on('click', () => {\n\t\t\t\t\t\t\tif (rectNode.isClicked) {\n\t\t\t\t\t\t\t\t// return;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trectNode.isClicked = true;\n\t\t\t\t\t\t\tconsole.log('clicked');\n\n\t\t\t\t\t\t\tif (animaNode.audioClip) {\n\t\t\t\t\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\t\t\t\t\tcc.audioEngine.playEffect(animaNode.audioClip, false, 0.8);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (animationNames.length > 0) {\n\t\t\t\t\t\t\t\tdragonDisplay.playAnimation(animationNames[0], 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t},\n\n\n\tsetOnePic(data) {\n\t\tconst rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;\n\n\t\tconst picNode = new cc.Node();\n\t\tpicNode.data = data;\n\t\tthis.hotZoneBg.addChild(picNode);\n\n\t\tcc.loader.load({url: data.pic_url}, (err, img) => {\n\n\t\t\tconst spr = picNode.addComponent(cc.Sprite);\n\t\t\tspr.spriteFrame = new cc.SpriteFrame(img)\n\n\t\t\tconst scale = rate / this.hotZoneBg.scaleY;\n\n\t\t\tpicNode.width = data.rect.width * scale;\n\t\t\tpicNode.height = data.rect.height * scale;\n\t\t\tpicNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;\n\t\t\tpicNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;\n\n\t\t\tpicNode.anchorX = picNode.anchorY = 0;\n\n\t\t\tif (data.audio_url) {\n\t\t\t\tthis.addPicAudio(picNode);\n\t\t\t}\n\t\t});\n\n\t},\n\n\taddPicAudio(picNode) {\n\t\tconst data = picNode.data;\n\t\t\n\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\tpicNode.audioClip = audioClip;\n\t\t});\n\n\t\tpicNode.addComponent(cc.Button);\n\t\tpicNode.on('click', () => {\n\t\t\t\tif (picNode.audioClip) {\n\t\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\t\tcc.audioEngine.playEffect(picNode.audioClip, false, 0.8);\n\t\t\t\t}\n\t\t});\n\t},\n\n\tsetOneCircle(data) {\n\t\tconst rate = (this.hotZoneBg.scale * this.hotZoneBg.width) / this.data.bgItem.rect.width;\n\n\t\tconst rectNode = new cc.Node();\n\t\trectNode.name = 'rect' + data.index;\n\t\trectNode.data = data;\n\t\tthis.hotZoneBg.addChild(rectNode);\n\n\n\t\tconst scale = rate / this.hotZoneBg.scaleY;\n\n\t\trectNode.width = data.rect.width * scale;\n\t\trectNode.height = data.rect.height * scale;\n\t\trectNode.x = -this.hotZoneBg.width / 2 + data.rect.x * scale;\n\t\trectNode.y = this.hotZoneBg.height / 2 - data.rect.height * scale - data.rect.y * scale;\n\n\t\trectNode.anchorX = rectNode.anchorY = 0;\n\n\n\t\tif (data.audio_url) {\n\t\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\t\tdata.audioClip = audioClip;\n\t\t\t});\n\t\t}\n\n\t\trectNode.addComponent(cc.Button);\n\t\trectNode.on('click', () => {\n\t\t\tthis.showCircle(rectNode);\n\t\t});\n\n\n\n\n\n\t\tconst animaNode = new cc.Node();\n\t\tanimaNode.name = 'anima_' + data.index;\n\t\tthis.hotZoneBg.addChild(animaNode);\n\t\tdata.animaNode = animaNode;\n\n\n\t\tif (data.audio_url) {\n\t\t\tcc.assetManager.loadRemote(data.audio_url, (err, audioClip) => {\n\t\t\t\tanimaNode.audioClip = audioClip;\n\t\t\t});\n\t\t}\n\n\n\t\tconst dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);\n\n\t\tconst image = data.texPngData.url//\"http://staging-teach.cdn.ireadabc.com/5a0c5af3e952acd0ac83a6e5c6f03ff1.png\";\n\t\tconst ske = data.skeJsonData.url//\"http://staging-teach.cdn.ireadabc.com/bd825dcceea298d1146be8067ae3d17f.json\";\n\t\tconst atlas = data.texJsonData.url//\"http://staging-teach.cdn.ireadabc.com/246f8991b729fa3e5a7f4802de828efa.json\";\n\t\tcc.loader.load(image, (error, texture) => {\n\n\t\t\tcc.loader.load({url: atlas, type: 'txt'}, (error, atlasJson) => {\n\n\t\t\t\tcc.loader.load({url: ske, type: 'txt'}, (error, dragonBonesJson) => {\n\n\t\t\t\t\tconst atlas = new dragonBones.DragonBonesAtlasAsset();\n\t\t\t\t\tatlas.atlasJson = atlasJson;\n\t\t\t\t\tatlas.texture = texture;\n\n\t\t\t\t\tconst asset = new dragonBones.DragonBonesAsset();\n\t\t\t\t\tasset.dragonBonesJson = dragonBonesJson;\n\n\t\t\t\t\tdragonDisplay.dragonAtlasAsset = atlas;\n\t\t\t\t\tdragonDisplay.dragonAsset = asset;\n\n\t\t\t\t\tlet json = JSON.parse(asset.dragonBonesJson);\n\t\t\t\t\tlet armatures = json[\"armature\"];\n\t\t\t\t\tconsole.log('armatures: ', armatures);\n\t\t\t\t\tlet armatureNames = [];\n\t\t\t\t\tfor (let i = 0; i < armatures.length; i++) {\n\t\t\t\t\t\tarmatureNames.push(armatures[i].name);\n\t\t\t\t\t}\n\t\t\t\t\t// console.log('armatureNames: ', armatureNames);\n\t\t\t\t\tif (armatureNames.length > 0) {\n\t\t\t\t\t\tlet defaultArmatureName = armatureNames[0];\n\t\t\t\t\t\tdragonDisplay.armatureName = defaultArmatureName;\n\t\t\t\t\t\t// let animationNames = dragonDisplay.getAnimationNames(defaultArmatureName);\n\t\t\t\t\t\tlet defaultArmature = armatures[0];\n\t\t\t\t\t\tlet animations = defaultArmature.animation;\n\t\t\t\t\t\tlet animationNames = [];\n\t\t\t\t\t\tfor (let i = 0; i < animations.length; i++) {\n\t\t\t\t\t\t\tanimationNames.push(animations[i].name);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// rectNode.addComponent(cc.Button);\n\t\t\t\t\t\t// rectNode.on('click', () => {\n\t\t\t\t\t\tanimaNode.showAnima = () => {\n\t\t\t\t\t\t\tif (rectNode.isClicked) {\n\t\t\t\t\t\t\t\t// return;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trectNode.isClicked = true;\n\t\t\t\t\t\t\tconsole.log('clicked');\n\n\t\t\t\t\t\t\tif (animaNode.audioClip) {\n\t\t\t\t\t\t\t\tcc.audioEngine.stopAllEffects();\n\t\t\t\t\t\t\t\tcc.audioEngine.playEffect(animaNode.audioClip, false, 0.8);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (animationNames.length > 0) {\n\t\t\t\t\t\t\t\tdragonDisplay.playAnimation(animationNames[0], 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t},\n\n\t_circle: null,\n\tinitCircle() {\n\n\t\tthis._circle = cc.find('Canvas/circle');\n\t\tthis._circle.active = false;\n\t\tthis._circle.zIndex = 12;\n\t},\n\n\tshowCircle(node) {\n\t\tconsole.log(' in showCircle');\n\n\t\tif (node == this._circle.itemNode) {\n\n\t\t\tnode.data.animaNode.showAnima();\n\t\t\t// if (node.data.audioClip) {\n\t\t\t// \tcc.audioEngine.stopAll();\n\t\t\t// \tcc.audioEngine.playEffect(node.data.audioClip, false, 0.8);\n\t\t\t// }\n\t\t\tthis.hideCircle();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._circle.itemNode = node;\n\n\t\tnode.x += node.width / 2;\n\t\tnode.y += node.height / 2;\n\t\tconst rate = getScaleRateBy2Node(this._circle, node);\n\t\tconst pos = localPosTolocalPos(this._circle, node);\n\t\tnode.x -= node.width / 2;\n\t\tnode.y -= node.height / 2;\n\n\t\tthis._circle.scale *= rate;\n\t\tthis._circle.scale *= (5/4);\n\n\t\tthis._circle.x = pos.x;\n\t\tthis._circle.y = pos.y;\n\n\t\tthis._circle.active = true;\n\n\t\tthis._circle.opacity = 0;\n\t\tcc.tween(this._circle)\n\t\t\t.to(1, {opacity: 255}, {easing: 'cubicOut'})\n\t\t\t.start();\n\n\t},\n\n\tinitListener() {\n\t\tconst canvas = cc.find('Canvas');\n\t\tcanvas.addComponent(cc.Button);\n\t\tcanvas.on('click', () => {\n\t\t\tthis.hideCircle();\n\t\t});\n\t},\n\n\thideCircle() {\n\t\tthis._circle.itemNode = null;\n\t\tcc.tween(this._circle)\n\t\t\t.to(1, {opacity: 0}, {easing: 'cubicOut'})\n\t\t\t.start();\n\t},\n\n\tonDestroy() {\n\n\t}\n\n\n\t// update (dt) {},\n});\n"]}
\ No newline at end of file
"use strict";
cc._RF.push(module, '5ac8b17OKNJaawviu75DIhe', 'util');
cc._RF.push(module, '6b3c5wY9AlOIYrACoB1uQ1B', 'util');
// cc_mz_004/script/util.js
"use strict";
......
{"pid":26808}
{"pid":48376}
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