From 6ea6375fdb31d993e7a6fab4bb3d88fabe760ee6 Mon Sep 17 00:00:00 2001 From: caizhitao Date: Mon, 17 Feb 2020 10:05:42 +0800 Subject: [PATCH] bugfix for 2d sprite glow outter --- ...er.effect => 2d-sprite-glow-outter.effect} | 9 +- ...meta => 2d-sprite-glow-outter.effect.meta} | 6 +- assets/materials/2d-sprite-glow-outter.mtl | 18 ++ ...tl.meta => 2d-sprite-glow-outter.mtl.meta} | 2 +- assets/materials/sprite-glow-outter.mtl | 30 --- assets/scenes/GlowOutterEffectScene.fire | 251 +++--------------- 6 files changed, 67 insertions(+), 249 deletions(-) rename assets/effects/{sprite-glow-outter.effect => 2d-sprite-glow-outter.effect} (94%) rename assets/effects/{sprite-glow-outter.effect.meta => 2d-sprite-glow-outter.effect.meta} (81%) create mode 100644 assets/materials/2d-sprite-glow-outter.mtl rename assets/materials/{sprite-glow-outter.mtl.meta => 2d-sprite-glow-outter.mtl.meta} (56%) delete mode 100644 assets/materials/sprite-glow-outter.mtl diff --git a/assets/effects/sprite-glow-outter.effect b/assets/effects/2d-sprite-glow-outter.effect similarity index 94% rename from assets/effects/sprite-glow-outter.effect rename to assets/effects/2d-sprite-glow-outter.effect index 2051afa..63177e6 100644 --- a/assets/effects/sprite-glow-outter.effect +++ b/assets/effects/2d-sprite-glow-outter.effect @@ -1,6 +1,5 @@ // Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. -// 外发光特效 -// 原理:采样周边像素alpha取平均值,给外部加发光效果(1-col.a可避免内部发光) + CCEffect %{ techniques: - passes: @@ -14,7 +13,6 @@ CCEffect %{ properties: texture: { value: white } alphaThreshold: { value: 0.5 } - # 自定义参数 # 发光颜色 glowColor: { @@ -50,20 +48,17 @@ CCProgram vs %{ #include #include - // a_position 是笛卡尔坐标右手系,也是OpenGL的坐标系,原点在左下角,X轴正方向往右,Y轴正方向往上,Z轴正方向往外 in vec3 a_position; in vec4 a_color; out vec4 v_color; #if USE_TEXTURE - // a_uv0 是标准屏幕坐标系,即原点在左上角,X轴正方向往右,Y轴正方向往下 in vec2 a_uv0; out vec2 v_uv0; #endif void main () { vec4 pos = vec4(a_position, 1); - // vec4 pos = vec4(a_position * vec3(1.0, 1.0, 1.0), 1); #if CC_USE_MODEL pos = cc_matViewProj * cc_matWorld * pos; @@ -239,7 +234,7 @@ CCProgram fs %{ vec4 o = vec4(1, 1, 1, 1); #if USE_TEXTURE - o *= getTextureColor(texture, v_uv0); + o *= texture(texture, v_uv0); #if CC_USE_ALPHA_ATLAS_TEXTURE o.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r; #endif diff --git a/assets/effects/sprite-glow-outter.effect.meta b/assets/effects/2d-sprite-glow-outter.effect.meta similarity index 81% rename from assets/effects/sprite-glow-outter.effect.meta rename to assets/effects/2d-sprite-glow-outter.effect.meta index 533590a..7596856 100644 --- a/assets/effects/sprite-glow-outter.effect.meta +++ b/assets/effects/2d-sprite-glow-outter.effect.meta @@ -1,15 +1,15 @@ { "ver": "1.0.25", - "uuid": "89f30b2e-b75e-49b1-9dfc-cb341cadd30a", + "uuid": "67e9833e-aa43-427a-ba89-d7bdd1ef0aed", "compiledShaders": [ { "glsl1": { "vert": "\nprecision highp float;\nuniform mediump 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\nvec4 getTextureColor(sampler2D texture, vec2 v_uv0) {\n if (v_uv0.x > 1.0 || v_uv0.x < 0.0 || v_uv0.y > 1.0 || v_uv0.y < 0.0) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n }\n return texture2D(texture, v_uv0);\n}\n#if SHOW_OUTTER_GLOW\nuniform vec4 glowColor;\nuniform float glowColorSize;\nuniform float glowThreshold;\nfloat getColorAlpha(float angle, float dist) {\n float radian = angle * 0.01745329252;\n vec4 color = getTextureColor(texture, v_uv0 + vec2(dist * cos(radian), dist * sin(radian)));\n return color.a;\n}\nfloat getAverageAlpha(float dist) {\n float totalAlpha = 0.0;\n totalAlpha += getColorAlpha(0.0, dist);\n totalAlpha += getColorAlpha(30.0, dist);\n totalAlpha += getColorAlpha(60.0, dist);\n totalAlpha += getColorAlpha(90.0, dist);\n totalAlpha += getColorAlpha(120.0, dist);\n totalAlpha += getColorAlpha(150.0, dist);\n totalAlpha += getColorAlpha(180.0, dist);\n totalAlpha += getColorAlpha(210.0, dist);\n totalAlpha += getColorAlpha(240.0, dist);\n totalAlpha += getColorAlpha(270.0, dist);\n totalAlpha += getColorAlpha(300.0, dist);\n totalAlpha += getColorAlpha(330.0, dist);\n return totalAlpha * 0.0833;\n}\nfloat getGlowAlpha() {\n if (glowColorSize == 0.0) {\n return 0.0;\n }\n float totalAlpha = 0.0;\n totalAlpha += getAverageAlpha(glowColorSize * 0.1);\n totalAlpha += getAverageAlpha(glowColorSize * 0.2);\n totalAlpha += getAverageAlpha(glowColorSize * 0.3);\n totalAlpha += getAverageAlpha(glowColorSize * 0.4);\n totalAlpha += getAverageAlpha(glowColorSize * 0.5);\n totalAlpha += getAverageAlpha(glowColorSize * 0.6);\n totalAlpha += getAverageAlpha(glowColorSize * 0.7);\n totalAlpha += getAverageAlpha(glowColorSize * 0.8);\n totalAlpha += getAverageAlpha(glowColorSize * 0.9);\n totalAlpha += getAverageAlpha(glowColorSize * 1.0);\n return totalAlpha * 0.1;\n}\n#endif\nvoid main () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n o *= getTextureColor(texture, v_uv0);\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 #if SHOW_OUTTER_GLOW\n float alpha = getGlowAlpha();\n if (alpha <= glowThreshold) {\n alpha = alpha / glowThreshold;\n alpha = -1.0 * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) + 1.0;\n } else {\n alpha = 0.0;\n }\n vec4 color_dest = glowColor * alpha;\n vec4 color_src = o;\n gl_FragColor = color_src * color_src.a + color_dest * (1.0 - color_src.a);\n #endif\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\nvec4 getTextureColor(sampler2D texture, vec2 v_uv0) {\n if (v_uv0.x > 1.0 || v_uv0.x < 0.0 || v_uv0.y > 1.0 || v_uv0.y < 0.0) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n }\n return texture2D(texture, v_uv0);\n}\n#if SHOW_OUTTER_GLOW\nuniform vec4 glowColor;\nuniform float glowColorSize;\nuniform float glowThreshold;\nfloat getColorAlpha(float angle, float dist) {\n float radian = angle * 0.01745329252;\n vec4 color = getTextureColor(texture, v_uv0 + vec2(dist * cos(radian), dist * sin(radian)));\n return color.a;\n}\nfloat getAverageAlpha(float dist) {\n float totalAlpha = 0.0;\n totalAlpha += getColorAlpha(0.0, dist);\n totalAlpha += getColorAlpha(30.0, dist);\n totalAlpha += getColorAlpha(60.0, dist);\n totalAlpha += getColorAlpha(90.0, dist);\n totalAlpha += getColorAlpha(120.0, dist);\n totalAlpha += getColorAlpha(150.0, dist);\n totalAlpha += getColorAlpha(180.0, dist);\n totalAlpha += getColorAlpha(210.0, dist);\n totalAlpha += getColorAlpha(240.0, dist);\n totalAlpha += getColorAlpha(270.0, dist);\n totalAlpha += getColorAlpha(300.0, dist);\n totalAlpha += getColorAlpha(330.0, dist);\n return totalAlpha * 0.0833;\n}\nfloat getGlowAlpha() {\n if (glowColorSize == 0.0) {\n return 0.0;\n }\n float totalAlpha = 0.0;\n totalAlpha += getAverageAlpha(glowColorSize * 0.1);\n totalAlpha += getAverageAlpha(glowColorSize * 0.2);\n totalAlpha += getAverageAlpha(glowColorSize * 0.3);\n totalAlpha += getAverageAlpha(glowColorSize * 0.4);\n totalAlpha += getAverageAlpha(glowColorSize * 0.5);\n totalAlpha += getAverageAlpha(glowColorSize * 0.6);\n totalAlpha += getAverageAlpha(glowColorSize * 0.7);\n totalAlpha += getAverageAlpha(glowColorSize * 0.8);\n totalAlpha += getAverageAlpha(glowColorSize * 0.9);\n totalAlpha += getAverageAlpha(glowColorSize * 1.0);\n return totalAlpha * 0.1;\n}\n#endif\nvoid main () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n o *= texture2D(texture, v_uv0);\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 #if SHOW_OUTTER_GLOW\n float alpha = getGlowAlpha();\n if (alpha <= glowThreshold) {\n alpha = alpha / glowThreshold;\n alpha = -1.0 * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) + 1.0;\n } else {\n alpha = 0.0;\n }\n vec4 color_dest = glowColor * alpha;\n vec4 color_src = o;\n gl_FragColor = color_src * color_src.a + color_dest * (1.0 - color_src.a);\n #endif\n}" }, "glsl3": { "vert": "\nprecision highp float;\nuniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_nativeSize;\n highp mat4 cc_matView;\n mediump mat4 cc_matViewInv;\n mediump mat4 cc_matProj;\n mediump mat4 cc_matProjInv;\n mediump mat4 cc_matViewProj;\n mediump mat4 cc_matViewProjInv;\n mediump vec4 cc_cameraPos;\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\nvec4 getTextureColor(sampler2D texture, vec2 v_uv0) {\n if (v_uv0.x > 1.0 || v_uv0.x < 0.0 || v_uv0.y > 1.0 || v_uv0.y < 0.0) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n }\n return texture(texture, v_uv0);\n}\n#if SHOW_OUTTER_GLOW\nuniform glow {\n vec4 glowColor;\n float glowColorSize;\n float glowThreshold;\n};\nfloat getColorAlpha(float angle, float dist) {\n float radian = angle * 0.01745329252;\n vec4 color = getTextureColor(texture, v_uv0 + vec2(dist * cos(radian), dist * sin(radian)));\n return color.a;\n}\nfloat getAverageAlpha(float dist) {\n float totalAlpha = 0.0;\n totalAlpha += getColorAlpha(0.0, dist);\n totalAlpha += getColorAlpha(30.0, dist);\n totalAlpha += getColorAlpha(60.0, dist);\n totalAlpha += getColorAlpha(90.0, dist);\n totalAlpha += getColorAlpha(120.0, dist);\n totalAlpha += getColorAlpha(150.0, dist);\n totalAlpha += getColorAlpha(180.0, dist);\n totalAlpha += getColorAlpha(210.0, dist);\n totalAlpha += getColorAlpha(240.0, dist);\n totalAlpha += getColorAlpha(270.0, dist);\n totalAlpha += getColorAlpha(300.0, dist);\n totalAlpha += getColorAlpha(330.0, dist);\n return totalAlpha * 0.0833;\n}\nfloat getGlowAlpha() {\n if (glowColorSize == 0.0) {\n return 0.0;\n }\n float totalAlpha = 0.0;\n totalAlpha += getAverageAlpha(glowColorSize * 0.1);\n totalAlpha += getAverageAlpha(glowColorSize * 0.2);\n totalAlpha += getAverageAlpha(glowColorSize * 0.3);\n totalAlpha += getAverageAlpha(glowColorSize * 0.4);\n totalAlpha += getAverageAlpha(glowColorSize * 0.5);\n totalAlpha += getAverageAlpha(glowColorSize * 0.6);\n totalAlpha += getAverageAlpha(glowColorSize * 0.7);\n totalAlpha += getAverageAlpha(glowColorSize * 0.8);\n totalAlpha += getAverageAlpha(glowColorSize * 0.9);\n totalAlpha += getAverageAlpha(glowColorSize * 1.0);\n return totalAlpha * 0.1;\n}\n#endif\nvoid main () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n o *= getTextureColor(texture, v_uv0);\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 #if SHOW_OUTTER_GLOW\n float alpha = getGlowAlpha();\n if (alpha <= glowThreshold) {\n alpha = alpha / glowThreshold;\n alpha = -1.0 * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) + 1.0;\n } else {\n alpha = 0.0;\n }\n vec4 color_dest = glowColor * alpha;\n vec4 color_src = o;\n gl_FragColor = color_src * color_src.a + color_dest * (1.0 - color_src.a);\n #endif\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\nvec4 getTextureColor(sampler2D texture, vec2 v_uv0) {\n if (v_uv0.x > 1.0 || v_uv0.x < 0.0 || v_uv0.y > 1.0 || v_uv0.y < 0.0) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n }\n return texture(texture, v_uv0);\n}\n#if SHOW_OUTTER_GLOW\nuniform glow {\n vec4 glowColor;\n float glowColorSize;\n float glowThreshold;\n};\nfloat getColorAlpha(float angle, float dist) {\n float radian = angle * 0.01745329252;\n vec4 color = getTextureColor(texture, v_uv0 + vec2(dist * cos(radian), dist * sin(radian)));\n return color.a;\n}\nfloat getAverageAlpha(float dist) {\n float totalAlpha = 0.0;\n totalAlpha += getColorAlpha(0.0, dist);\n totalAlpha += getColorAlpha(30.0, dist);\n totalAlpha += getColorAlpha(60.0, dist);\n totalAlpha += getColorAlpha(90.0, dist);\n totalAlpha += getColorAlpha(120.0, dist);\n totalAlpha += getColorAlpha(150.0, dist);\n totalAlpha += getColorAlpha(180.0, dist);\n totalAlpha += getColorAlpha(210.0, dist);\n totalAlpha += getColorAlpha(240.0, dist);\n totalAlpha += getColorAlpha(270.0, dist);\n totalAlpha += getColorAlpha(300.0, dist);\n totalAlpha += getColorAlpha(330.0, dist);\n return totalAlpha * 0.0833;\n}\nfloat getGlowAlpha() {\n if (glowColorSize == 0.0) {\n return 0.0;\n }\n float totalAlpha = 0.0;\n totalAlpha += getAverageAlpha(glowColorSize * 0.1);\n totalAlpha += getAverageAlpha(glowColorSize * 0.2);\n totalAlpha += getAverageAlpha(glowColorSize * 0.3);\n totalAlpha += getAverageAlpha(glowColorSize * 0.4);\n totalAlpha += getAverageAlpha(glowColorSize * 0.5);\n totalAlpha += getAverageAlpha(glowColorSize * 0.6);\n totalAlpha += getAverageAlpha(glowColorSize * 0.7);\n totalAlpha += getAverageAlpha(glowColorSize * 0.8);\n totalAlpha += getAverageAlpha(glowColorSize * 0.9);\n totalAlpha += getAverageAlpha(glowColorSize * 1.0);\n return totalAlpha * 0.1;\n}\n#endif\nvoid main () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n o *= texture(texture, v_uv0);\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 #if SHOW_OUTTER_GLOW\n float alpha = getGlowAlpha();\n if (alpha <= glowThreshold) {\n alpha = alpha / glowThreshold;\n alpha = -1.0 * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) + 1.0;\n } else {\n alpha = 0.0;\n }\n vec4 color_dest = glowColor * alpha;\n vec4 color_src = o;\n gl_FragColor = color_src * color_src.a + color_dest * (1.0 - color_src.a);\n #endif\n}" } } ], diff --git a/assets/materials/2d-sprite-glow-outter.mtl b/assets/materials/2d-sprite-glow-outter.mtl new file mode 100644 index 0000000..9d77214 --- /dev/null +++ b/assets/materials/2d-sprite-glow-outter.mtl @@ -0,0 +1,18 @@ +{ + "__type__": "cc.Material", + "_name": "New Material", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "67e9833e-aa43-427a-ba89-d7bdd1ef0aed" + }, + "_techniqueIndex": 0, + "_techniqueData": { + "0": { + "defines": { + "USE_TEXTURE": true, + "SHOW_OUTTER_GLOW": true + } + } + } +} \ No newline at end of file diff --git a/assets/materials/sprite-glow-outter.mtl.meta b/assets/materials/2d-sprite-glow-outter.mtl.meta similarity index 56% rename from assets/materials/sprite-glow-outter.mtl.meta rename to assets/materials/2d-sprite-glow-outter.mtl.meta index ee40d49..3f6e724 100644 --- a/assets/materials/sprite-glow-outter.mtl.meta +++ b/assets/materials/2d-sprite-glow-outter.mtl.meta @@ -1,6 +1,6 @@ { "ver": "1.0.3", - "uuid": "16dd0f06-6280-4d74-8483-a50e23c00733", + "uuid": "b82b2ec7-1bf3-4840-b9af-66d2a0250c14", "dataAsSubAsset": null, "subMetas": {} } \ No newline at end of file diff --git a/assets/materials/sprite-glow-outter.mtl b/assets/materials/sprite-glow-outter.mtl deleted file mode 100644 index 8fd1788..0000000 --- a/assets/materials/sprite-glow-outter.mtl +++ /dev/null @@ -1,30 +0,0 @@ -{ - "__type__": "cc.Material", - "_name": "sprite-glow-outter", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "89f30b2e-b75e-49b1-9dfc-cb341cadd30a" - }, - "_techniqueData": { - "0": { - "props": { - "texture": null, - "glowColor": { - "__type__": "cc.Color", - "r": 255, - "g": 0, - "b": 0, - "a": 255 - }, - "glowColorSize": 0.15, - "glowThreshold": 1 - }, - "defines": { - "USE_TEXTURE": true, - "USE_ALPHA_TEST": false, - "SHOW_OUTTER_GLOW": true - } - } - } -} \ No newline at end of file diff --git a/assets/scenes/GlowOutterEffectScene.fire b/assets/scenes/GlowOutterEffectScene.fire index 38695bd..1bc9528 100755 --- a/assets/scenes/GlowOutterEffectScene.fire +++ b/assets/scenes/GlowOutterEffectScene.fire @@ -78,13 +78,13 @@ "_active": true, "_components": [ { - "__id__": 130 + "__id__": 126 }, { - "__id__": 131 + "__id__": 127 }, { - "__id__": 132 + "__id__": 128 } ], "_prefab": null, @@ -174,7 +174,7 @@ "array": [ 0, 0, - 407.8979651824706, + 324.7595264191645, 0, 0, 0, @@ -254,7 +254,7 @@ "_active": true, "_components": [ { - "__id__": 129 + "__id__": 125 } ], "_prefab": null, @@ -673,6 +673,8 @@ "_isSystemFontUsed": true, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 2, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -1240,6 +1242,8 @@ "_isSystemFontUsed": true, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 0, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -1434,6 +1438,8 @@ "_isSystemFontUsed": true, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 2, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -2001,6 +2007,8 @@ "_isSystemFontUsed": true, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 0, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -2195,6 +2203,8 @@ "_isSystemFontUsed": true, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 2, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -2762,6 +2772,8 @@ "_isSystemFontUsed": true, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 0, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -2956,6 +2968,8 @@ "_isSystemFontUsed": true, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 2, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -3523,6 +3537,8 @@ "_isSystemFontUsed": true, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 0, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -3717,6 +3733,8 @@ "_isSystemFontUsed": true, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 2, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -4284,6 +4302,8 @@ "_isSystemFontUsed": true, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 0, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -4478,6 +4498,8 @@ "_isSystemFontUsed": true, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 2, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -5045,6 +5067,8 @@ "_isSystemFontUsed": true, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 0, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -5158,21 +5182,15 @@ }, { "__id__": 121 - }, - { - "__id__": 123 - }, - { - "__id__": 125 } ], "_active": true, "_components": [ { - "__id__": 127 + "__id__": 123 }, { - "__id__": 128 + "__id__": 124 } ], "_prefab": null, @@ -5295,7 +5313,7 @@ "_enabled": true, "_materials": [ { - "__uuid__": "16dd0f06-6280-4d74-8483-a50e23c00733" + "__uuid__": "b82b2ec7-1bf3-4840-b9af-66d2a0250c14" } ], "_srcBlendFactor": 770, @@ -5389,7 +5407,7 @@ "_enabled": true, "_materials": [ { - "__uuid__": "16dd0f06-6280-4d74-8483-a50e23c00733" + "__uuid__": "b82b2ec7-1bf3-4840-b9af-66d2a0250c14" } ], "_srcBlendFactor": 770, @@ -5411,100 +5429,6 @@ "_atlas": null, "_id": "74+WCqN01NIbcSpr5gcxmE" }, - { - "__type__": "cc.Node", - "_name": "ball_1", - "_objFlags": 0, - "_parent": { - "__id__": 114 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 120 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 60, - "height": 60 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - -360, - 0, - 0, - 0, - 0, - 1, - 2, - 2, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "08wsP0gQdCnrq+UzPWkn0+" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 119 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "16dd0f06-6280-4d74-8483-a50e23c00733" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "969fa66a-ae10-4157-b16e-4c1a4665920c" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "4bH5hzKe9LsLQeXjLynIHQ" - }, { "__type__": "cc.Node", "_name": "video_btn", @@ -5516,7 +5440,7 @@ "_active": true, "_components": [ { - "__id__": 122 + "__id__": 120 } ], "_prefab": null, @@ -5572,12 +5496,12 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 121 + "__id__": 119 }, "_enabled": true, "_materials": [ { - "__uuid__": "16dd0f06-6280-4d74-8483-a50e23c00733" + "__uuid__": "b82b2ec7-1bf3-4840-b9af-66d2a0250c14" } ], "_srcBlendFactor": 770, @@ -5599,98 +5523,6 @@ "_atlas": null, "_id": "f43fJCjNdOS5VHAEhp0yDU" }, - { - "__type__": "cc.Node", - "_name": "SystemFont", - "_objFlags": 0, - "_parent": { - "__id__": 114 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 124 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 97.87, - "height": 50.4 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - -657.2, - 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": "5dfIaYLgJPQKk50HqrgyHI" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 123 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "16dd0f06-6280-4d74-8483-a50e23c00733" - } - ], - "_useOriginalSize": false, - "_string": "System Font", - "_N$string": "System Font", - "_fontSize": 40, - "_lineHeight": 40, - "_enableWrapText": true, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 0, - "_N$cacheMode": 0, - "_id": "d1whc7H8RHdrROcYj+2Qh1" - }, { "__type__": "cc.Node", "_name": "BmFont", @@ -5702,7 +5534,7 @@ "_active": true, "_components": [ { - "__id__": 126 + "__id__": 122 } ], "_prefab": null, @@ -5758,12 +5590,12 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 125 + "__id__": 121 }, "_enabled": true, "_materials": [ { - "__uuid__": "16dd0f06-6280-4d74-8483-a50e23c00733" + "__uuid__": "b82b2ec7-1bf3-4840-b9af-66d2a0250c14" } ], "_useOriginalSize": false, @@ -5778,6 +5610,8 @@ "_isSystemFontUsed": false, "_spacingX": 0, "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, "_N$horizontalAlign": 1, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", @@ -5906,6 +5740,7 @@ "_isAbsHorizontalCenter": true, "_isAbsVerticalCenter": true, "_originalWidth": 0, - "_originalHeight": 0 + "_originalHeight": 0, + "_id": "5f1iMtZkxEdIa7zsEtvN72" } ] \ No newline at end of file