diff --git a/.DS_Store b/.DS_Store
index 935baed65ff7de0e8daca0e78bfcb10243eb0fe2..da44d899cb95cc5588974193196eba61be2746ee 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/.gitignore b/.gitignore
index 12d8bad12d021e9f3b8df77c336b5f73d9d52c48..4abd95516e94a7c80908129ade46ac36004752b4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,4 +4,7 @@
 /publish/node_modules
 /publish/publish/play
 /publish/publish/form
+/publish/publish/android
+/publish/publish/ios
 /publish/publish/*.zip
+/node_modules
\ No newline at end of file
diff --git a/form/angular.json b/form/angular.json
index 5952480a9ced5a16dc48a17e46fb1669d4e89426..52fb36708fbe391cb5bd6b42c6ea244b60adbb02 100644
--- a/form/angular.json
+++ b/form/angular.json
@@ -128,5 +128,8 @@
       }
     }
   },
-  "defaultProject": "ng-template-generator"
-}
+  "defaultProject": "ng-template-generator",
+  "cli": {
+    "analytics": false
+  }
+}
\ No newline at end of file
diff --git a/form/package-lock.json b/form/package-lock.json
index 03cfbd159b694a00b15a6a377e0475faaa565b96..5a5fb310529682709c1f059761f7161afda1b5ed 100644
--- a/form/package-lock.json
+++ b/form/package-lock.json
@@ -1778,6 +1778,11 @@
         "through": ">=2.2.7 <3"
       }
     },
+    "abbrev": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+    },
     "accepts": {
       "version": "1.3.7",
       "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
@@ -1900,6 +1905,11 @@
       "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
       "dev": true
     },
+    "amdefine": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
+    },
     "ansi-colors": {
       "version": "3.2.4",
       "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
@@ -1924,14 +1934,12 @@
     "ansi-regex": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
     },
     "ansi-styles": {
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
       "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "dev": true,
       "requires": {
         "color-convert": "^1.9.0"
       }
@@ -1969,8 +1977,16 @@
     "aproba": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
+      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+    },
+    "are-we-there-yet": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+      "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+      "requires": {
+        "delegates": "^1.0.0",
+        "readable-stream": "^2.0.6"
+      }
     },
     "arg": {
       "version": "4.1.3",
@@ -2015,6 +2031,11 @@
       "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
       "dev": true
     },
+    "array-find-index": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E="
+    },
     "array-flatten": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
@@ -2064,7 +2085,6 @@
       "version": "0.2.4",
       "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
       "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
-      "dev": true,
       "requires": {
         "safer-buffer": "~2.1.0"
       }
@@ -2118,8 +2138,7 @@
     "assert-plus": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-      "dev": true
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
     },
     "assign-symbols": {
       "version": "1.0.0",
@@ -2153,6 +2172,11 @@
       "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
       "dev": true
     },
+    "async-foreach": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
+      "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI="
+    },
     "async-limiter": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
@@ -2162,8 +2186,7 @@
     "asynckit": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
-      "dev": true
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
     },
     "atob": {
       "version": "2.1.2",
@@ -2189,14 +2212,12 @@
     "aws-sign2": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
-      "dev": true
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
     },
     "aws4": {
       "version": "1.10.0",
       "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz",
-      "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==",
-      "dev": true
+      "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA=="
     },
     "axobject-query": {
       "version": "2.0.2",
@@ -2335,7 +2356,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
       "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
-      "dev": true,
       "requires": {
         "tweetnacl": "^0.14.3"
       }
@@ -2386,6 +2406,14 @@
       "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
       "dev": true
     },
+    "block-stream": {
+      "version": "0.0.9",
+      "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+      "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+      "requires": {
+        "inherits": "~2.0.0"
+      }
+    },
     "blocking-proxy": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz",
@@ -2806,8 +2834,23 @@
     "camelcase": {
       "version": "5.3.1",
       "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
+    },
+    "camelcase-keys": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+      "requires": {
+        "camelcase": "^2.0.0",
+        "map-obj": "^1.0.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+          "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
+        }
+      }
     },
     "caniuse-api": {
       "version": "3.0.0",
@@ -2836,8 +2879,7 @@
     "caseless": {
       "version": "0.12.0",
       "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
-      "dev": true
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
     },
     "chalk": {
       "version": "2.4.2",
@@ -3033,8 +3075,7 @@
     "code-point-at": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
-      "dev": true
+      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
     },
     "codelyzer": {
       "version": "5.2.2",
@@ -3091,7 +3132,6 @@
       "version": "1.9.3",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
       "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "dev": true,
       "requires": {
         "color-name": "1.1.3"
       }
@@ -3099,8 +3139,7 @@
     "color-name": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-      "dev": true
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
     },
     "color-string": {
       "version": "1.5.3",
@@ -3122,7 +3161,6 @@
       "version": "1.0.8",
       "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
       "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
-      "dev": true,
       "requires": {
         "delayed-stream": "~1.0.0"
       }
@@ -3262,6 +3300,11 @@
       "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
       "dev": true
     },
+    "console-control-strings": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+      "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+    },
     "constants-browserify": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
@@ -3755,6 +3798,14 @@
         }
       }
     },
+    "currently-unhandled": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+      "requires": {
+        "array-find-index": "^1.0.1"
+      }
+    },
     "custom-event": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
@@ -3777,7 +3828,6 @@
       "version": "1.14.1",
       "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
       "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0"
       }
@@ -3827,8 +3877,7 @@
     "decamelize": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
-      "dev": true
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
     },
     "decode-uri-component": {
       "version": "0.2.0",
@@ -4006,8 +4055,12 @@
     "delayed-stream": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
-      "dev": true
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+    },
+    "delegates": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+      "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
     },
     "depd": {
       "version": "1.1.2",
@@ -4211,7 +4264,6 @@
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
       "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
-      "dev": true,
       "requires": {
         "jsbn": "~0.1.0",
         "safer-buffer": "^2.1.0"
@@ -4458,7 +4510,6 @@
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
       "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-      "dev": true,
       "requires": {
         "is-arrayish": "^0.2.1"
       }
@@ -4520,8 +4571,7 @@
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
     },
     "escodegen": {
       "version": "1.14.3",
@@ -4795,8 +4845,7 @@
     "extsprintf": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
-      "dev": true
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
     },
     "fast-deep-equal": {
       "version": "2.0.1",
@@ -4807,8 +4856,7 @@
     "fast-json-stable-stringify": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
-      "dev": true
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
     },
     "fast-levenshtein": {
       "version": "2.0.6",
@@ -5008,7 +5056,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
       "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-      "dev": true,
       "requires": {
         "locate-path": "^3.0.0"
       }
@@ -5049,14 +5096,12 @@
     "forever-agent": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
-      "dev": true
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
     },
     "form-data": {
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
       "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
-      "dev": true,
       "requires": {
         "asynckit": "^0.4.0",
         "combined-stream": "^1.0.6",
@@ -5160,6 +5205,17 @@
       "dev": true,
       "optional": true
     },
+    "fstream": {
+      "version": "1.0.12",
+      "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
+      "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
+      "requires": {
+        "graceful-fs": "^4.1.2",
+        "inherits": "~2.0.0",
+        "mkdirp": ">=0.5 0",
+        "rimraf": "2"
+      }
+    },
     "ftp": {
       "version": "0.3.10",
       "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
@@ -5198,6 +5254,49 @@
       "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
       "dev": true
     },
+    "gauge": {
+      "version": "2.7.4",
+      "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+      "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+      "requires": {
+        "aproba": "^1.0.3",
+        "console-control-strings": "^1.0.0",
+        "has-unicode": "^2.0.0",
+        "object-assign": "^4.1.0",
+        "signal-exit": "^3.0.0",
+        "string-width": "^1.0.1",
+        "strip-ansi": "^3.0.1",
+        "wide-align": "^1.1.0"
+      },
+      "dependencies": {
+        "is-fullwidth-code-point": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+          "requires": {
+            "number-is-nan": "^1.0.0"
+          }
+        },
+        "string-width": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+          "requires": {
+            "code-point-at": "^1.0.0",
+            "is-fullwidth-code-point": "^1.0.0",
+            "strip-ansi": "^3.0.0"
+          }
+        }
+      }
+    },
+    "gaze": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
+      "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+      "requires": {
+        "globule": "^1.0.0"
+      }
+    },
     "genfun": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
@@ -5215,6 +5314,11 @@
       "resolved": "https://registry.npmjs.org/get-ready/-/get-ready-1.0.0.tgz",
       "integrity": "sha1-+RgX8emt7P6hOlYq38jeiDqzR4I="
     },
+    "get-stdin": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4="
+    },
     "get-stream": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
@@ -5247,7 +5351,6 @@
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
       "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0"
       }
@@ -5314,11 +5417,20 @@
         }
       }
     },
+    "globule": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz",
+      "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==",
+      "requires": {
+        "glob": "~7.1.1",
+        "lodash": "~4.17.10",
+        "minimatch": "~3.0.2"
+      }
+    },
     "graceful-fs": {
       "version": "4.2.4",
       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
-      "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
-      "dev": true
+      "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
     },
     "handle-thing": {
       "version": "2.0.1",
@@ -5329,14 +5441,12 @@
     "har-schema": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
-      "dev": true
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
     },
     "har-validator": {
       "version": "5.1.5",
       "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
       "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
-      "dev": true,
       "requires": {
         "ajv": "^6.12.3",
         "har-schema": "^2.0.0"
@@ -5346,7 +5456,6 @@
           "version": "6.12.3",
           "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
           "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
-          "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
             "fast-json-stable-stringify": "^2.0.0",
@@ -5357,8 +5466,7 @@
         "fast-deep-equal": {
           "version": "3.1.3",
           "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
-          "dev": true
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
         }
       }
     },
@@ -5375,7 +5483,6 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
       "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-      "dev": true,
       "requires": {
         "ansi-regex": "^2.0.0"
       }
@@ -5415,6 +5522,11 @@
       "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
       "dev": true
     },
+    "has-unicode": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+      "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+    },
     "has-value": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
@@ -5673,7 +5785,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
       "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
-      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0",
         "jsprim": "^1.2.2",
@@ -5805,6 +5916,11 @@
       "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
       "dev": true
     },
+    "in-publish": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz",
+      "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ=="
+    },
     "indent-string": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
@@ -6000,8 +6116,7 @@
     "is-arrayish": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
-      "dev": true
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
     },
     "is-binary-path": {
       "version": "2.1.0",
@@ -6111,11 +6226,15 @@
       "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
       "dev": true
     },
+    "is-finite": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
+      "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w=="
+    },
     "is-fullwidth-code-point": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-      "dev": true
+      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
     },
     "is-glob": {
       "version": "4.0.1",
@@ -6235,8 +6354,12 @@
     "is-typedarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+    },
+    "is-utf8": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
     },
     "is-windows": {
       "version": "1.0.2",
@@ -6270,8 +6393,7 @@
     "isexe": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
-      "dev": true
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
     },
     "isobject": {
       "version": "3.0.1",
@@ -6535,8 +6657,7 @@
     "jsbn": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
-      "dev": true
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
     },
     "jsesc": {
       "version": "2.5.2",
@@ -6553,20 +6674,17 @@
     "json-schema": {
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
-      "dev": true
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
     },
     "json-schema-traverse": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
     },
     "json-stringify-safe": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
-      "dev": true
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
     },
     "json3": {
       "version": "3.3.3",
@@ -6602,7 +6720,6 @@
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
       "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
-      "dev": true,
       "requires": {
         "assert-plus": "1.0.0",
         "extsprintf": "1.3.0",
@@ -6799,6 +6916,41 @@
         "immediate": "~3.0.5"
       }
     },
+    "load-json-file": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+      "requires": {
+        "graceful-fs": "^4.1.2",
+        "parse-json": "^2.2.0",
+        "pify": "^2.0.0",
+        "pinkie-promise": "^2.0.0",
+        "strip-bom": "^2.0.0"
+      },
+      "dependencies": {
+        "parse-json": {
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+          "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+          "requires": {
+            "error-ex": "^1.2.0"
+          }
+        },
+        "pify": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+        },
+        "strip-bom": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+          "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+          "requires": {
+            "is-utf8": "^0.2.0"
+          }
+        }
+      }
+    },
     "loader-runner": {
       "version": "2.4.0",
       "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
@@ -6820,7 +6972,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
       "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-      "dev": true,
       "requires": {
         "p-locate": "^3.0.0",
         "path-exists": "^3.0.0"
@@ -6829,8 +6980,7 @@
     "lodash": {
       "version": "4.17.19",
       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
-      "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
-      "dev": true
+      "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ=="
     },
     "lodash.clonedeep": {
       "version": "4.5.0",
@@ -6898,6 +7048,15 @@
         "js-tokens": "^3.0.0 || ^4.0.0"
       }
     },
+    "loud-rejection": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+      "requires": {
+        "currently-unhandled": "^0.4.1",
+        "signal-exit": "^3.0.0"
+      }
+    },
     "lru-cache": {
       "version": "5.1.1",
       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -7024,6 +7183,11 @@
       "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
       "dev": true
     },
+    "map-obj": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0="
+    },
     "map-visit": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
@@ -7077,6 +7241,23 @@
         "readable-stream": "^2.0.1"
       }
     },
+    "meow": {
+      "version": "3.7.0",
+      "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+      "requires": {
+        "camelcase-keys": "^2.0.0",
+        "decamelize": "^1.1.2",
+        "loud-rejection": "^1.0.0",
+        "map-obj": "^1.0.1",
+        "minimist": "^1.1.3",
+        "normalize-package-data": "^2.3.4",
+        "object-assign": "^4.0.1",
+        "read-pkg-up": "^1.0.1",
+        "redent": "^1.0.0",
+        "trim-newlines": "^1.0.0"
+      }
+    },
     "merge-descriptors": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
@@ -7255,14 +7436,12 @@
     "mime-db": {
       "version": "1.44.0",
       "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
-      "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
-      "dev": true
+      "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
     },
     "mime-types": {
       "version": "2.1.27",
       "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
       "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
-      "dev": true,
       "requires": {
         "mime-db": "1.44.0"
       }
@@ -7502,9 +7681,7 @@
     "nan": {
       "version": "2.14.1",
       "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
-      "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
-      "dev": true,
-      "optional": true
+      "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw=="
     },
     "nanomatch": {
       "version": "1.2.13",
@@ -7597,6 +7774,42 @@
       "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==",
       "dev": true
     },
+    "node-gyp": {
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
+      "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
+      "requires": {
+        "fstream": "^1.0.0",
+        "glob": "^7.0.3",
+        "graceful-fs": "^4.1.2",
+        "mkdirp": "^0.5.0",
+        "nopt": "2 || 3",
+        "npmlog": "0 || 1 || 2 || 3 || 4",
+        "osenv": "0",
+        "request": "^2.87.0",
+        "rimraf": "2",
+        "semver": "~5.3.0",
+        "tar": "^2.0.0",
+        "which": "1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "5.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+          "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
+        },
+        "tar": {
+          "version": "2.2.2",
+          "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
+          "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
+          "requires": {
+            "block-stream": "*",
+            "fstream": "^1.0.12",
+            "inherits": "2"
+          }
+        }
+      }
+    },
     "node-libs-browser": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
@@ -7642,11 +7855,89 @@
       "integrity": "sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA==",
       "dev": true
     },
+    "node-sass": {
+      "version": "4.14.1",
+      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz",
+      "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==",
+      "requires": {
+        "async-foreach": "^0.1.3",
+        "chalk": "^1.1.1",
+        "cross-spawn": "^3.0.0",
+        "gaze": "^1.0.0",
+        "get-stdin": "^4.0.1",
+        "glob": "^7.0.3",
+        "in-publish": "^2.0.0",
+        "lodash": "^4.17.15",
+        "meow": "^3.7.0",
+        "mkdirp": "^0.5.1",
+        "nan": "^2.13.2",
+        "node-gyp": "^3.8.0",
+        "npmlog": "^4.0.0",
+        "request": "^2.88.0",
+        "sass-graph": "2.2.5",
+        "stdout-stream": "^1.4.0",
+        "true-case-path": "^1.0.2"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+        },
+        "chalk": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+          "requires": {
+            "ansi-styles": "^2.2.1",
+            "escape-string-regexp": "^1.0.2",
+            "has-ansi": "^2.0.0",
+            "strip-ansi": "^3.0.0",
+            "supports-color": "^2.0.0"
+          }
+        },
+        "cross-spawn": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+          "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+          "requires": {
+            "lru-cache": "^4.0.1",
+            "which": "^1.2.9"
+          }
+        },
+        "lru-cache": {
+          "version": "4.1.5",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+          "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+          "requires": {
+            "pseudomap": "^1.0.2",
+            "yallist": "^2.1.2"
+          }
+        },
+        "supports-color": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+        },
+        "yallist": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+          "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+        }
+      }
+    },
+    "nopt": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+      "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+      "requires": {
+        "abbrev": "1"
+      }
+    },
     "normalize-package-data": {
       "version": "2.5.0",
       "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
       "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-      "dev": true,
       "requires": {
         "hosted-git-info": "^2.1.4",
         "resolve": "^1.10.0",
@@ -7657,8 +7948,7 @@
         "hosted-git-info": {
           "version": "2.8.8",
           "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
-          "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
-          "dev": true
+          "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg=="
         }
       }
     },
@@ -7769,6 +8059,17 @@
         "path-key": "^2.0.0"
       }
     },
+    "npmlog": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+      "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+      "requires": {
+        "are-we-there-yet": "~1.1.2",
+        "console-control-strings": "~1.1.0",
+        "gauge": "~2.7.3",
+        "set-blocking": "~2.0.0"
+      }
+    },
     "nth-check": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
@@ -7787,14 +8088,12 @@
     "number-is-nan": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
-      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
-      "dev": true
+      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
     },
     "oauth-sign": {
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
-      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
-      "dev": true
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
     },
     "object-assign": {
       "version": "4.1.1",
@@ -8057,8 +8356,7 @@
     "os-homedir": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
-      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
-      "dev": true
+      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
     },
     "os-locale": {
       "version": "3.1.0",
@@ -8083,14 +8381,12 @@
     "os-tmpdir": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
-      "dev": true
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
     },
     "osenv": {
       "version": "0.1.5",
       "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
       "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
-      "dev": true,
       "requires": {
         "os-homedir": "^1.0.0",
         "os-tmpdir": "^1.0.0"
@@ -8126,7 +8422,6 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
       "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
       "requires": {
         "p-try": "^2.0.0"
       }
@@ -8135,7 +8430,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
       "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-      "dev": true,
       "requires": {
         "p-limit": "^2.0.0"
       }
@@ -8161,8 +8455,7 @@
     "p-try": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
     },
     "pac-proxy-agent": {
       "version": "3.0.1",
@@ -8374,8 +8667,7 @@
     "path-exists": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-      "dev": true
+      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
     },
     "path-is-absolute": {
       "version": "1.0.1",
@@ -8397,8 +8689,7 @@
     "path-parse": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
-      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
-      "dev": true
+      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
     },
     "path-to-regexp": {
       "version": "0.1.7",
@@ -8452,8 +8743,7 @@
     "performance-now": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
-      "dev": true
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
     },
     "picomatch": {
       "version": "2.2.2",
@@ -8470,14 +8760,12 @@
     "pinkie": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
-      "dev": true
+      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
     },
     "pinkie-promise": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
       "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "dev": true,
       "requires": {
         "pinkie": "^2.0.0"
       }
@@ -9359,14 +9647,12 @@
     "pseudomap": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
-      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
-      "dev": true
+      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
     },
     "psl": {
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
-      "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
-      "dev": true
+      "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
     },
     "public-encrypt": {
       "version": "4.0.3",
@@ -9425,8 +9711,7 @@
     "punycode": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "dev": true
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
     },
     "q": {
       "version": "1.5.1",
@@ -9591,6 +9876,61 @@
         "util-promisify": "^2.1.0"
       }
     },
+    "read-pkg": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+      "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+      "requires": {
+        "load-json-file": "^1.0.0",
+        "normalize-package-data": "^2.3.2",
+        "path-type": "^1.0.0"
+      },
+      "dependencies": {
+        "path-type": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+          "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+          "requires": {
+            "graceful-fs": "^4.1.2",
+            "pify": "^2.0.0",
+            "pinkie-promise": "^2.0.0"
+          }
+        },
+        "pify": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+        }
+      }
+    },
+    "read-pkg-up": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+      "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+      "requires": {
+        "find-up": "^1.0.0",
+        "read-pkg": "^1.0.0"
+      },
+      "dependencies": {
+        "find-up": {
+          "version": "1.1.2",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+          "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+          "requires": {
+            "path-exists": "^2.0.0",
+            "pinkie-promise": "^2.0.0"
+          }
+        },
+        "path-exists": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+          "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+          "requires": {
+            "pinkie-promise": "^2.0.0"
+          }
+        }
+      }
+    },
     "readable-stream": {
       "version": "2.3.7",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
@@ -9626,6 +9966,25 @@
         "picomatch": "^2.2.1"
       }
     },
+    "redent": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+      "requires": {
+        "indent-string": "^2.1.0",
+        "strip-indent": "^1.0.1"
+      },
+      "dependencies": {
+        "indent-string": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+          "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+          "requires": {
+            "repeating": "^2.0.0"
+          }
+        }
+      }
+    },
     "reflect-metadata": {
       "version": "0.1.13",
       "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
@@ -9758,11 +10117,18 @@
       "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
       "dev": true
     },
+    "repeating": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+      "requires": {
+        "is-finite": "^1.0.0"
+      }
+    },
     "request": {
       "version": "2.88.2",
       "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
       "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
-      "dev": true,
       "requires": {
         "aws-sign2": "~0.7.0",
         "aws4": "^1.8.0",
@@ -9789,16 +10155,14 @@
         "qs": {
           "version": "6.5.2",
           "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
-          "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
-          "dev": true
+          "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
         }
       }
     },
     "require-directory": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
-      "dev": true
+      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
     },
     "require-main-filename": {
       "version": "1.0.1",
@@ -9816,7 +10180,6 @@
       "version": "1.17.0",
       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
       "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
-      "dev": true,
       "requires": {
         "path-parse": "^1.0.6"
       }
@@ -9962,6 +10325,103 @@
         "chokidar": ">=2.0.0 <4.0.0"
       }
     },
+    "sass-graph": {
+      "version": "2.2.5",
+      "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz",
+      "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==",
+      "requires": {
+        "glob": "^7.0.0",
+        "lodash": "^4.0.0",
+        "scss-tokenizer": "^0.2.3",
+        "yargs": "^13.3.2"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+        },
+        "cliui": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+          "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+          "requires": {
+            "string-width": "^3.1.0",
+            "strip-ansi": "^5.2.0",
+            "wrap-ansi": "^5.1.0"
+          }
+        },
+        "emoji-regex": {
+          "version": "7.0.3",
+          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="
+        },
+        "get-caller-file": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
+        },
+        "require-main-filename": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
+        },
+        "string-width": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+          "requires": {
+            "emoji-regex": "^7.0.1",
+            "is-fullwidth-code-point": "^2.0.0",
+            "strip-ansi": "^5.1.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+          "requires": {
+            "ansi-regex": "^4.1.0"
+          }
+        },
+        "wrap-ansi": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+          "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+          "requires": {
+            "ansi-styles": "^3.2.0",
+            "string-width": "^3.0.0",
+            "strip-ansi": "^5.0.0"
+          }
+        },
+        "yargs": {
+          "version": "13.3.2",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
+          "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+          "requires": {
+            "cliui": "^5.0.0",
+            "find-up": "^3.0.0",
+            "get-caller-file": "^2.0.1",
+            "require-directory": "^2.1.1",
+            "require-main-filename": "^2.0.0",
+            "set-blocking": "^2.0.0",
+            "string-width": "^3.0.0",
+            "which-module": "^2.0.0",
+            "y18n": "^4.0.0",
+            "yargs-parser": "^13.1.2"
+          }
+        },
+        "yargs-parser": {
+          "version": "13.1.2",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
+          "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
+          "requires": {
+            "camelcase": "^5.0.0",
+            "decamelize": "^1.2.0"
+          }
+        }
+      }
+    },
     "sass-loader": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.0.tgz",
@@ -10058,6 +10518,25 @@
         "ajv-keywords": "^3.1.0"
       }
     },
+    "scss-tokenizer": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
+      "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
+      "requires": {
+        "js-base64": "^2.1.8",
+        "source-map": "^0.4.2"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.4.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+          "requires": {
+            "amdefine": ">=0.0.4"
+          }
+        }
+      }
+    },
     "sdk-base": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/sdk-base/-/sdk-base-2.0.1.tgz",
@@ -10224,8 +10703,7 @@
     "set-blocking": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
-      "dev": true
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
     },
     "set-immediate-shim": {
       "version": "1.0.1",
@@ -10293,8 +10771,7 @@
     "signal-exit": {
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
-      "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
-      "dev": true
+      "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
     },
     "simple-swizzle": {
       "version": "0.2.2",
@@ -10696,7 +11173,6 @@
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
       "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
-      "dev": true,
       "requires": {
         "spdx-expression-parse": "^3.0.0",
         "spdx-license-ids": "^3.0.0"
@@ -10705,14 +11181,12 @@
     "spdx-exceptions": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
-      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
-      "dev": true
+      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="
     },
     "spdx-expression-parse": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
       "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
-      "dev": true,
       "requires": {
         "spdx-exceptions": "^2.1.0",
         "spdx-license-ids": "^3.0.0"
@@ -10721,8 +11195,7 @@
     "spdx-license-ids": {
       "version": "3.0.5",
       "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
-      "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
-      "dev": true
+      "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="
     },
     "spdy": {
       "version": "4.0.2",
@@ -10833,7 +11306,6 @@
       "version": "1.16.1",
       "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
       "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
-      "dev": true,
       "requires": {
         "asn1": "~0.2.3",
         "assert-plus": "^1.0.0",
@@ -10888,6 +11360,14 @@
       "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
       "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
     },
+    "stdout-stream": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
+      "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
+      "requires": {
+        "readable-stream": "^2.0.1"
+      }
+    },
     "stream-browserify": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
@@ -10981,7 +11461,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
       "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-      "dev": true,
       "requires": {
         "is-fullwidth-code-point": "^2.0.0",
         "strip-ansi": "^4.0.0"
@@ -10990,14 +11469,12 @@
         "ansi-regex": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-          "dev": true
+          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
         },
         "strip-ansi": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
           "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "dev": true,
           "requires": {
             "ansi-regex": "^3.0.0"
           }
@@ -11036,7 +11513,6 @@
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
       "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
       "requires": {
         "ansi-regex": "^2.0.0"
       }
@@ -11053,6 +11529,14 @@
       "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
       "dev": true
     },
+    "strip-indent": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+      "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+      "requires": {
+        "get-stdin": "^4.0.1"
+      }
+    },
     "style-loader": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.0.0.tgz",
@@ -11583,7 +12067,6 @@
       "version": "2.5.0",
       "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
       "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
-      "dev": true,
       "requires": {
         "psl": "^1.1.28",
         "punycode": "^2.1.1"
@@ -11595,6 +12078,19 @@
       "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
       "dev": true
     },
+    "trim-newlines": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM="
+    },
+    "true-case-path": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
+      "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
+      "requires": {
+        "glob": "^7.1.2"
+      }
+    },
     "ts-node": {
       "version": "8.3.0",
       "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz",
@@ -11661,7 +12157,6 @@
       "version": "0.6.0",
       "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
       "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-      "dev": true,
       "requires": {
         "safe-buffer": "^5.0.1"
       }
@@ -11669,8 +12164,7 @@
     "tweetnacl": {
       "version": "0.14.5",
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
-      "dev": true
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
     },
     "type-check": {
       "version": "0.3.2",
@@ -11881,7 +12375,6 @@
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
       "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
-      "dev": true,
       "requires": {
         "punycode": "^2.1.0"
       }
@@ -12040,14 +12533,12 @@
     "uuid": {
       "version": "3.4.0",
       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
-      "dev": true
+      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
     },
     "validate-npm-package-license": {
       "version": "3.0.4",
       "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
       "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
-      "dev": true,
       "requires": {
         "spdx-correct": "^3.0.0",
         "spdx-expression-parse": "^3.0.0"
@@ -12078,7 +12569,6 @@
       "version": "1.10.0",
       "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
       "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0",
         "core-util-is": "1.0.2",
@@ -12719,7 +13209,6 @@
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
       "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
       "requires": {
         "isexe": "^2.0.0"
       }
@@ -12727,8 +13216,15 @@
     "which-module": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
-      "dev": true
+      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
+    },
+    "wide-align": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+      "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+      "requires": {
+        "string-width": "^1.0.2 || 2"
+      }
     },
     "win-release": {
       "version": "1.1.1",
@@ -12846,8 +13342,7 @@
     "y18n": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
-      "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
-      "dev": true
+      "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
     },
     "yallist": {
       "version": "3.1.1",
diff --git a/form/package.json b/form/package.json
index cdf78bb1c2393082c8e1053454ca26ee407c0ed8..cd640a3fd53c2108818695088f0dfc9e5cc583e4 100644
--- a/form/package.json
+++ b/form/package.json
@@ -55,4 +55,4 @@
     "tslint": "~5.18.0",
     "typescript": "~3.7.5"
   }
-}
\ No newline at end of file
+}
diff --git a/form/src/app/form/form.component.html b/form/src/app/form/form.component.html
index c07239d45cf36658f22d7be4473cd52667687489..be61691406c47e14c030aa6e2e1343a93809db7a 100644
--- a/form/src/app/form/form.component.html
+++ b/form/src/app/form/form.component.html
@@ -1,36 +1,74 @@
-<div class="model-content">
- 
-  <div style="padding: 10px;">
-    
-    <div style="width: 300px;" align='center'>
-      <span>图1: </span>
-      <app-upload-image-with-preview
-        [picUrl]="item.pic_url"
-        (imageUploaded)="onImageUploadSuccess($event, 'pic_url')">
-      </app-upload-image-with-preview>
+<div class="model-content, border">
+  <div *ngFor="let question of item.questionList; let i = index">
+    <div class="border">
+      <button style="color: red; width: 50px; float: right;" nz-button nzType="dashed" class="add-btn"
+        (click)="removeQuestion(i)">
+        X
+      </button>
+      <span style="height: 30px; font-size: 18px;">第{{i+1}}题:</span>
+      <br>
+      <span style="height: 30px; font-size: 18px;">问题音频:</span>
+      <app-audio-recorder [audioUrl]="question.questionAudio" (audioUploaded)="onQuestionAuidoUploadSuccess($event, i)">
+      </app-audio-recorder>
+      <br>
+      <span style="height: 30px; font-size: 18px; float: left;">候选答案:</span>
+      <br><br>
+      <div *ngFor="let answer of question.answerList; let j = index">
+        <div class="border" style="width: 280px; float: left;">
+          <button style="color: red; width: 50px; float: right;" nz-button nzType="dashed" class="add-btn"
+            (click)="removeAnswer(i, j)">
+            X
+          </button>
+          <br>
+          <nz-radio-group style="margin-left: 30px; margin-bottom: 10px;" [ngModel]="answer.answerType"
+            (ngModelChange)="radioChange($event, i, j)">
+            <span nz-radio nzValue="img" style="height: 30px; font-size: 18px;">图片</span>
+            <span nz-radio nzValue="txt" style="height: 30px; font-size: 18px;">文本</span>
+          </nz-radio-group>
+          <div *ngIf="answer.answerType=='img'" style="width: 200px;">
+            <app-upload-image-with-preview [picUrl]="answer.answerImg"
+              (imageUploaded)="onAnswerImageUploadSuccess($event, i, j)">
+            </app-upload-image-with-preview>
+          </div>
+          <div *ngIf="answer.answerType=='txt'">
+            <input type="text" style="width: 200px;" nz-input [(ngModel)]="answer.answerTxt"
+              (blur)="save()">
+          </div>
+          <br>
+          <button *ngIf="answer.rightAnswer"
+            style="color: green; border-color: green; font-size: 18px; width: 90px; height: 50px;" nz-button
+            nzType="dashed">
+            æ­£&nbsp;ç¡®
+          </button>
+          <button *ngIf="!answer.rightAnswer" style="font-size: 18px; width: 90px; height: 50px;" nz-button
+            nzType="dashed" (click)="setAnswerRight(i, j, true)">
+            æ­£&nbsp;ç¡®
+          </button>
+          <button *ngIf="!answer.rightAnswer"
+            style="color: red; border-color: red; font-size: 18px; width: 90px; height: 50px; margin-left: 20px;"
+            nz-button nzType="dashed">
+            错&nbsp;误
+          </button>
+          <button *ngIf="answer.rightAnswer" style="font-size: 18px; width: 90px; height: 50px; margin-left: 20px;"
+            nz-button nzType="dashed" (click)="setAnswerRight(i, j, false)">
+            错&nbsp;误
+          </button>
+          <br>
+          <div *ngIf="answer.rightAnswer">
+            <span style="height: 30px; font-size: 18px;">音频:</span>
+            <app-audio-recorder [audioUrl]="answer.answerAudio" (audioUploaded)="onAnswerAuidoUploadSuccess($event, i, j)">
+            </app-audio-recorder>
+          </div>
+        </div>
+      </div>
+      <button style="width: 280px; height: 200px; float: left; margin: 20px;" nz-button nzType="dashed" class="add-btn"
+        (click)="addAnswer(i)">
+        Add Answer
+      </button>
+      <div style="clear:both;">&nbsp;</div>
     </div>
-   
-    <div style="width: 300px; margin-top: 5px;" align='center'>
-      <span>图2: </span>
-      <app-upload-image-with-preview
-        [picUrl]="item.pic_url_2"
-        (imageUploaded)="onImageUploadSuccess($event, 'pic_url_2')">
-      </app-upload-image-with-preview>
-    </div>
-
-    <div style="width: 300px; margin-top: 15px;">
-      <span>文本: </span>
-      <input type="text" nz-input [(ngModel)]="item.text" (blur)="save()">
-    </div>
-
-    <div style="margin-top: 5px">
-      <span>音频: </span>
-      <app-audio-recorder
-        [audioUrl]="item.audio_url"
-        (audioUploaded)="onAudioUploadSuccess($event, 'audio_url')"
-      ></app-audio-recorder>
-    </div>
-
   </div>
-
-</div>
+  <button style="width: 100%; height: 100px; align-self: center;" nz-button nzType="dashed" class="add-btn" (click)="addQuestion()">
+    Add
+  </button>
+</div>
\ No newline at end of file
diff --git a/form/src/app/form/form.component.ts b/form/src/app/form/form.component.ts
index 82a6e9121ba195cd3bf69b7c9744570ff9f97458..cc0c9c8d512e9ff17a92d712c92b3a0762f42f7b 100644
--- a/form/src/app/form/form.component.ts
+++ b/form/src/app/form/form.component.ts
@@ -10,7 +10,7 @@ import { JsonPipe } from '@angular/common';
 export class FormComponent implements OnInit, OnChanges, OnDestroy {
 
   // 储存数据用
-  saveKey = "test_001";
+  saveKey = "dfzx_cocos_dqq";
   // 储存对象
   item;
 
@@ -18,24 +18,73 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
 
   }
 
-  createShell() {
-    this.item.wordList.push({
-      word: '',
-      audio: '',
-      backWord: '',
-      backWordAudio: '',
+  addQuestion() {
+    this.item.questionList.push({
+      questionAudio: '',
+      speedLevel: 1,
+      rigthNumber: 5,
+      answerList: []
     });
     this.save();
   }
 
-  removeShell(idx) {
-    this.item.wordList.splice(idx, 1);
+  removeQuestion(idx) {
+    this.item.questionList.splice(idx, 1);
+    console.log('汪汪汪');
+    this.save();
+  }
+
+  addAnswer(idx) {
+    this.item.questionList[idx].answerList.push({
+      answerAudio: '',
+      answerTxt: '',
+      answerImg: '',
+      answerType: 'img',
+      rightAnswer: false
+    });
+    this.save();
+  }
+
+  removeAnswer(questionIdx, answerIdx) {
+    this.item.questionList[questionIdx].answerList.splice(answerIdx, 1);
+    this.save();
+  }
+
+  onAnswerAuidoUploadSuccess(e, questionIdx, answerIdx) {
+    this.item.questionList[questionIdx].answerList[answerIdx].answerAudio = e.url;
+    this.save();
+  }
+
+  onAnswerImageUploadSuccess(e, questionIdx, answerIdx) {
+    this.item.questionList[questionIdx].answerList[answerIdx].answerImg = e.url;
+    this.save();
+  }
+
+  removeAnswerImage(questionIdx, answerIdx) {
+    this.item.questionList[questionIdx].answerList[answerIdx].answerImg = '';
+    this.save();
+  }
+
+  setAnswerRight(questionIdx, answerIdx, right) {
+    this.item.questionList[questionIdx].answerList[answerIdx].rightAnswer = right;
+    this.save();
+  }
+
+  onQuestionAuidoUploadSuccess(e, questionIdx) {
+    this.item.questionList[questionIdx].questionAudio = e.url;
+    this.save();
+  }
+
+  radioChange(event, questionIdx, answerIdx) {
+    this.item.questionList[questionIdx].answerList[answerIdx].answerType = event;
     this.save();
   }
 
   ngOnInit() {
 
-    this.item = {};
+    this.item = {
+      questionList: []
+    };
 
     // 获取存储的数据
     (<any>window).courseware.getData((data) => {
@@ -82,16 +131,6 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
     this.save();
   }
 
-  onWordAudioUploadSuccess(e, idx) {
-    this.item.wordList[idx].audio = e.url;
-    this.save();
-  }
-
-  onBackWordAudioUploadSuccess(e, idx) {
-    this.item.wordList[idx].backWordAudio = e.url;
-    this.save();
-  }
-
   /**
    * 储存数据
    */
@@ -99,6 +138,8 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
     (<any>window).courseware.setData(this.item, null, this.saveKey);
 
     this.refresh();
+    this.changeDetectorRef.markForCheck();
+    this.changeDetectorRef.detectChanges();
     console.log('this.item = ' + JSON.stringify(this.item));
   }
 
diff --git a/play/assets/dfzx_cocos_dqq_app.meta b/play/assets/dfzx_cocos_dqq_app.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ee672c5ce41243af0eab2a5f466091e6f7f933ca
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app.meta
@@ -0,0 +1,15 @@
+{
+  "ver": "1.1.2",
+  "uuid": "305a01e0-2f17-4d9c-8344-4f7afa20af53",
+  "isBundle": true,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {
+    "ios": true,
+    "android": true
+  },
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/scene/audios.meta b/play/assets/dfzx_cocos_dqq_app/audios.meta
similarity index 79%
rename from play/assets/scene/audios.meta
rename to play/assets/dfzx_cocos_dqq_app/audios.meta
index 70a39fa0e7ad48eb8c52e75d788b782d6fb2a272..5d4cfac74115b2a5e8b693b9d465b6bd27744f83 100644
--- a/play/assets/scene/audios.meta
+++ b/play/assets/dfzx_cocos_dqq_app/audios.meta
@@ -1,6 +1,6 @@
 {
   "ver": "1.1.2",
-  "uuid": "cb9fa4ea-66ca-45af-ad31-e445c7b0ef32",
+  "uuid": "dcdd29cc-cf8a-44d0-a649-9fc6fed9b5cd",
   "isBundle": false,
   "bundleName": "",
   "priority": 1,
diff --git a/play/assets/scene/audios/.keep b/play/assets/dfzx_cocos_dqq_app/audios/.keep
similarity index 100%
rename from play/assets/scene/audios/.keep
rename to play/assets/dfzx_cocos_dqq_app/audios/.keep
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/appare.mp3 b/play/assets/dfzx_cocos_dqq_app/audios/appare.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..c2f2ab994713bf3d12f342cd047a12e6234bb32c
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/audios/appare.mp3 differ
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/appare.mp3.meta b/play/assets/dfzx_cocos_dqq_app/audios/appare.mp3.meta
new file mode 100644
index 0000000000000000000000000000000000000000..af504d280b04575b0575a8c44f85991e7982a6c7
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/audios/appare.mp3.meta
@@ -0,0 +1,7 @@
+{
+  "ver": "2.0.1",
+  "uuid": "f48aa8fc-dd6e-49ad-8b72-40bf901d9a67",
+  "downloadMode": 0,
+  "duration": 0.971833,
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/scene/audios/btn.mp3 b/play/assets/dfzx_cocos_dqq_app/audios/btn.mp3
old mode 100644
new mode 100755
similarity index 100%
rename from play/assets/scene/audios/btn.mp3
rename to play/assets/dfzx_cocos_dqq_app/audios/btn.mp3
diff --git a/play/assets/scene/audios/btn.mp3.meta b/play/assets/dfzx_cocos_dqq_app/audios/btn.mp3.meta
similarity index 61%
rename from play/assets/scene/audios/btn.mp3.meta
rename to play/assets/dfzx_cocos_dqq_app/audios/btn.mp3.meta
index 4255f217d13c5f8788bff619f2345a38b5365a4e..1e1612eaea4fa7f123d0399b63329aaec184a18a 100644
--- a/play/assets/scene/audios/btn.mp3.meta
+++ b/play/assets/dfzx_cocos_dqq_app/audios/btn.mp3.meta
@@ -1,6 +1,6 @@
 {
   "ver": "2.0.1",
-  "uuid": "f0680ae0-c079-45ef-abd7-9e63d90b982b",
+  "uuid": "0181b1e4-8035-4088-be16-cf6e2ef9496e",
   "downloadMode": 0,
   "duration": 0.130612,
   "subMetas": {}
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/end.mp3 b/play/assets/dfzx_cocos_dqq_app/audios/end.mp3
new file mode 100755
index 0000000000000000000000000000000000000000..5468190403c05bd5c1e7d7798585d870d98da12c
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/audios/end.mp3 differ
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/end.mp3.meta b/play/assets/dfzx_cocos_dqq_app/audios/end.mp3.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9bcc3591b7642bd94f1e8fed98e3fd4e69bfb44d
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/audios/end.mp3.meta
@@ -0,0 +1,7 @@
+{
+  "ver": "2.0.1",
+  "uuid": "f09f60df-1444-493d-b370-1e0aade49adc",
+  "downloadMode": 0,
+  "duration": 4.04898,
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/light.mp3 b/play/assets/dfzx_cocos_dqq_app/audios/light.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..4a91fd2e3b498d03b752bbb5006cb7a41a2230a4
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/audios/light.mp3 differ
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/light.mp3.meta b/play/assets/dfzx_cocos_dqq_app/audios/light.mp3.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c3c22ecd3b6ef4026d10cc700dde60da2b4dd9d7
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/audios/light.mp3.meta
@@ -0,0 +1,7 @@
+{
+  "ver": "2.0.1",
+  "uuid": "174b36d7-c27d-406a-a644-0cb3f9a88361",
+  "downloadMode": 0,
+  "duration": 0.548571,
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/move.mp3 b/play/assets/dfzx_cocos_dqq_app/audios/move.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..a7e968e63358b3e0ca6233521469636c3825fbcb
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/audios/move.mp3 differ
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/move.mp3.meta b/play/assets/dfzx_cocos_dqq_app/audios/move.mp3.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ec17383694cf1ac255ddbae441e5aa109c727584
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/audios/move.mp3.meta
@@ -0,0 +1,7 @@
+{
+  "ver": "2.0.1",
+  "uuid": "fdbbed58-de4a-4cc4-bb3f-6545af8ce922",
+  "downloadMode": 0,
+  "duration": 0.600816,
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/question.mp3 b/play/assets/dfzx_cocos_dqq_app/audios/question.mp3
new file mode 100755
index 0000000000000000000000000000000000000000..c2d1cc86a75d8dc524528ccce21e01bfb22af247
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/audios/question.mp3 differ
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/question.mp3.meta b/play/assets/dfzx_cocos_dqq_app/audios/question.mp3.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1e0fb093f69277f949cc509d26aed976c38b4202
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/audios/question.mp3.meta
@@ -0,0 +1,7 @@
+{
+  "ver": "2.0.1",
+  "uuid": "cdbd6195-cae1-4059-92a9-c0e4125f780c",
+  "downloadMode": 0,
+  "duration": 2.115917,
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/right.mp3 b/play/assets/dfzx_cocos_dqq_app/audios/right.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..7f59831b55984d739f94edcf7a5642cecb4942b2
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/audios/right.mp3 differ
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/right.mp3.meta b/play/assets/dfzx_cocos_dqq_app/audios/right.mp3.meta
new file mode 100644
index 0000000000000000000000000000000000000000..914e65c07baa04a02ba5057a2bba33d9979e1778
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/audios/right.mp3.meta
@@ -0,0 +1,7 @@
+{
+  "ver": "2.0.1",
+  "uuid": "75ad4844-8b58-4bc3-ba71-96c7382a0466",
+  "downloadMode": 0,
+  "duration": 1.102625,
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/star.mp3 b/play/assets/dfzx_cocos_dqq_app/audios/star.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..57dbc7c8aa651aa280c4bdbb920d50d3fa200ac9
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/audios/star.mp3 differ
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/star.mp3.meta b/play/assets/dfzx_cocos_dqq_app/audios/star.mp3.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ab57a47df33e81ba830b26d27dd90211497e9b5e
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/audios/star.mp3.meta
@@ -0,0 +1,7 @@
+{
+  "ver": "2.0.1",
+  "uuid": "688eefd5-14a6-42fe-8b27-f71c35999544",
+  "downloadMode": 0,
+  "duration": 1.776327,
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/wrong.mp3 b/play/assets/dfzx_cocos_dqq_app/audios/wrong.mp3
new file mode 100755
index 0000000000000000000000000000000000000000..0b9d275eee94651eac18a4029d37c28a88d82fb8
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/audios/wrong.mp3 differ
diff --git a/play/assets/dfzx_cocos_dqq_app/audios/wrong.mp3.meta b/play/assets/dfzx_cocos_dqq_app/audios/wrong.mp3.meta
new file mode 100644
index 0000000000000000000000000000000000000000..38554710b0dfb4e1243e144f0031cf6f9b59b979
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/audios/wrong.mp3.meta
@@ -0,0 +1,7 @@
+{
+  "ver": "2.0.1",
+  "uuid": "45d91d76-ca0d-47fd-8a67-6f51f198b7bc",
+  "downloadMode": 0,
+  "duration": 0.264,
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/scene/dragonBones.meta b/play/assets/dfzx_cocos_dqq_app/dragonBones.meta
similarity index 79%
rename from play/assets/scene/dragonBones.meta
rename to play/assets/dfzx_cocos_dqq_app/dragonBones.meta
index dae2435be94ec503e846d4456de901421f8022f2..c0672de4d5f9bae21295bc6fa96a5f6393a60432 100644
--- a/play/assets/scene/dragonBones.meta
+++ b/play/assets/dfzx_cocos_dqq_app/dragonBones.meta
@@ -1,6 +1,6 @@
 {
   "ver": "1.1.2",
-  "uuid": "0853721c-3f55-4eb2-873d-e3081cfadd4b",
+  "uuid": "40c8d2a5-e0e9-4200-8c83-1d51ef8cb2e0",
   "isBundle": false,
   "bundleName": "",
   "priority": 1,
diff --git a/play/assets/scene/dragonBones/.keep b/play/assets/dfzx_cocos_dqq_app/dragonBones/.keep
similarity index 100%
rename from play/assets/scene/dragonBones/.keep
rename to play/assets/dfzx_cocos_dqq_app/dragonBones/.keep
diff --git a/play/assets/dfzx_cocos_dqq_app/dragonBones/blink.anim b/play/assets/dfzx_cocos_dqq_app/dragonBones/blink.anim
new file mode 100644
index 0000000000000000000000000000000000000000..e6f7b7df238c2ff2010713031403651634f2bbdb
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/dragonBones/blink.anim
@@ -0,0 +1,49 @@
+{
+  "__type__": "cc.AnimationClip",
+  "_name": "blink",
+  "_objFlags": 0,
+  "_native": "",
+  "_duration": 0.35,
+  "sample": 60,
+  "speed": 1,
+  "wrapMode": 2,
+  "curveData": {
+    "comps": {
+      "cc.Sprite": {
+        "spriteFrame": [
+          {
+            "frame": 0,
+            "value": {
+              "__uuid__": "077c7919-e017-49f8-8d8e-d028510282a7"
+            }
+          },
+          {
+            "frame": 0.08333333333333333,
+            "value": {
+              "__uuid__": "c21281bb-ff67-4cc1-95b7-674562361465"
+            }
+          },
+          {
+            "frame": 0.16666666666666666,
+            "value": {
+              "__uuid__": "f3d6086d-4af6-4ebd-9ca0-26bf51e72185"
+            }
+          },
+          {
+            "frame": 0.25,
+            "value": {
+              "__uuid__": "d0d8b389-ff17-4d17-8a46-96af5cece161"
+            }
+          },
+          {
+            "frame": 0.3333333333333333,
+            "value": {
+              "__uuid__": "077c7919-e017-49f8-8d8e-d028510282a7"
+            }
+          }
+        ]
+      }
+    }
+  },
+  "events": []
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/dragonBones/blink.anim.meta b/play/assets/dfzx_cocos_dqq_app/dragonBones/blink.anim.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9b72a914ba0cd8d1643b1dbe1dfe2d33e1980975
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/dragonBones/blink.anim.meta
@@ -0,0 +1,5 @@
+{
+  "ver": "2.1.0",
+  "uuid": "83aaaa03-e0c9-43ce-881c-55ee6ffcae0f",
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/dragonBones/right_ske.json b/play/assets/dfzx_cocos_dqq_app/dragonBones/right_ske.json
new file mode 100644
index 0000000000000000000000000000000000000000..cde593b571ab1eebc3b73dbbb66cc42d4b683103
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/dragonBones/right_ske.json
@@ -0,0 +1 @@
+{"name":"right","version":"5.5","armature":[{"name":"Armature","defaultActions":[{"gotoAndPlay":"newAnimation"}],"bone":[{"name":"root","transform":{}},{"name":"1","transform":{"x":0.5052,"y":-0.1067},"parent":"root"},{"name":"十字架","transform":{"x":0.9,"skY":90,"y":-14.4,"skX":90},"parent":"root"},{"name":"盾","transform":{"x":0.6,"skY":-90.2848,"y":-0.9,"skX":-90.2848},"length":60,"parent":"root"},{"name":"星4","transform":{"x":-89.75,"y":-67.25},"parent":"root"},{"name":"星2","transform":{"x":56.45,"skY":90,"y":-88.55,"skX":90},"parent":"root"},{"name":"星3","transform":{"x":86.8,"y":48.35},"parent":"root"},{"name":"星1","transform":{"x":-45.6,"skY":45,"y":41.45,"skX":45},"parent":"root"}],"aabb":{"x":-194,"height":294,"y":-128.60037857684097,"width":384},"ik":[],"slot":[{"name":"1","color":{},"displayIndex":5,"parent":"1"},{"name":"盾","color":{},"z":1,"parent":"盾"},{"name":"十字架","color":{},"z":2,"parent":"十字架"},{"name":"星4","color":{},"z":3,"parent":"星4"},{"name":"星3","color":{},"z":4,"parent":"星3"},{"name":"星2","color":{},"z":5,"parent":"星2"},{"name":"星1","color":{},"z":6,"parent":"星1"}],"skin":[{"name":"","slot":[{"name":"星2","display":[{"name":"1/星2","transform":{"x":-0.45,"skY":-90,"y":-2.05,"skX":-90},"type":"image","path":"1/星2"}]},{"name":"1","display":[{"name":"1/1","transform":{"x":-1.0052,"y":-18.9937},"type":"image","path":"1/1"},{"name":"1/2","transform":{"x":5.4948,"y":-18.4937},"type":"image","path":"1/2"},{"name":"1/3","transform":{"x":-0.5052,"y":-15.4937},"type":"image","path":"1/3"},{"name":"1/4","transform":{"x":-3.5052,"y":-7.9937},"type":"image","path":"1/4"},{"name":"1/5","transform":{"x":-2.0052,"y":-3.9937},"type":"image","path":"1/5"},{"name":"1/6","transform":{"x":-2.5052,"y":18.5063},"type":"image","path":"1/6"}]},{"name":"盾","display":[{"name":"1/盾","transform":{"x":9.088,"skY":90.2848,"y":2.4452,"skX":90.2848},"type":"image","path":"1/盾"}]},{"name":"星1","display":[{"name":"1/星1","transform":{"x":0.1061,"skY":-45,"y":-2.1567,"skX":-45},"type":"image","path":"1/星1"}]},{"name":"十字架","display":[{"name":"1/十字架","transform":{"x":-0.1,"skY":-90,"y":-1.6,"skX":-90},"type":"image","path":"1/十字架"}]},{"name":"星4","display":[{"name":"1/星4","transform":{"x":1.75,"y":-0.75},"type":"image","path":"1/星4"}]},{"name":"星3","display":[{"name":"1/星3","transform":{"x":2.2,"y":-0.85},"type":"image","path":"1/星3"}]}]}],"frameRate":24,"type":"Armature","animation":[{"name":"newAnimation","frame":[],"bone":[{"name":"root","rotateFrame":[],"translateFrame":[],"scaleFrame":[]},{"name":"1","rotateFrame":[],"translateFrame":[{"duration":5},{"tweenEasing":0,"duration":5},{"y":48.6907,"duration":8}],"scaleFrame":[{"duration":5},{"tweenEasing":0,"duration":5},{"x":0.85,"y":0.9,"duration":8}]},{"name":"十字架","rotateFrame":[],"translateFrame":[],"scaleFrame":[{"duration":7},{"tweenEasing":0,"x":1.7,"y":1.7,"duration":3},{"duration":8}]},{"name":"盾","rotateFrame":[],"translateFrame":[],"scaleFrame":[{"duration":4},{"tweenEasing":0,"x":2.33,"y":2.33,"duration":4},{"duration":10}]},{"name":"星4","rotateFrame":[{"duration":8},{"duration":3,"tweenEasing":0},{"duration":7,"rotate":78.8649}],"translateFrame":[{"duration":8},{"tweenEasing":0,"x":46.0909,"y":26.7655,"duration":3},{"x":8.8272,"y":-5.6116,"duration":7}],"scaleFrame":[{"duration":8},{"tweenEasing":0,"x":0.55,"y":0.55,"duration":3},{"duration":7}]},{"name":"星2","rotateFrame":[{"duration":8},{"duration":3,"tweenEasing":0},{"duration":7,"rotate":-264.8158}],"translateFrame":[{"duration":8},{"tweenEasing":0,"x":-13.2109,"y":35.1361,"duration":3},{"x":29.3149,"y":10.1086,"duration":7}],"scaleFrame":[]},{"name":"星3","rotateFrame":[{"duration":8},{"duration":3,"tweenEasing":0},{"duration":7,"rotate":-99.3708}],"translateFrame":[{"duration":8},{"tweenEasing":0,"x":-56.2596,"y":-29.4195,"duration":3},{"x":-14.0823,"y":-7.1109,"duration":7}],"scaleFrame":[]},{"name":"星1","rotateFrame":[{"duration":8},{"duration":3,"tweenEasing":0},{"duration":7,"rotate":-84.1009}],"translateFrame":[{"duration":8},{"tweenEasing":0,"x":19.1715,"y":-13.9429,"duration":3},{"x":-11.224,"y":12.5835,"duration":7}],"scaleFrame":[]}],"playTimes":0,"ffd":[],"ik":[],"slot":[{"name":"1","displayFrame":[{"duration":1},{"duration":1,"value":1},{"duration":1,"value":2},{"duration":1,"value":3},{"duration":1,"value":4},{"duration":13,"value":5}],"colorFrame":[{"duration":5},{"duration":1,"tweenEasing":0},{"duration":4,"tweenEasing":0},{"duration":8,"color":{"aM":0}}]},{"name":"盾","displayFrame":[{"duration":4,"value":-1},{"duration":14}],"colorFrame":[{"duration":4},{"duration":4,"color":{"aM":13},"tweenEasing":0},{"duration":8,"tweenEasing":0},{"duration":2,"color":{"aM":0}}]},{"name":"十字架","displayFrame":[{"duration":7,"value":-1},{"duration":3},{"duration":8}],"colorFrame":[{"duration":7},{"duration":3,"color":{"aM":35},"tweenEasing":0},{"duration":6,"tweenEasing":0},{"duration":2,"color":{"aM":0}}]},{"name":"星4","displayFrame":[{"duration":8,"value":-1},{"duration":10}],"colorFrame":[{"duration":8},{"duration":3,"color":{"aM":28},"tweenEasing":0},{"duration":7,"tweenEasing":0},{"duration":0,"color":{"aM":0}}]},{"name":"星3","displayFrame":[{"duration":8,"value":-1},{"duration":10}],"colorFrame":[{"duration":8},{"duration":3,"color":{"aM":26},"tweenEasing":0},{"duration":7,"tweenEasing":0},{"duration":0,"color":{"aM":0}}]},{"name":"星2","displayFrame":[{"duration":8,"value":-1},{"duration":10}],"colorFrame":[{"duration":8},{"duration":3,"color":{"aM":18},"tweenEasing":0},{"duration":7,"tweenEasing":0},{"duration":0,"color":{"aM":0}}]},{"name":"星1","displayFrame":[{"duration":8,"value":-1},{"duration":10}],"colorFrame":[{"duration":8},{"duration":3,"color":{"aM":28},"tweenEasing":0},{"duration":7,"tweenEasing":0},{"duration":0,"color":{"aM":0}}]}],"duration":18}]}],"frameRate":24,"isGlobal":0}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/dragonBones/right_ske.json.meta b/play/assets/dfzx_cocos_dqq_app/dragonBones/right_ske.json.meta
new file mode 100644
index 0000000000000000000000000000000000000000..70c09a06a9cb5a38095412ef347cd374863fa02f
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/dragonBones/right_ske.json.meta
@@ -0,0 +1,5 @@
+{
+  "ver": "1.0.1",
+  "uuid": "f00ffee5-b8a0-43c3-9e12-2a460784cf96",
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/dragonBones/right_tex.json b/play/assets/dfzx_cocos_dqq_app/dragonBones/right_tex.json
new file mode 100644
index 0000000000000000000000000000000000000000..448e1c899bd066c6dc6869eafea6fbfad2e0e306
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/dragonBones/right_tex.json
@@ -0,0 +1 @@
+{"name":"right","imagePath":"right_tex.png","SubTexture":[{"name":"1/5","x":405,"height":291,"y":1,"width":399},{"name":"1/2","x":387,"height":282,"y":583,"width":364},{"name":"1/1","x":1,"height":233,"y":601,"width":301},{"name":"1/3","x":1,"height":302,"y":1,"width":402},{"name":"1/6","x":1,"height":294,"y":305,"width":384},{"name":"1/4","x":405,"height":287,"y":294,"width":396},{"name":"1/盾","x":1,"height":126,"y":836,"width":126},{"name":"1/十字架","x":304,"height":79,"y":601,"width":79},{"name":"1/星4","x":304,"height":48,"y":682,"width":48},{"name":"1/星3","x":304,"height":39,"y":778,"width":40},{"name":"1/星2","x":304,"height":44,"y":732,"width":45},{"name":"1/星1","x":346,"height":34,"y":778,"width":36}],"height":1024,"width":1024}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/dragonBones/right_tex.json.meta b/play/assets/dfzx_cocos_dqq_app/dragonBones/right_tex.json.meta
new file mode 100644
index 0000000000000000000000000000000000000000..67bdce12f340077ba7185529b7c84dce4841909b
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/dragonBones/right_tex.json.meta
@@ -0,0 +1,5 @@
+{
+  "ver": "1.0.1",
+  "uuid": "2e77da60-7917-4a9a-a12b-04361666f448",
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/dragonBones/right_tex.png b/play/assets/dfzx_cocos_dqq_app/dragonBones/right_tex.png
new file mode 100644
index 0000000000000000000000000000000000000000..645b9f29a100b03c6b95e15fb00ca56fbe74d53d
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/dragonBones/right_tex.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/dragonBones/right_tex.png.meta b/play/assets/dfzx_cocos_dqq_app/dragonBones/right_tex.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9e4a4121c08a6963fcf6ff6fce1007d94faf6ad6
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/dragonBones/right_tex.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "6d153e22-f912-4cdd-87e9-7710c982ba3a",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 1024,
+  "height": 1024,
+  "platformSettings": {},
+  "subMetas": {
+    "right_tex": {
+      "ver": "1.0.4",
+      "uuid": "0ded7aed-dcd3-46ad-a8dc-e82ea5f49780",
+      "rawTextureUuid": "6d153e22-f912-4cdd-87e9-7710c982ba3a",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": -109.5,
+      "offsetY": 30.5,
+      "trimX": 1,
+      "trimY": 1,
+      "width": 803,
+      "height": 961,
+      "rawWidth": 1024,
+      "rawHeight": 1024,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/scene/fonts.meta b/play/assets/dfzx_cocos_dqq_app/fonts.meta
similarity index 79%
rename from play/assets/scene/fonts.meta
rename to play/assets/dfzx_cocos_dqq_app/fonts.meta
index 67ced5a7c25c66ec870c7a41ea3e9c0f667af398..e18520e396b6a19b69a300233bf3fc40a8675904 100644
--- a/play/assets/scene/fonts.meta
+++ b/play/assets/dfzx_cocos_dqq_app/fonts.meta
@@ -1,6 +1,6 @@
 {
   "ver": "1.1.2",
-  "uuid": "20185448-a1ca-4de2-8b37-7bf6cdfccbae",
+  "uuid": "1ffd43c5-1545-473c-8dc5-cc0e8f8fb935",
   "isBundle": false,
   "bundleName": "",
   "priority": 1,
diff --git a/play/assets/scene/fonts/.keep b/play/assets/dfzx_cocos_dqq_app/fonts/.keep
similarity index 100%
rename from play/assets/scene/fonts/.keep
rename to play/assets/dfzx_cocos_dqq_app/fonts/.keep
diff --git a/play/assets/dfzx_cocos_dqq_app/fonts/Berlin Sans FB.ttf b/play/assets/dfzx_cocos_dqq_app/fonts/Berlin Sans FB.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..efaf22ff70a2b17519804a3f616208e73ff5896a
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/fonts/Berlin Sans FB.ttf differ
diff --git a/play/assets/dfzx_cocos_dqq_app/fonts/Berlin Sans FB.ttf.meta b/play/assets/dfzx_cocos_dqq_app/fonts/Berlin Sans FB.ttf.meta
new file mode 100644
index 0000000000000000000000000000000000000000..57ed1bd3d74d4ab32f8b7cc57a3725538d399bf6
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/fonts/Berlin Sans FB.ttf.meta	
@@ -0,0 +1,5 @@
+{
+  "ver": "1.1.0",
+  "uuid": "68b79335-9901-4157-b5ae-be5a6745b1ad",
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/scene.meta b/play/assets/dfzx_cocos_dqq_app/scene.meta
similarity index 79%
rename from play/assets/scene.meta
rename to play/assets/dfzx_cocos_dqq_app/scene.meta
index 87e508f6fb144925fe2af6c529c89320c1298d27..a0a37d4deeb87853f8a038ee096887832c18d2ba 100644
--- a/play/assets/scene.meta
+++ b/play/assets/dfzx_cocos_dqq_app/scene.meta
@@ -1,6 +1,6 @@
 {
   "ver": "1.1.2",
-  "uuid": "c35bb2f6-f24a-4850-ae44-643f2fdc7541",
+  "uuid": "2f84b813-8106-4fb7-8526-1e0e3d5cc343",
   "isBundle": false,
   "bundleName": "",
   "priority": 1,
diff --git a/play/assets/dfzx_cocos_dqq_app/scene/dfzx_cocos_dqq_app.fire b/play/assets/dfzx_cocos_dqq_app/scene/dfzx_cocos_dqq_app.fire
new file mode 100644
index 0000000000000000000000000000000000000000..3fc58b43902637582fadd0a3212af0b879843b78
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/scene/dfzx_cocos_dqq_app.fire
@@ -0,0 +1,6275 @@
+[
+  {
+    "__type__": "cc.SceneAsset",
+    "_name": "",
+    "_objFlags": 0,
+    "_native": "",
+    "scene": {
+      "__id__": 1
+    }
+  },
+  {
+    "__type__": "cc.Scene",
+    "_objFlags": 0,
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 48
+      },
+      {
+        "__id__": 61
+      },
+      {
+        "__id__": 71
+      },
+      {
+        "__id__": 83
+      },
+      {
+        "__id__": 85
+      },
+      {
+        "__id__": 110
+      }
+    ],
+    "_active": false,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_is3DNode": true,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "autoReleaseAssets": true,
+    "_id": "7d7fd49c-0439-4279-aa39-173d3404efdb"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Canvas",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 5
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 45
+      },
+      {
+        "__id__": 46
+      },
+      {
+        "__id__": 47
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 1280,
+      "height": 720
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        640,
+        360,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "a5esZu+45LA5mBpvttspPD"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Main Camera",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 4
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 1280,
+      "height": 720
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        362.85545494732423,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "e1WoFrQ79G7r4ZuQE3HlNb"
+  },
+  {
+    "__type__": "cc.Camera",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 3
+    },
+    "_enabled": true,
+    "_cullingMask": 4294967295,
+    "_clearFlags": 7,
+    "_backgroundColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_depth": -1,
+    "_zoomRatio": 1,
+    "_targetTexture": null,
+    "_fov": 60,
+    "_orthoSize": 10,
+    "_nearClip": 1,
+    "_farClip": 4096,
+    "_ortho": true,
+    "_rect": {
+      "__type__": "cc.Rect",
+      "x": 0,
+      "y": 0,
+      "width": 1,
+      "height": 1
+    },
+    "_renderStages": 1,
+    "_alignWithScreen": true,
+    "_id": "81GN3uXINKVLeW4+iKSlim"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "bg",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [
+      {
+        "__id__": 6
+      },
+      {
+        "__id__": 9
+      },
+      {
+        "__id__": 22
+      },
+      {
+        "__id__": 25
+      },
+      {
+        "__id__": 28
+      },
+      {
+        "__id__": 31
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 43
+      },
+      {
+        "__id__": 44
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 1280,
+      "height": 720
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "32MJMZ2HRGF4BOf533Avyi"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Table",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 5
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 7
+      },
+      {
+        "__id__": 8
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 1280,
+      "height": 101
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        -309.5,
+        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": "21RC+/U2RC26WzFc4nuC1o"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 6
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "d84d33b6-b887-45d5-a2ae-67d11c2a667c"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "dc4bx7schDAJ1g3EKXqXjf"
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 6
+    },
+    "_enabled": true,
+    "alignMode": 2,
+    "_target": null,
+    "_alignFlags": 44,
+    "_left": 0,
+    "_right": 0,
+    "_top": 0,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 1280,
+    "_originalHeight": 0,
+    "_id": "beg7yowyNPmbexsFHI6TPt"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "BtnSpeaker",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 5
+    },
+    "_children": [
+      {
+        "__id__": 10
+      },
+      {
+        "__id__": 12
+      },
+      {
+        "__id__": 14
+      },
+      {
+        "__id__": 16
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 18
+      },
+      {
+        "__id__": 19
+      },
+      {
+        "__id__": 20
+      },
+      {
+        "__id__": 21
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 86,
+      "height": 92
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        557,
+        -284,
+        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": "eeFKI1TPJFB7jKHp14rphE"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "speaker_0",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 9
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 11
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 86,
+      "height": 92
+    },
+    "_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": "02tVUVvaVIlKb/MhRXKr0V"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 10
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "c21281bb-ff67-4cc1-95b7-674562361465"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "84A9goEFNI8IWBe5qKPuIp"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "speaker_1",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 9
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 13
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 86,
+      "height": 92
+    },
+    "_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": "74v588qP9K+b/1Lmm5qriJ"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 12
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "f3d6086d-4af6-4ebd-9ca0-26bf51e72185"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "80LmRotdBOPaYRqUtW9loi"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "speaker_2",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 9
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 15
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 86,
+      "height": 92
+    },
+    "_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": "19XFmIQU9PvKsMwXBhzd94"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 14
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "d0d8b389-ff17-4d17-8a46-96af5cece161"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "ffRxjRrRpJ25ohHHyJLDjR"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "speaker_3",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 9
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 17
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 86,
+      "height": 92
+    },
+    "_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": "e9mddgNIRK36Fgfv+e4cJX"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 16
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "077c7919-e017-49f8-8d8e-d028510282a7"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "d3DYDSGpREIIpnGth5o+sv"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 9
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "077c7919-e017-49f8-8d8e-d028510282a7"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "4fDDFU+5hIoKv+kEh+BZzh"
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 9
+    },
+    "_enabled": true,
+    "alignMode": 2,
+    "_target": null,
+    "_alignFlags": 36,
+    "_left": 0,
+    "_right": 40,
+    "_top": 0,
+    "_bottom": 30,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 0,
+    "_originalHeight": 0,
+    "_id": "87v8CX0JFBoqVZpU1pjKde"
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 9
+    },
+    "_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": "8ft5ObJNtLXI6SDJZ2e9es"
+  },
+  {
+    "__type__": "cc.Animation",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 9
+    },
+    "_enabled": true,
+    "_defaultClip": {
+      "__uuid__": "83aaaa03-e0c9-43ce-881c-55ee6ffcae0f"
+    },
+    "_clips": [
+      {
+        "__uuid__": "83aaaa03-e0c9-43ce-881c-55ee6ffcae0f"
+      }
+    ],
+    "playOnLoad": false,
+    "_id": "f43IAsUD1E5JTUbO8KAXrv"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "StarLayout",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 5
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 23
+      },
+      {
+        "__id__": 24
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 65,
+      "height": 450
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 1
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        557,
+        300,
+        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": "133FGfzilLvKPyvwm+hRcb"
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 22
+    },
+    "_enabled": true,
+    "_layoutSize": {
+      "__type__": "cc.Size",
+      "width": 65,
+      "height": 450
+    },
+    "_resize": 0,
+    "_N$layoutType": 3,
+    "_N$cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_N$startAxis": 1,
+    "_N$paddingLeft": 0,
+    "_N$paddingRight": 0,
+    "_N$paddingTop": 0,
+    "_N$paddingBottom": 0,
+    "_N$spacingX": 10,
+    "_N$spacingY": 10,
+    "_N$verticalDirection": 1,
+    "_N$horizontalDirection": 1,
+    "_N$affectedByScale": true,
+    "_id": "1e3ECq7oVJ95QXNrR16DBs"
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 22
+    },
+    "_enabled": true,
+    "alignMode": 2,
+    "_target": null,
+    "_alignFlags": 33,
+    "_left": 0,
+    "_right": 50.5,
+    "_top": 60,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 0,
+    "_originalHeight": 0,
+    "_id": "a4Y1gmTNxEqZPru/RK9y+B"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "BtnRestart",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 5
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 26
+      },
+      {
+        "__id__": 27
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 407,
+      "height": 179
+    },
+    "_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": "c0dcDV04NCdqp2EehR75C3"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 25
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "6492780e-203a-462b-8000-5537deb9f79c"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "50u0cyScFKlIH7b8ZLGoCV"
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 25
+    },
+    "_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": "80QsSPIs5Fep8ptwWXtdxJ"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "BtnStart",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 5
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 29
+      },
+      {
+        "__id__": 30
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 407,
+      "height": 179
+    },
+    "_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": "78dSI4m4VOWIy+IE8UaJbq"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 28
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "89ad9638-9dc1-4089-becb-b888dd43f062"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "86uLMZoZRDZqete9Jt9Ou+"
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 28
+    },
+    "_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": "75IENod+FM/4qI27YZCLdq"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "GunBase",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 5
+    },
+    "_children": [
+      {
+        "__id__": 32
+      },
+      {
+        "__id__": 34
+      },
+      {
+        "__id__": 35
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 308,
+      "height": 240
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        -600,
+        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": "66UzG+s79JH6n4BZmEA5vd"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "bg",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 31
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 33
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 308,
+      "height": 171
+    },
+    "_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": "896NQx501P2a2NgHNdKBdR"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 32
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "277770e3-f699-4696-b880-c8012c69eaf2"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "08fvlj7QhJo5G9tntZ8z3o"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "GunPos",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 31
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 238,
+      "height": 238
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        10,
+        110,
+        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": "5dTrSAog1EiqdNxsePONU3"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Gun",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 31
+    },
+    "_children": [
+      {
+        "__id__": 36
+      },
+      {
+        "__id__": 37
+      },
+      {
+        "__id__": 39
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 42
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 238,
+      "height": 238
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        10,
+        110,
+        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": "4akwWGl7BDTKhnf59PrPB8"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Muzzle",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 35
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        115.663,
+        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": "c2mwhi/uFLaIaNrAlw2Cc2"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Water",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 35
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 38
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 238,
+      "height": 238
+    },
+    "_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": "e0OsqESgNL5YL99HMB+Kwz"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 37
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "a4a03ebc-3cd6-4904-b441-b012b4e6b71d"
+    },
+    "_type": 0,
+    "_sizeMode": 2,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": false,
+    "_atlas": null,
+    "_id": "0etIicbHZJ6J59UCOrkNTS"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Gun",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 35
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 40
+      },
+      {
+        "__id__": 41
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 238,
+      "height": 238
+    },
+    "_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": "1epegsQHFHSYvUiZM3SJQ+"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 39
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "46a0ad96-7c37-485a-bd82-ab24c93c70a2"
+    },
+    "_type": 0,
+    "_sizeMode": 2,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": false,
+    "_atlas": null,
+    "_id": "bfIn6rrQpBiboL6xK7D0/o"
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 39
+    },
+    "_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": "40JEUBMrtAVrjCHZeEKXlF"
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 35
+    },
+    "_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": "72ubnvEnRDW45TNpsHlC5K"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 5
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "f9d9d756-d838-4d31-aba3-46e5ffc6e9b8"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "97/S6HDq9MeqgmV1Zwnhbb"
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 5
+    },
+    "_enabled": true,
+    "alignMode": 2,
+    "_target": null,
+    "_alignFlags": 45,
+    "_left": 0,
+    "_right": 0,
+    "_top": 0,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 1280,
+    "_originalHeight": 720,
+    "_id": "17A0y7MFRMZa6h7EBnzO0u"
+  },
+  {
+    "__type__": "cc.Canvas",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "_designResolution": {
+      "__type__": "cc.Size",
+      "width": 1280,
+      "height": 720
+    },
+    "_fitWidth": true,
+    "_fitHeight": false,
+    "_id": "59Cd0ovbdF4byw5sbjJDx7"
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "alignMode": 1,
+    "_target": null,
+    "_alignFlags": 45,
+    "_left": 0,
+    "_right": 0,
+    "_top": 0,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 0,
+    "_originalHeight": 0,
+    "_id": "29zXboiXFBKoIV4PQ2liTe"
+  },
+  {
+    "__type__": "4225eAWlg9IRYwHAtS39NnE",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "_id": "1efsg28gpO0Izi6VsKWew7"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "StarBase",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 49
+      },
+      {
+        "__id__": 51
+      },
+      {
+        "__id__": 55
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 60
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 62,
+      "height": 66
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -548.632,
+        -397.426,
+        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": "15DCV85gVO/79iDEWhKkaY"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "bg",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 48
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 50
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 100,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 62,
+      "height": 66
+    },
+    "_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": "f9HGAfEuFK8IdKQRKl0y3y"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 49
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "0dc4b200-267c-4b62-84b2-bc11b1efa107"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "b9KM/4bmxB+bmxfjQKBv7t"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Star",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 48
+    },
+    "_children": [
+      {
+        "__id__": 52
+      }
+    ],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 54
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 62,
+      "height": 69
+    },
+    "_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": "6388ISZn1Pvpo3KZME3u3L"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "StarBig",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 51
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 53
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 278,
+      "height": 275
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        -0.7071067811865475,
+        0.7071067811865476,
+        0.2,
+        0.2,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": -90
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "6bdCSEuxxBBquaGwu6zIBC"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 52
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "0e9a63a8-86de-4dd8-af76-e7ef31c6f934"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "849nEKVSNKG46IpdrYFbTR"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 51
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "1464151d-e115-4a96-9acf-443859be76eb"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "cfIfRtC7lB74dXtzWoDbjl"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Mask",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 48
+    },
+    "_children": [
+      {
+        "__id__": 56
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 58
+      },
+      {
+        "__id__": 59
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 62,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0
+    },
+    "_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": "c9zkW99NVPgqN05G98855+"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Star",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 55
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 57
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 62,
+      "height": 66
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0
+    },
+    "_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": "55U5IIHitOFoqJYyy2l50q"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 56
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "0dc4b200-267c-4b62-84b2-bc11b1efa107"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "f4/x4fG6BLwovo5Rk9pxZC"
+  },
+  {
+    "__type__": "cc.Mask",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 55
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_spriteFrame": null,
+    "_type": 0,
+    "_segments": 64,
+    "_N$alphaThreshold": 0.1,
+    "_N$inverted": false,
+    "_id": "58YACbBxtImL9q2XL+vOlU"
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 55
+    },
+    "_enabled": true,
+    "alignMode": 1,
+    "_target": null,
+    "_alignFlags": 4,
+    "_left": 0,
+    "_right": 0,
+    "_top": -33,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 0,
+    "_originalHeight": 0,
+    "_id": "ddfhQo6A9PmJVcRhNoeFRZ"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 48
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": null,
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "e3FlY1WOlLf5WYDMG2tY8D"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "BallImg",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 62
+      },
+      {
+        "__id__": 64
+      },
+      {
+        "__id__": 68
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 70
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 337,
+      "height": 265
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -895.282,
+        -553.661,
+        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": "8b8oYSo+VH1aarULSN14xC"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "bg",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 61
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 63
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 337,
+      "height": 265
+    },
+    "_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": "a1nRgJVSlDYqdHgP8TP3xU"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 62
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "56eaa174-9be9-4c47-bcb8-8db1a844cc8c"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "cefhgi0OBI/JzmkYDpE0zG"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Mask",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 61
+    },
+    "_children": [
+      {
+        "__id__": 65
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 67
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 176,
+      "height": 162
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        4.892,
+        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": "50HzolC3xILb62Jtl70g/W"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "AnsterImg",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 64
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 66
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 200,
+      "height": 200
+    },
+    "_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": "5cXMEcZ35BX6usk3tvfkvu"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 65
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "8cdb44ac-a3f6-449f-b354-7cd48cf84061"
+    },
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "dcszD0XmNM5b8RX5AjVdd0"
+  },
+  {
+    "__type__": "cc.Mask",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 64
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_spriteFrame": null,
+    "_type": 0,
+    "_segments": 64,
+    "_N$alphaThreshold": 0,
+    "_N$inverted": false,
+    "_id": "c3Q45z/xRDvKfGVMNUksA0"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "DistroyAnime",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 61
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 69
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 384,
+      "height": 294
+    },
+    "_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": "ee5QLTfOxKbbyLNWjF4QWG"
+  },
+  {
+    "__type__": "dragonBones.ArmatureDisplay",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 68
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_armatureName": "Armature",
+    "_animationName": "newAnimation",
+    "_preCacheMode": 0,
+    "_cacheMode": 0,
+    "playTimes": 1,
+    "premultipliedAlpha": false,
+    "_armatureKey": "f00ffee5-b8a0-43c3-9e12-2a460784cf96#2e77da60-7917-4a9a-a12b-04361666f448",
+    "_accTime": 0,
+    "_playCount": 0,
+    "_frameCache": null,
+    "_curFrame": null,
+    "_playing": false,
+    "_armatureCache": null,
+    "_N$dragonAsset": {
+      "__uuid__": "f00ffee5-b8a0-43c3-9e12-2a460784cf96"
+    },
+    "_N$dragonAtlasAsset": {
+      "__uuid__": "2e77da60-7917-4a9a-a12b-04361666f448"
+    },
+    "_N$_defaultArmatureIndex": 0,
+    "_N$_animationIndex": 1,
+    "_N$_defaultCacheMode": 0,
+    "_N$timeScale": 1,
+    "_N$debugBones": false,
+    "_N$enableBatch": false,
+    "_id": "08p5KLohNKwpE/shB8F8gm"
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 61
+    },
+    "_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": "b8BkdszklPN70pKlN2Bav7"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "BallTxt",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 72
+      },
+      {
+        "__id__": 74
+      },
+      {
+        "__id__": 80
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 82
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 361,
+      "height": 163
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -529.374,
+        -633.931,
+        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": "681AdbUjZJ2YKCLqUFBU07"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "bg",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 71
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 73
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 361,
+      "height": 163
+    },
+    "_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": "b3wbI1yFxG/Z6nsgaSdhKE"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 72
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "e4116671-3caf-492e-8eeb-99b5356c14cd"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "92N+E4xWhHtrqVn+abm3eT"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Mask",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 71
+    },
+    "_children": [
+      {
+        "__id__": 75
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 79
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 250,
+      "height": 60
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        15,
+        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": "85U2wHPthH9ILutd16I0Yh"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "AnswerText",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 74
+    },
+    "_children": [
+      {
+        "__id__": 76
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 78
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 145.29,
+      "height": 63
+    },
+    "_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": "a6EHf73/RPgIAGcu33defw"
+  },
+  {
+    "__type__": "cc.PrivateNode",
+    "_name": "RICHTEXT_CHILD",
+    "_objFlags": 1024,
+    "_parent": {
+      "__id__": 75
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 77
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 55,
+      "g": 57,
+      "b": 123,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 145.29,
+      "height": 63
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -72.645,
+        -31.5,
+        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,
+    "showInEditor": false,
+    "_id": "b32fignA1E/ZHx1Ogc9aIC"
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 76
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_string": "catgf f ",
+    "_N$string": "catgf f ",
+    "_fontSize": 50,
+    "_lineHeight": 50,
+    "_enableWrapText": true,
+    "_N$file": {
+      "__uuid__": "68b79335-9901-4157-b5ae-be5a6745b1ad"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": 0,
+    "_batchAsBitmap": false,
+    "_styleFlags": 0,
+    "_underlineHeight": 0,
+    "_N$horizontalAlign": 0,
+    "_N$verticalAlign": 1,
+    "_N$fontFamily": "Arial",
+    "_N$overflow": 0,
+    "_N$cacheMode": 0,
+    "_id": "51w5xnPDZPu5aHqpFiXcJd"
+  },
+  {
+    "__type__": "cc.RichText",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 75
+    },
+    "_enabled": true,
+    "_fontFamily": "Arial",
+    "_isSystemFontUsed": false,
+    "_N$string": "<color=#37397b>catgf f </color>",
+    "_N$horizontalAlign": 1,
+    "_N$fontSize": 50,
+    "_N$font": {
+      "__uuid__": "68b79335-9901-4157-b5ae-be5a6745b1ad"
+    },
+    "_N$cacheMode": 0,
+    "_N$maxWidth": 0,
+    "_N$lineHeight": 50,
+    "_N$imageAtlas": null,
+    "_N$handleTouchEvent": true,
+    "_id": "07WC7SRP5PJ7bMjHmFltWp"
+  },
+  {
+    "__type__": "cc.Mask",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 74
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_spriteFrame": null,
+    "_type": 0,
+    "_segments": 64,
+    "_N$alphaThreshold": 0.1,
+    "_N$inverted": false,
+    "_id": "fdLC/NprNG3r3lyGy9sONT"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "DistroyAnime",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 71
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 81
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 384,
+      "height": 294
+    },
+    "_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": "d4awFAImpLorK8OIbaKtdT"
+  },
+  {
+    "__type__": "dragonBones.ArmatureDisplay",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 80
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_armatureName": "Armature",
+    "_animationName": "newAnimation",
+    "_preCacheMode": 0,
+    "_cacheMode": 0,
+    "playTimes": 1,
+    "premultipliedAlpha": false,
+    "_armatureKey": "f00ffee5-b8a0-43c3-9e12-2a460784cf96#2e77da60-7917-4a9a-a12b-04361666f448",
+    "_accTime": 0,
+    "_playCount": 0,
+    "_frameCache": null,
+    "_curFrame": null,
+    "_playing": false,
+    "_armatureCache": null,
+    "_N$dragonAsset": {
+      "__uuid__": "f00ffee5-b8a0-43c3-9e12-2a460784cf96"
+    },
+    "_N$dragonAtlasAsset": {
+      "__uuid__": "2e77da60-7917-4a9a-a12b-04361666f448"
+    },
+    "_N$_defaultArmatureIndex": 0,
+    "_N$_animationIndex": 1,
+    "_N$_defaultCacheMode": 0,
+    "_N$timeScale": 1,
+    "_N$debugBones": false,
+    "_N$enableBatch": false,
+    "_id": "e9MuvEmzVIIoXhN44I9pD0"
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 71
+    },
+    "_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": "6bfEpPlJNIrbG13hrx3kA0"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Bullet",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 84
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 36,
+      "height": 173
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -811.47,
+        -978.396,
+        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": "73/OkYuNJCdI+c7ThcxuyI"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 83
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "393ae96f-dcef-485f-8b6a-8e5b454cd677"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "0fdddacHFJ2L7so65VJC/V"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "RabbonBase",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 86
+      },
+      {
+        "__id__": 89
+      },
+      {
+        "__id__": 92
+      },
+      {
+        "__id__": 95
+      },
+      {
+        "__id__": 98
+      },
+      {
+        "__id__": 101
+      },
+      {
+        "__id__": 104
+      },
+      {
+        "__id__": 107
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -1552.697,
+        -1194.382,
+        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": "bf1YggNqpK6bEIXkdEts9V"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Node",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 85
+    },
+    "_children": [
+      {
+        "__id__": 87
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        340,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "41+yyYdWJI6bX8ui8wgX8K"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Sprite",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 86
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 88
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 252,
+      "g": 126,
+      "b": 0,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 55,
+      "height": 76
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        -0.7071067811865475,
+        0.7071067811865476,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": -90
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "fcevnik2lCKo2wCinpknL5"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 87
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "fae2e4dd-cbd3-4a27-8506-c6a2b11da5c6"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "a7w1x/nKRGa5vV5+KPL4vc"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Node",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 85
+    },
+    "_children": [
+      {
+        "__id__": 90
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        -80,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "6aJZJ/PXlAv6mTQdL2X3vl"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Sprite",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 89
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 91
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 246,
+      "g": 241,
+      "b": 0,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 55,
+      "height": 76
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        -0.7071067811865475,
+        0.7071067811865476,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": -90
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "899D60LeNGmZmdAqSIXCye"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 90
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "fae2e4dd-cbd3-4a27-8506-c6a2b11da5c6"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "92T3TGxpVPLocpW+tvPLKL"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Node",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 85
+    },
+    "_children": [
+      {
+        "__id__": 93
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        4,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "d2dGwBm99NqIae/l17SGne"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Sprite",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 92
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 94
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 255,
+      "b": 15,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 55,
+      "height": 76
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        -0.7071067811865475,
+        0.7071067811865476,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": -90
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "c2SItVr+NASYjlxWhgqmVO"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 93
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "fae2e4dd-cbd3-4a27-8506-c6a2b11da5c6"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "51QuMfmG9DsZgUpgRXrpE+"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Node",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 85
+    },
+    "_children": [
+      {
+        "__id__": 96
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        88,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "43o+jBtjNInJuDmGrAfr9D"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Sprite",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 95
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 97
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 239,
+      "b": 225,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 55,
+      "height": 76
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        -0.7071067811865475,
+        0.7071067811865476,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": -90
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "3azT/ksrBA/IrQFBxvLG0B"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 96
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "fae2e4dd-cbd3-4a27-8506-c6a2b11da5c6"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "0bb6aLl0BN34gmUV8L2kGA"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Node",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 85
+    },
+    "_children": [
+      {
+        "__id__": 99
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        172,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "7egSJDPS5Lko+7ouN7KC8n"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Sprite",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 98
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 100
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 216,
+      "b": 251,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 55,
+      "height": 76
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        -0.7071067811865475,
+        0.7071067811865476,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": -90
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "81Vj5wEzJNLKNlXcwxUnbx"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 99
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "fae2e4dd-cbd3-4a27-8506-c6a2b11da5c6"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "dcqI8FOepPGJCQ+GlwgZnR"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Node",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 85
+    },
+    "_children": [
+      {
+        "__id__": 102
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        256,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "ffrjLq9mlHsaoRiZktJ9vr"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Sprite",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 101
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 103
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 95,
+      "g": 0,
+      "b": 249,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 55,
+      "height": 76
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        -0.7071067811865475,
+        0.7071067811865476,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": -90
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "8d8g/MJpJAAbJcrEvK7NBT"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 102
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "fae2e4dd-cbd3-4a27-8506-c6a2b11da5c6"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "2bpoaN87BITKFVlzlDqiXM"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Node",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 85
+    },
+    "_children": [
+      {
+        "__id__": 105
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        -164,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "253CrGTaRCV6hj4dAHtS1+"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Sprite",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 104
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 106
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 254,
+      "g": 3,
+      "b": 3,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 55,
+      "height": 76
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        -0.7071067811865475,
+        0.7071067811865476,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": -90
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "083N1Z4EdGuIisnT40JIQo"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 105
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "fae2e4dd-cbd3-4a27-8506-c6a2b11da5c6"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "3dFEbpEpNOrITWVMloviI+"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Node",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 85
+    },
+    "_children": [
+      {
+        "__id__": 108
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        -248,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "55p/nV799A5pLS/NwKFVBV"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Sprite",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 107
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 109
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 210,
+      "g": 0,
+      "b": 244,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 55,
+      "height": 76
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        -0.7071067811865475,
+        0.7071067811865476,
+        0.5,
+        0.5,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": -90
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "47JvnI4zBHdK+IzDb2qWwp"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 108
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "fae2e4dd-cbd3-4a27-8506-c6a2b11da5c6"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": "65G+YFsohN4o7zSuUp/D1I"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "AudioBase",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 111
+      },
+      {
+        "__id__": 113
+      },
+      {
+        "__id__": 115
+      },
+      {
+        "__id__": 117
+      },
+      {
+        "__id__": 119
+      },
+      {
+        "__id__": 121
+      },
+      {
+        "__id__": 123
+      },
+      {
+        "__id__": 125
+      },
+      {
+        "__id__": 127
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -2659.262,
+        -1164.824,
+        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": "3eMoA5dPFIJbtAYCA7R+Rn"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "btn",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 110
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 112
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "92ZQZbbYtMQoNv1Ry9h8Nf"
+  },
+  {
+    "__type__": "cc.AudioSource",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 111
+    },
+    "_enabled": true,
+    "_clip": {
+      "__uuid__": "0181b1e4-8035-4088-be16-cf6e2ef9496e"
+    },
+    "_volume": 1,
+    "_mute": false,
+    "_loop": false,
+    "_firstlyEnabled": true,
+    "playOnLoad": false,
+    "preload": false,
+    "_id": "cdotl2Ew9H0I2Co0PDktJM"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "light",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 110
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 114
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "88bV/ztY5AWIUG7xCJHl4Y"
+  },
+  {
+    "__type__": "cc.AudioSource",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 113
+    },
+    "_enabled": true,
+    "_clip": {
+      "__uuid__": "174b36d7-c27d-406a-a644-0cb3f9a88361"
+    },
+    "_volume": 1,
+    "_mute": false,
+    "_loop": false,
+    "_firstlyEnabled": true,
+    "playOnLoad": false,
+    "preload": false,
+    "_id": "f9oUrCJ45O9Zfuk+q95/6E"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "move",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 110
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 116
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "a6v+1DY/FFVoSToRCjxjqO"
+  },
+  {
+    "__type__": "cc.AudioSource",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 115
+    },
+    "_enabled": true,
+    "_clip": {
+      "__uuid__": "fdbbed58-de4a-4cc4-bb3f-6545af8ce922"
+    },
+    "_volume": 1,
+    "_mute": false,
+    "_loop": false,
+    "_firstlyEnabled": true,
+    "playOnLoad": false,
+    "preload": false,
+    "_id": "a7chpZWL9P1pcrCwOqVWgf"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "wrong",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 110
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 118
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "faKHVpcT9CjJMi6UGu84sZ"
+  },
+  {
+    "__type__": "cc.AudioSource",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 117
+    },
+    "_enabled": true,
+    "_clip": {
+      "__uuid__": "45d91d76-ca0d-47fd-8a67-6f51f198b7bc"
+    },
+    "_volume": 1,
+    "_mute": false,
+    "_loop": false,
+    "_firstlyEnabled": true,
+    "playOnLoad": false,
+    "preload": false,
+    "_id": "7et5BDZ39GuYjyxqWGg01V"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "appare",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 110
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 120
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "f7ObkjiKhChqMbZf9pH2CB"
+  },
+  {
+    "__type__": "cc.AudioSource",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 119
+    },
+    "_enabled": true,
+    "_clip": {
+      "__uuid__": "f48aa8fc-dd6e-49ad-8b72-40bf901d9a67"
+    },
+    "_volume": 1,
+    "_mute": false,
+    "_loop": false,
+    "_firstlyEnabled": true,
+    "playOnLoad": false,
+    "preload": false,
+    "_id": "7aCdwskERNvJrCHaoWMSpZ"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "right",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 110
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 122
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "74Ji/s6MlHxbHfI4OdCBGA"
+  },
+  {
+    "__type__": "cc.AudioSource",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 121
+    },
+    "_enabled": true,
+    "_clip": {
+      "__uuid__": "75ad4844-8b58-4bc3-ba71-96c7382a0466"
+    },
+    "_volume": 1,
+    "_mute": false,
+    "_loop": false,
+    "_firstlyEnabled": true,
+    "playOnLoad": false,
+    "preload": false,
+    "_id": "60DIU1VsJDh6qzJ5o9XFiw"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "question",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 110
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 124
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "b8ev3+T+5CMYxW6O8LlEj0"
+  },
+  {
+    "__type__": "cc.AudioSource",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 123
+    },
+    "_enabled": true,
+    "_clip": {
+      "__uuid__": "cdbd6195-cae1-4059-92a9-c0e4125f780c"
+    },
+    "_volume": 1,
+    "_mute": false,
+    "_loop": false,
+    "_firstlyEnabled": true,
+    "playOnLoad": false,
+    "preload": false,
+    "_id": "06fR+xhchGf4CrSv21XTNn"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "star",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 110
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 126
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "d9jaYvsLtJZajeJNfvQtVX"
+  },
+  {
+    "__type__": "cc.AudioSource",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 125
+    },
+    "_enabled": true,
+    "_clip": {
+      "__uuid__": "688eefd5-14a6-42fe-8b27-f71c35999544"
+    },
+    "_volume": 1,
+    "_mute": false,
+    "_loop": false,
+    "_firstlyEnabled": true,
+    "playOnLoad": false,
+    "preload": false,
+    "_id": "93vxFB8bJC2Z5Zj1JBNeeM"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "end",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 110
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 128
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": "42Kkb1SZxICq3n9JgACEbu"
+  },
+  {
+    "__type__": "cc.AudioSource",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 127
+    },
+    "_enabled": true,
+    "_clip": {
+      "__uuid__": "f09f60df-1444-493d-b370-1e0aade49adc"
+    },
+    "_volume": 1,
+    "_mute": false,
+    "_loop": false,
+    "_firstlyEnabled": true,
+    "playOnLoad": false,
+    "preload": false,
+    "_id": "307Zn3bc9NVLOe/V979FhF"
+  }
+]
\ No newline at end of file
diff --git a/play/assets/scene/scene/scene.fire.meta b/play/assets/dfzx_cocos_dqq_app/scene/dfzx_cocos_dqq_app.fire.meta
similarity index 64%
rename from play/assets/scene/scene/scene.fire.meta
rename to play/assets/dfzx_cocos_dqq_app/scene/dfzx_cocos_dqq_app.fire.meta
index 14547b7500704cb012d18409488069767dd19f5c..7cc10df5f6ad4c190b3ccb430a961c4734420c94 100644
--- a/play/assets/scene/scene/scene.fire.meta
+++ b/play/assets/dfzx_cocos_dqq_app/scene/dfzx_cocos_dqq_app.fire.meta
@@ -1,6 +1,6 @@
 {
   "ver": "1.2.9",
-  "uuid": "57ea7c61-9b8b-498a-b024-c98ee9124beb",
+  "uuid": "7d7fd49c-0439-4279-aa39-173d3404efdb",
   "asyncLoadAssets": false,
   "autoReleaseAssets": true,
   "subMetas": {}
diff --git a/play/assets/dfzx_cocos_dqq_app/scene/dfzx_cocos_dqq_app.js b/play/assets/dfzx_cocos_dqq_app/scene/dfzx_cocos_dqq_app.js
new file mode 100644
index 0000000000000000000000000000000000000000..1f17651921c99a578fdc1a4726ce52e0b468f0bd
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/scene/dfzx_cocos_dqq_app.js
@@ -0,0 +1,571 @@
+import { defaultData } from '../script/defaultData.js';
+import {
+	addBtnListener,
+	showTrebleFirework,
+	asyncDelay,
+	asyncTweenBy,
+	asyncTweenTo,
+	Between,
+	exchangeNodePos,
+	getSpriteFrimeByUrl,
+	jelly,
+	playAudioByUrl,
+	playAudioByUrlSync,
+	RandomInt,
+	onHomeworkFinish,
+} from "../script/util";
+
+cc.Class({
+
+	extends: cc.Component,
+
+	properties: {
+	},
+
+	ctor() {
+		this.createSpeed = [750, 1500, 1000, 800, 800, 640, 640, 512, 512];
+		this.moveSpeed = [5, 5, 4, 4, 3.2, 3.2, 2.56, 2.56, 2.048, 2.048];
+	},
+
+	// 生命周期 onLoad
+	onLoad() {
+		this.initSceneData();
+		this.initSize();
+	},
+
+	_imageResList: null,
+	_audioResList: null,
+	_animaResList: null,
+	initSceneData() {
+		this._imageResList = [];
+		this._audioResList = [];
+		this._animaResList = [];
+	},
+
+	_designSize: null,  // 设计分辨率
+	_frameSize: null,  // 屏幕分辨率
+	_mapScaleMin: null,  // 场景中常用缩放(取大值)
+	_mapScaleMax: null,  // 场景中常用缩放(取小值)
+	_cocosScale: null,  // cocos 自缩放 (较少用到)
+	initSize() {
+		// 注意cc.winSize只有在适配后(修改fitHeight/fitWidth后)才能获取到正确的值,因此使用cc.getFrameSize()来获取初始的屏幕大小
+		let screen_size = cc.view.getFrameSize().width / cc.view.getFrameSize().height
+		let design_size = cc.Canvas.instance.designResolution.width / cc.Canvas.instance.designResolution.height
+		let f = screen_size >= design_size
+		cc.Canvas.instance.fitHeight = f
+		cc.Canvas.instance.fitWidth = !f
+
+		const frameSize = cc.view.getFrameSize();
+		this._frameSize = frameSize;
+
+		this._designSize = cc.view.getDesignResolutionSize();
+
+		let sx = cc.winSize.width / frameSize.width;
+		let sy = cc.winSize.height / frameSize.height;
+		this._cocosScale = Math.min(sx, sy);
+
+		sx = frameSize.width / this._designSize.width;
+		sy = frameSize.height / this._designSize.height;
+		this._mapScaleMin = Math.min(sx, sy) * this._cocosScale;
+		this._mapScaleMax = Math.max(sx, sy) * this._cocosScale;
+	},
+
+
+	// 生命周期 start
+	start() {
+		let getData = this.getData.bind(this);
+		if (window && window.courseware) {
+			getData = window.courseware.getData;
+		}
+
+		getData((data) => {
+			console.log('data:', data);
+			this.data = data || this.getDefaultData();
+			this.data = JSON.parse(JSON.stringify(this.data))
+			this.preloadItem()
+		});
+	},
+
+	getData(cb) {
+		cb(this.getDefaultData());
+	},
+
+	getDefaultData() {
+		return defaultData;
+	},
+
+	preloadItem() {
+		this.addPreloadImage();
+		this.addPreloadAudio();
+		this.addPreloadAnima();
+		this.preload();
+	},
+
+	addPreloadImage() {
+		// this._imageResList.push({ url: this.data.pic_url });
+	},
+
+	addPreloadAudio() {
+		// this._audioResList.push({ url: this.data.audio_url });
+	},
+
+	addPreloadAnima() {
+
+	},
+
+	preload() {
+		const preloadArr = this._imageResList.concat(this._audioResList).concat(this._animaResList);
+		cc.assetManager.loadAny(preloadArr, null, null, (err, data) => {
+			this.loadEnd();
+			if (window && window["air"]) {
+				window["air"].hideAirClassLoading();
+			}
+			cc.debug.setDisplayStats(false);
+		});
+	},
+
+
+	loadEnd() {
+		this.initData();
+		this.initAudio();
+		this.initView();
+		this.initListeners();
+	},
+
+	_cantouch: null,
+	initData() {
+		// 所有全局变量 默认都是null 
+		this._cantouch = true;
+	},
+
+	initAudio() {
+
+	},
+
+	initView() {
+		cc.find('Canvas').on('size-changed', this.onSizeChanged.bind(this));
+		this.initBg();
+		this.createStars();
+	},
+
+	onSizeChanged() {
+		cc.director.loadScene(cc.director.getScene().name);
+	},
+
+	initListeners() {
+		const BtnStart = cc.find('Canvas/bg/BtnStart');
+		addBtnListener(BtnStart, async () => {
+			await asyncTweenTo(BtnStart, 0.1, { opacity: 0 });
+			BtnStart.active = false;
+			this.gameStart();
+		}, this.playAudio.bind(this, 'btn'));
+		const BtnRestart = cc.find('Canvas/bg/BtnRestart');
+		addBtnListener(BtnRestart, async () => {
+			await asyncTweenTo(BtnRestart, 0.1, { opacity: 0 });
+			BtnRestart.active = false;
+			this.gameStart();
+		}, this.playAudio.bind(this, 'btn'));
+		const BtnSpeaker = cc.find('Canvas/bg/BtnSpeaker');
+		addBtnListener(BtnSpeaker, async () => {
+			await this.playQuestionAudio();
+		});
+
+		const bg = cc.find('Canvas/bg');
+		bg.on('touchstart', (event) => {
+			this.shootTarget(bg, event.getLocation(), false);
+		});
+	},
+
+	initBg() {
+		const bgNode = cc.find('Canvas/bg');
+		bgNode.scale = this._mapScaleMax;
+
+		const table = cc.find('Canvas/bg/Table');
+		table.zIndex = 1;
+		const gunBase = cc.find('Canvas/bg/GunBase');
+		gunBase.zIndex = 1;
+		const speaker = cc.find('Canvas/bg/BtnSpeaker');
+		speaker.zIndex = 1;
+	},
+
+	createStars() {
+		let length = 1;
+		const starLayout = cc.find('Canvas/bg/StarLayout');
+		starLayout.removeAllChildren();
+		starLayout.zIndex = 2;
+		const paddingY = starLayout.getComponent(cc.Layout).spacingY;
+
+		for (let i = 0; i < this.data.questionList.length; i++) {
+			const starBase = cc.instantiate(cc.find('StarBase'));
+			starBase.name = `starBase_${i}`;
+			starBase.scale = Between(0.5, (starLayout.height / length - paddingY) / starBase.height, 1);
+			starBase.parent = starLayout;
+		}
+	},
+
+	async showStar() {
+		const starBase = cc.find(`Canvas/bg/StarLayout/starBase_${this._status.currentQuestionIdx}`);
+		if (!starBase) {
+			return;
+		}
+		const star = starBase.getChildByName('Star');
+		star.active = true;
+		const starBig = star.getChildByName('StarBig');
+		starBig.scale = 1;
+		star.active = true;
+		star.scaleX = 0.7 / starBase.scale;
+		star.scaleY = 1 / starBase.scale;
+		star.angle = 90;
+		const canvas = cc.find('Canvas');
+		const startPos = star.parent.convertToNodeSpaceAR(canvas.convertToWorldSpaceAR(cc.v2(0, -canvas.height / 2)));
+		const middlePos = star.parent.convertToNodeSpaceAR(canvas.convertToWorldSpaceAR(cc.v2(0, -canvas.height / 4)));
+		star.x = startPos.x;
+		star.y = startPos.y - starBig.height;
+
+		this.playAudio('star');
+
+		cc.tween(star)
+			.to(0.3, { y: middlePos.y + 80 }, { easing: 'quadOut' })
+			.to(0.1, { y: middlePos.y + 40, scaleX: 1.2 / starBase.scale, scaleY: 0.8 / starBase.scale }, { easing: 'quadOut' })
+			.to(0.1, { y: middlePos.y, scaleX: 1 / starBase.scale, scaleY: 1 / starBase.scale }, { easing: 'quadOut' })
+			.delay(0.1)
+			.to(0.8, { angle: -720, scale: 1 })
+			.start();
+
+		cc.tween(star)
+			.delay(0.6)
+			.to(0.8, { x: 0 }, { easing: 'quadIn' })
+			.start();
+		cc.tween(star)
+			.delay(0.6)
+			.to(0.8, { y: 0 }, { easing: 'quadOut' })
+			.start();
+
+		await asyncDelay(0.6);
+		await asyncTweenTo(starBig, 0.8, { scale: 0 }, { easing: 'quadOut' });
+	},
+
+	isEndGame() {
+		return this._status.currentQuestionIdx >= this.data.questionList.length;
+	},
+
+	onGameEnd() {
+		showTrebleFirework(cc.find('Canvas/bg'), cc.find('RabbonBase').children);
+		this.playAudio('end');
+		onHomeworkFinish();
+		this.hideGuns();
+		const BtnRestart = cc.find('Canvas/bg/BtnRestart');
+		BtnRestart.active = true;
+		BtnRestart.opacity = 255;
+	},
+
+	async gameStart() {
+		this._status = {
+			currentQuestionIdx: 0,
+			currentRightNumber: 0
+		};
+		this.createStars();
+		await this.showGuns();
+
+		await this.playAudioSync('question');
+		await this.playQuestionAudio();
+		this.startShowBalls();
+	},
+
+	showGuns() {
+		return new Promise((resolve, reject) => {
+			try {
+				const bg = cc.find('Canvas/bg');
+				const gunBase = cc.find('Canvas/bg/GunBase');
+				asyncTweenTo(gunBase, 0.5, { y: -bg.height / 2 });
+				this.playAudio('move', () => {
+					resolve();
+				});
+			} catch (e) {
+				reject();
+			}
+		});
+	},
+
+	hideGuns() {
+		const bg = cc.find('Canvas/bg');
+		const gunBase = cc.find('Canvas/bg/GunBase');
+		this.playAudio('move');
+		asyncTweenTo(gunBase, 0.5, { y: -bg.height / 2 - gunBase.height });
+	},
+
+	showBallsinterval: null,
+	startShowBalls() {
+		const currentQuestion = this.data.questionList[this._status.currentQuestionIdx];
+		const answerList = currentQuestion.answerList;
+		const time = this.createSpeed[currentQuestion.speedLevel];
+
+		this.ballList = [];
+		this.showBallsinterval = setInterval(() => {
+			const answer = answerList[RandomInt(answerList.length)];
+			const ball = this.createBall(answer);
+			this.ballList.push(ball);
+		}, time);
+	},
+
+	stopShowBalls() {
+		if (this.showBallsinterval) {
+			clearInterval(this.showBallsinterval);
+		}
+		if (this.ballList) {
+			this.ballList.forEach(ball => {
+				ball.stopAllActions();
+				cc.tween(ball)
+					.to(0.5, { opacity: 0 })
+					.removeSelf()
+					.start();
+			});
+			this.ballList = [];
+		}
+	},
+
+
+	createBall(answer) {
+		let ball = null;
+		if (answer.answerType == 'img') {
+			ball = this.createImgBall(answer);
+		} else {
+			ball = this.createTextBall(answer);
+		}
+
+		const bg = cc.find('Canvas/bg');
+		let ballPosXBaseList = [-bg.width / 4, 0, bg.width / 4];
+		if (this.lastBallPosXBase !== undefined) {
+			ballPosXBaseList = ballPosXBaseList.filter(posX => posX != this.lastBallPosXBase);
+		}
+
+		const ballPosXBase = ballPosXBaseList[RandomInt(ballPosXBaseList.length)];
+		ball.x = ballPosXBase + RandomInt(-50, 50);
+		ball.y = -bg.height;
+		ball.parent = bg;
+
+		this.lastBallPosXBase = ballPosXBase;
+
+		if (answer.rightAnswer) {
+			ball.audio = answer.answerAudio;
+		}
+
+		cc.tween(ball.getChildByName('bg'))
+			.to(0.2, { scaleX: 0.98, scaleY: 1.05 })
+			.to(0.2, { scaleX: 1.02, scaleY: 0.94 })
+			.union()
+			.repeatForever()
+			.start();
+
+		this.playAudio('appare', null, 0.1);
+
+		ball.on('touchstart', async (event) => {
+			if (ball.canNotTouch) {
+				return;
+			}
+			ball.canNotTouch = true;
+			const location = event.getLocation();
+			await this.shootTarget(ball, location, true);
+			if (answer.rightAnswer) {
+				this.targetDistroy(ball);
+				this._status.currentRightNumber++;
+				const currentQuestion = this.data.questionList[this._status.currentQuestionIdx];
+				this.updateRightNumber();
+				if (this._status.currentRightNumber >= currentQuestion.rigthNumber) {
+					this.stopShowBalls();
+					await asyncDelay(0.5);
+					await this.showStar();
+					this._status.currentRightNumber = 0;
+					this._status.currentQuestionIdx++;
+					if (this.isEndGame()) {
+						this.onGameEnd();
+					} else {
+						await asyncDelay(1.5);
+						await this.playQuestionAudio();
+						this.startShowBalls();
+					}
+				}
+			} else {
+				this.targetLaugh(ball);
+			}
+		});
+
+		const currentQuestion = this.data.questionList[this._status.currentQuestionIdx];
+		const time = this.moveSpeed[currentQuestion.speedLevel];
+		const targetY1 = bg.height / 2 - ball.height / 2 - 50;
+		const targetY2 = bg.height;
+		const time1 = time * (ball.y - targetY1) / (ball.y - targetY2);
+		const time2 = time - time1;
+		cc.tween(ball)
+			.to(time1, { y: bg.height / 2 - ball.height / 2 - 50 }, { easing: 'quadOut' })
+			.delay(0.5)
+			.to(time2, { y: bg.height }, { easing: 'quadIn' })
+			.removeSelf()
+			.start();
+
+		ball.moveSpeed = bg.height / time;
+		return ball;
+	},
+
+	createImgBall(answer) {
+		const ball = cc.instantiate(cc.find('BallImg'));
+		const img = cc.find('Mask/AnsterImg', ball);
+		getSpriteFrimeByUrl(answer.answerImg, (spriteFrame) => {
+			img.getComponent(cc.Sprite).spriteFrame = spriteFrame;
+		});
+		return ball;
+	},
+
+	createTextBall(answer) {
+		const ball = cc.instantiate(cc.find('BallTxt'));
+		const mask = cc.find('Mask', ball);
+		const text = cc.find('Mask/AnswerText', ball);
+		text.getComponent(cc.RichText).string = `<color=#37397b>${answer.answerTxt}</color>`;
+
+		cc.tween(text)
+			.delay(0)
+			.call(() => {
+				text.scale = Math.min(mask.width / text.width, 1);
+			})
+			.start();
+
+		return ball;
+	},
+
+	updateRightNumber() {
+		this._status.currentRightNumber;
+		const totalRightNumber = this.data.questionList[this._status.currentQuestionIdx].rigthNumber;
+		const starBase = cc.find(`Canvas/bg/StarLayout/starBase_${this._status.currentQuestionIdx}`);
+		const mask = starBase.getChildByName('Mask');
+		const bg = starBase.getChildByName('bg');
+
+		cc.tween(mask)
+			.to(0.3, { height: bg.height * (this._status.currentRightNumber / totalRightNumber) })
+			.start();
+	},
+
+	async playQuestionAudio() {
+		if (!this._status) {
+			return;
+		}
+		const currentQuestion = this.data.questionList[this._status.currentQuestionIdx];
+		if (!currentQuestion) {
+			return;
+		}
+		this.speakerBlink();
+		await playAudioByUrlSync(currentQuestion.questionAudio);
+		this.speakerStopBlink();
+	},
+
+	speakerList: null,
+	speakerBlink() {
+		const btnSpeaker = cc.find(`Canvas/bg/BtnSpeaker`);
+		btnSpeaker.getComponent(cc.Animation).play();
+	},
+
+	speakerStopBlink() {
+		const btnSpeaker = cc.find(`Canvas/bg/BtnSpeaker`);
+		const btnSpeaker3 = cc.find(`Canvas/bg/BtnSpeaker/speaker_3`);
+		btnSpeaker.getComponent(cc.Animation).stop();
+		btnSpeaker.getComponent(cc.Sprite).spriteFrame = btnSpeaker3.getComponent(cc.Sprite).spriteFrame;
+	},
+
+	async shootTarget(node, location, shootBullet) {
+		const GunPos = cc.find('Canvas/bg/GunBase/GunPos');
+		const Gun = cc.find('Canvas/bg/GunBase/Gun');
+		const Water = cc.find('Canvas/bg/GunBase/Gun/Water');
+		const Muzzle = cc.find('Canvas/bg/GunBase/Gun/Muzzle');
+		const bg = cc.find('Canvas/bg')
+		let offsetY = 0;
+		if (node.moveSpeed) {
+			offsetY = node.moveSpeed * 0.4;
+		}
+		const shootSide = GunPos.convertToNodeSpaceAR(cc.v2(location.x, location.y + offsetY));
+
+		const bullet = cc.instantiate(cc.find('Bullet'));
+		bullet.parent = bg;
+		bullet.scaleY = 0;
+		if (!shootBullet) {
+			bullet.opacity = 0;
+		}
+
+		const angle = cc.v2(0, 1).signAngle(shootSide) * 180 / Math.PI;
+		bullet.angle = angle;
+
+		asyncTweenTo(Water, 0.1, { angle: -angle });
+		await asyncTweenTo(Gun, 0.1, { angle: angle, scaleY: 0.95 });
+		let startPos = exchangeNodePos(bg, Muzzle);
+		bullet.x = startPos.x;
+		bullet.y = startPos.y;
+
+		cc.tween(Gun)
+			.to(0.1, { scaleX: 0.95, scaleY: 1.05 })
+			.to(0.1, { scaleX: 1, scaleY: 1 })
+			.start();
+
+		this.playAudio('light');
+
+		let targetPos = bg.convertToNodeSpaceAR(cc.v2(location.x, location.y + offsetY));
+		let flySide = cc.v2(targetPos.x - startPos.x, targetPos.y - startPos.y);
+		await asyncTweenTo(bullet, 0.1, {
+			scaleY: flySide.mag() / bullet.height,
+			scaleX: Between(0.5, 1, bullet.height / flySide.mag())
+		});
+
+		bullet.setAnchorPoint(0.5, 1);
+		bullet.x = targetPos.x;
+		bullet.y = targetPos.y;
+
+		asyncTweenTo(bullet, 0.2, { opacity: 0, scaleY: 0 });
+	},
+
+	async targetDistroy(node) {
+		node.stopAllActions();
+		const bg = node.getChildByName('bg');
+		bg.active = false;
+		const DistroyAnime = node.getChildByName('DistroyAnime');
+		DistroyAnime.active = true;
+		const Mask = node.getChildByName('Mask');
+		cc.tween(Mask)
+			.to(0.5, { opacity: 0 })
+			.start();
+
+		await this.playAudioSync('right');
+		await playAudioByUrlSync(node.audio);
+		node.removeFromParent();
+	},
+
+	async targetLaugh(node) {
+		this.playAudio('wrong');
+		const x = node.x;
+		let offsetX = RandomInt(20, 50) * 2 * (RandomInt(2) - 0.5);
+		let offsetY = RandomInt(20, 50) * 2 * (RandomInt(2) - 0.5);
+		await asyncTweenBy(node, 0.05, { x: offsetX, y: offsetY });
+		offsetX = RandomInt(20, 50) * 2 * (RandomInt(2) - 0.5);
+		offsetY = RandomInt(20, 50) * 2 * (RandomInt(2) - 0.5);
+		await asyncTweenBy(node, 0.05, { x: offsetX, y: offsetY });
+		await asyncTweenTo(node, 0.05, { x: x });
+	},
+
+	playAudio(audioName, cb, value = 0.8) {
+		const audioNode = cc.find(`AudioBase/${audioName}`);
+		const audioClip = audioNode.getComponent(cc.AudioSource).clip;
+		const id = cc.audioEngine.play(audioClip, false, value);
+		cc.audioEngine.setFinishCallback(id, () => {
+			if (cb) {
+				cb();
+			}
+		});
+	},
+	async playAudioSync(audioName, value) {
+		return new Promise((resolve, reject) => {
+			try {
+				this.playAudio(audioName, () => {
+					resolve();
+				}, value);
+			} catch (e) {
+				reject();
+			}
+		});
+	}
+});
diff --git a/play/assets/scene/scene/scene.js.meta b/play/assets/dfzx_cocos_dqq_app/scene/dfzx_cocos_dqq_app.js.meta
similarity index 74%
rename from play/assets/scene/scene/scene.js.meta
rename to play/assets/dfzx_cocos_dqq_app/scene/dfzx_cocos_dqq_app.js.meta
index 76586520228a6b3e46f8441353b67382ce980986..82db801d8cf0b3384bd0d9a1e9a81fa43e151d41 100644
--- a/play/assets/scene/scene/scene.js.meta
+++ b/play/assets/dfzx_cocos_dqq_app/scene/dfzx_cocos_dqq_app.js.meta
@@ -1,6 +1,6 @@
 {
   "ver": "1.0.8",
-  "uuid": "f4ede462-f8d7-4069-ba80-915611c058ca",
+  "uuid": "4225e016-960f-4845-8c07-02d4b7f4d9c4",
   "isPlugin": false,
   "loadPluginInWeb": true,
   "loadPluginInNative": true,
diff --git a/play/assets/scene/script.meta b/play/assets/dfzx_cocos_dqq_app/script.meta
similarity index 79%
rename from play/assets/scene/script.meta
rename to play/assets/dfzx_cocos_dqq_app/script.meta
index a56bf5da0170de415480c091e8157fd90d7cc8d1..870aab2d3967996201251d94e0848daedac9da00 100644
--- a/play/assets/scene/script.meta
+++ b/play/assets/dfzx_cocos_dqq_app/script.meta
@@ -1,6 +1,6 @@
 {
   "ver": "1.1.2",
-  "uuid": "b0c008bc-cf92-463b-8360-0984e13c2e4d",
+  "uuid": "6053a808-56fe-49ba-a794-df945959e686",
   "isBundle": false,
   "bundleName": "",
   "priority": 1,
diff --git a/play/assets/dfzx_cocos_dqq_app/script/defaultData.js b/play/assets/dfzx_cocos_dqq_app/script/defaultData.js
new file mode 100644
index 0000000000000000000000000000000000000000..c3c8fb70e4cd0c905c771db6dc28933783be0e99
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/script/defaultData.js
@@ -0,0 +1,75 @@
+export const defaultData = {
+  "questionList": [{
+    "questionAudio": "http://staging-teach.cdn.ireadabc.com/b44fa51172b19b555fda30717c773027.mp3",
+    "speedLevel": 1,
+    "rigthNumber": 5,
+    "answerList": [{
+      "answerAudio": "http://staging-teach.cdn.ireadabc.com/b44fa51172b19b555fda30717c773027.mp3",
+      "answerTxt": "cat",
+      "answerImg": "",
+      "answerType": "txt",
+      "rightAnswer": true
+    },
+    {
+      "answerAudio": "",
+      "answerTxt": "cettttttttttttttttt",
+      "answerImg": "",
+      "answerType": "txt",
+      "rightAnswer": false
+    },
+    {
+      "answerAudio": "http://staging-teach.cdn.ireadabc.com/b44fa51172b19b555fda30717c773027.mp3",
+      "answerTxt": "",
+      "answerImg": "http://staging-teach.cdn.ireadabc.com/8c6fef67a0095c2564e8df4b536fc540.png",
+      "answerType": "img",
+      "rightAnswer": true
+    },
+    {
+      "answerAudio": "",
+      "answerTxt": "cot",
+      "answerImg": "",
+      "answerType": "txt",
+      "rightAnswer": false
+    },
+    {
+      "answerAudio": "",
+      "answerTxt": "",
+      "answerImg": "http://staging-teach.cdn.ireadabc.com/3dc45b8d1403a1eae524ac5a48e5d673.png",
+      "answerType": "img",
+      "rightAnswer": false
+    }]
+  },
+  {
+    "questionAudio": "http://staging-teach.cdn.ireadabc.com/a6a5c388c636bc6d063946e91b4bd21a.mp3",
+    "speedLevel": 1,
+    "rigthNumber": 5,
+    "answerList": [{
+      "answerAudio": "http://staging-teach.cdn.ireadabc.com/a6a5c388c636bc6d063946e91b4bd21a.mp3",
+      "answerTxt": "egg",
+      "answerImg": "",
+      "answerType": "txt",
+      "rightAnswer": true
+    },
+    {
+      "answerAudio": "http://staging-teach.cdn.ireadabc.com/a6a5c388c636bc6d063946e91b4bd21a.mp3",
+      "answerTxt": "",
+      "answerImg": "http://staging-teach.cdn.ireadabc.com/7b315ba7227294d63933cd659d5372fb.png",
+      "answerType": "img",
+      "rightAnswer": true
+    },
+    {
+      "answerAudio": "",
+      "answerTxt": "agg",
+      "answerImg": "",
+      "answerType": "txt",
+      "rightAnswer": false
+    },
+    {
+      "answerAudio": "",
+      "answerTxt": "",
+      "answerImg": "http://staging-teach.cdn.ireadabc.com/8c6fef67a0095c2564e8df4b536fc540.png",
+      "answerType": "img",
+      "rightAnswer": false
+    }]
+  }]
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/script/defaultData.js.meta b/play/assets/dfzx_cocos_dqq_app/script/defaultData.js.meta
new file mode 100644
index 0000000000000000000000000000000000000000..22e9528bea6ccdde4b73d59e4ddbb8b47bb040cf
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/script/defaultData.js.meta
@@ -0,0 +1,9 @@
+{
+  "ver": "1.0.8",
+  "uuid": "e532586c-681c-4192-9cc0-98ca9959a29f",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}
\ No newline at end of file
diff --git a/play/assets/scene/script/runtime.js b/play/assets/dfzx_cocos_dqq_app/script/runtime.js
similarity index 100%
rename from play/assets/scene/script/runtime.js
rename to play/assets/dfzx_cocos_dqq_app/script/runtime.js
diff --git a/play/assets/scene/script/runtime.js.meta b/play/assets/dfzx_cocos_dqq_app/script/runtime.js.meta
similarity index 100%
rename from play/assets/scene/script/runtime.js.meta
rename to play/assets/dfzx_cocos_dqq_app/script/runtime.js.meta
diff --git a/play/assets/scene/script/util.js b/play/assets/dfzx_cocos_dqq_app/script/util.js
similarity index 72%
rename from play/assets/scene/script/util.js
rename to play/assets/dfzx_cocos_dqq_app/script/util.js
index b3e77e6a46e368bb08aa64c6874d4cea701e84d5..832c6c68950f011684276fa5754cf9b73e91a1e2 100644
--- a/play/assets/scene/script/util.js
+++ b/play/assets/dfzx_cocos_dqq_app/script/util.js
@@ -46,6 +46,10 @@ export function exchangeNodePos(baseNode, targetNode) {
   return baseNode.convertToNodeSpaceAR(targetNode._parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y)));
 }
 
+export function Between(a, b, c) {
+  return [a, b, c].sort()[1];
+}
+
 export function RandomInt(a, b = 0) {
   let max = Math.max(a, b);
   let min = Math.min(a, b);
@@ -71,64 +75,91 @@ export function setSprNodeMaxLen(sprNode, maxW, maxH) {
 }
 
 export function localPosTolocalPos(baseNode, targetNode) {
-	const worldPos = targetNode.parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y));
-	const localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));
-	return localPos;
+  const worldPos = targetNode.parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y));
+  const localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));
+  return localPos;
 }
 
 export function worldPosToLocalPos(worldPos, baseNode) {
-	const localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));
-	return localPos;
+  const localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));
+  return localPos;
 }
 
 export function getScaleRateBy2Node(baseNode, targetNode, maxFlag = true) {
-	const worldRect1 = targetNode.getBoundingBoxToWorld();
-	const worldRect2 = baseNode.getBoundingBoxToWorld();
-
-	const sx = worldRect1.width / worldRect2.width;
-	const sy = worldRect1.height / worldRect2.height;
-	if (maxFlag) {
-		return Math.max(sx, sy);
-	} else {
-		return Math.min(sx, sy);
-	}
+  const worldRect1 = targetNode.getBoundingBoxToWorld();
+  const worldRect2 = baseNode.getBoundingBoxToWorld();
+
+  const sx = worldRect1.width / worldRect2.width;
+  const sy = worldRect1.height / worldRect2.height;
+  if (maxFlag) {
+    return Math.max(sx, sy);
+  } else {
+    return Math.min(sx, sy);
+  }
 }
 
-export function getDistance (start, end){
-    var pos = cc.v2(start.x - end.x, start.y - end.y);
-    var dis = Math.sqrt(pos.x*pos.x + pos.y*pos.y);
-    return dis;
+export function getDistance(start, end) {
+  var pos = cc.v2(start.x - end.x, start.y - end.y);
+  var dis = Math.sqrt(pos.x * pos.x + pos.y * pos.y);
+  return dis;
 }
 
-export function playAudioByUrl(audio_url, cb=null) {
-	if (audio_url) {
-		cc.assetManager.loadRemote(audio_url, (err, audioClip) => {
+export function playAudioByUrl(audio_url, cb = null) {
+  if (audio_url) {
+    cc.assetManager.loadRemote(audio_url, (err, audioClip) => {
       const audioId = cc.audioEngine.play(audioClip, false, 0.8);
-      if (cb) {
-        cc.audioEngine.setFinishCallback(audioId, () => {
+      cc.audioEngine.setFinishCallback(audioId, () => {
+        if (cb && typeof cb == 'function') {
           cb();
-        });
+        }
+      });
+    });
+  } else {
+    if (cb && typeof cb == 'function') {
+      cb();
+    }
+  }
+}
+
+export function playAudioByUrlSync(audio_url) {
+  return new Promise((resolve, reject) => {
+    try {
+      if (!audio_url) {
+        resolve();
+        return;
       }
-		});
-	}
+      cc.assetManager.loadRemote(audio_url, (err, audioClip) => {
+        if (err) {
+          reject(err);
+          return;
+        }
+        const audioId = cc.audioEngine.play(audioClip, false, 0.8);
+        cc.audioEngine.setFinishCallback(audioId, () => {
+          resolve();
+        });
+      });
+    } catch (e) {
+      reject(e);
+    }
+  });
 }
 
 
-export function btnClickAnima(btn, time=0.15, rate=1.05) {
+export function btnClickAnima(btn, time = 0.15, rate = 1.05) {
   btn.tmpScale = btn.scale;
   btn.on(cc.Node.EventType.TOUCH_START, () => {
     cc.tween(btn)
-      .to(time / 2, {scale: btn.scale * rate})
+      .to(time / 2, { scale: btn.scale * rate })
       .start()
   })
   btn.on(cc.Node.EventType.TOUCH_CANCEL, () => {
     cc.tween(btn)
-      .to(time / 2, {scale: btn.tmpScale})
+      .to(time / 2, { scale: btn.tmpScale })
       .start()
   })
   btn.on(cc.Node.EventType.TOUCH_END, () => {
     cc.tween(btn)
-      .to(time / 2, {scale: btn.tmpScale})
+      .to(time / 2, { scale: btn.tmpScale })
       .start()
   })
 }
@@ -231,6 +262,7 @@ export async function showFireworks(fireworkSettings) {
     rabbonNode.x = pos.x;
     rabbonNode.y = pos.y;
     rabbonNode.angle = 60 * Math.random() - 30;
+    rabbonNode.zIndex = 1;
 
     let node = cc.instantiate(nodeList[RandomInt(nodeList.length)]);
     node.parent = rabbonNode;
@@ -348,6 +380,50 @@ export function onHomeworkFinish() {
     if (middleLayerComponent.role == 'student') {
       middleLayerComponent.onHomeworkFinish(() => { });
     }
-    return;
+  } else {
+    console.log('onHomeworkFinish');
+  }
+}
+
+
+export async function jelly(node, offset = 0.1) {
+  let sideX = 1;
+  if (node.scaleX < 0) {
+    sideX = -1;
   }
+  let sideY = 1;
+  if (node.scaleY < 0) {
+    sideY = -1;
+  }
+  return new Promise((resolve, reject) => {
+    try {
+      cc.tween(node)
+        .to(0.1, { scaleX: (1 - offset) * sideX, scaleY: (1 + offset) * sideY })
+        .to(0.1, { scaleX: (1 + offset) * sideX, scaleY: (1 - offset) * sideY })
+        .to(0.1, { scaleX: 1 * sideX, scaleY: 1 * sideY })
+        .call(resolve)
+        .start();
+    } catch (e) {
+      reject(e);
+    }
+  });
+}
+
+export function addBtnListener(node, cb, beforeJelly = null) {
+  const button = node.getComponent(cc.Button);
+  if (!button) {
+    node.addComponent(cc.Button);
+  }
+  node.on('click', async () => {
+    if (node.canNotClick) {
+      return;
+    }
+    node.canNotClick = true;
+    if (beforeJelly) {
+      beforeJelly();
+    }
+    await jelly(node);
+    await cb();
+    node.canNotClick = false;
+  });
 }
\ No newline at end of file
diff --git a/play/assets/scene/script/util.js.meta b/play/assets/dfzx_cocos_dqq_app/script/util.js.meta
similarity index 74%
rename from play/assets/scene/script/util.js.meta
rename to play/assets/dfzx_cocos_dqq_app/script/util.js.meta
index e1def927553d2b09ca8503e2d4f8142de7384102..ceb8ad61132b779a9b85ca62e67d8f9d36166405 100644
--- a/play/assets/scene/script/util.js.meta
+++ b/play/assets/dfzx_cocos_dqq_app/script/util.js.meta
@@ -1,6 +1,6 @@
 {
   "ver": "1.0.8",
-  "uuid": "ade7af40-d56d-4087-bbc6-2888fef55353",
+  "uuid": "78ada2a2-d787-4406-9436-760cb3fb4c04",
   "isPlugin": false,
   "loadPluginInWeb": true,
   "loadPluginInNative": true,
diff --git a/play/assets/scene/textures.meta b/play/assets/dfzx_cocos_dqq_app/textures.meta
similarity index 79%
rename from play/assets/scene/textures.meta
rename to play/assets/dfzx_cocos_dqq_app/textures.meta
index ceee4a4a584d818294f3b6442c86f5f61c406c37..33827a1933288c124e586ea3d7e2adb03dc5c8ec 100644
--- a/play/assets/scene/textures.meta
+++ b/play/assets/dfzx_cocos_dqq_app/textures.meta
@@ -1,6 +1,6 @@
 {
   "ver": "1.1.2",
-  "uuid": "8ba21262-178f-4fa5-afc9-2c1dd50ba3ab",
+  "uuid": "948d80e8-2dab-4838-8434-f5d58c671c41",
   "isBundle": false,
   "bundleName": "",
   "priority": 1,
diff --git a/play/assets/scene/textures/.keep b/play/assets/dfzx_cocos_dqq_app/textures/.keep
similarity index 100%
rename from play/assets/scene/textures/.keep
rename to play/assets/dfzx_cocos_dqq_app/textures/.keep
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_bg.png b/play/assets/dfzx_cocos_dqq_app/textures/bg_bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c670b833a447ebe2cf40009978c3365a3ad7ec1
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/bg_bg.png differ
diff --git a/play/assets/scene/textures/bg.jpg.meta b/play/assets/dfzx_cocos_dqq_app/textures/bg_bg.png.meta
similarity index 77%
rename from play/assets/scene/textures/bg.jpg.meta
rename to play/assets/dfzx_cocos_dqq_app/textures/bg_bg.png.meta
index 14c84e9b1cecc7d63b0d11d7be9c7627f4a1d901..8742e18bcfc8ca2c5bd18a32c580389aeeb16179 100644
--- a/play/assets/scene/textures/bg.jpg.meta
+++ b/play/assets/dfzx_cocos_dqq_app/textures/bg_bg.png.meta
@@ -1,6 +1,6 @@
 {
   "ver": "2.3.5",
-  "uuid": "e1b4d971-9876-4832-803a-5a321964a78b",
+  "uuid": "99ce2009-0728-47e8-94eb-2273d0f13d35",
   "type": "sprite",
   "wrapMode": "clamp",
   "filterMode": "bilinear",
@@ -11,10 +11,10 @@
   "height": 720,
   "platformSettings": {},
   "subMetas": {
-    "bg": {
+    "bg_bg": {
       "ver": "1.0.4",
-      "uuid": "8288e3d4-4c75-4b27-8f01-f7014417f4dd",
-      "rawTextureUuid": "e1b4d971-9876-4832-803a-5a321964a78b",
+      "uuid": "f9d9d756-d838-4d31-aba3-46e5ffc6e9b8",
+      "rawTextureUuid": "99ce2009-0728-47e8-94eb-2273d0f13d35",
       "trimType": "auto",
       "trimThreshold": 1,
       "rotated": false,
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_bottle.png b/play/assets/dfzx_cocos_dqq_app/textures/bg_bottle.png
new file mode 100644
index 0000000000000000000000000000000000000000..29749f62687563f0a1fe794d329777ebef186c43
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/bg_bottle.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_bottle.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/bg_bottle.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..61b1756a7473471f58a874eb782aae501176a131
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/textures/bg_bottle.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "c7b0492e-dd0d-4223-86a8-0293e459aa67",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 238,
+  "height": 238,
+  "platformSettings": {},
+  "subMetas": {
+    "bg_bottle": {
+      "ver": "1.0.4",
+      "uuid": "46a0ad96-7c37-485a-bd82-ab24c93c70a2",
+      "rawTextureUuid": "c7b0492e-dd0d-4223-86a8-0293e459aa67",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0.5,
+      "offsetY": 22.5,
+      "trimX": 47,
+      "trimY": 1,
+      "width": 145,
+      "height": 191,
+      "rawWidth": 238,
+      "rawHeight": 238,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_dizuo.png b/play/assets/dfzx_cocos_dqq_app/textures/bg_dizuo.png
new file mode 100644
index 0000000000000000000000000000000000000000..1155b9e853c7a5c00712610aee29949887ce044a
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/bg_dizuo.png differ
diff --git a/play/assets/scene/textures/1orange.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/bg_dizuo.png.meta
similarity index 57%
rename from play/assets/scene/textures/1orange.png.meta
rename to play/assets/dfzx_cocos_dqq_app/textures/bg_dizuo.png.meta
index cbc7d03803bf7cb91d6eb2c6c3e3fefa7f656b9d..e3631a24ec2a308fe05c5a1c9da5c9ee7d4c069c 100644
--- a/play/assets/scene/textures/1orange.png.meta
+++ b/play/assets/dfzx_cocos_dqq_app/textures/bg_dizuo.png.meta
@@ -1,31 +1,31 @@
 {
   "ver": "2.3.5",
-  "uuid": "efa5fa09-a4dd-4bfc-ab7e-17c19f85408f",
+  "uuid": "e9364737-c950-45ff-ac8e-e377931d2371",
   "type": "sprite",
   "wrapMode": "clamp",
   "filterMode": "bilinear",
   "premultiplyAlpha": false,
   "genMipmaps": false,
   "packable": true,
-  "width": 366,
-  "height": 336,
+  "width": 308,
+  "height": 171,
   "platformSettings": {},
   "subMetas": {
-    "1orange": {
+    "bg_dizuo": {
       "ver": "1.0.4",
-      "uuid": "43d1e79d-6de8-4dcb-b8ce-d767df7913aa",
-      "rawTextureUuid": "efa5fa09-a4dd-4bfc-ab7e-17c19f85408f",
+      "uuid": "277770e3-f699-4696-b880-c8012c69eaf2",
+      "rawTextureUuid": "e9364737-c950-45ff-ac8e-e377931d2371",
       "trimType": "auto",
       "trimThreshold": 1,
       "rotated": false,
       "offsetX": 0,
-      "offsetY": -0.5,
+      "offsetY": 0,
       "trimX": 0,
-      "trimY": 1,
-      "width": 366,
-      "height": 335,
-      "rawWidth": 366,
-      "rawHeight": 336,
+      "trimY": 0,
+      "width": 308,
+      "height": 171,
+      "rawWidth": 308,
+      "rawHeight": 171,
       "borderTop": 0,
       "borderBottom": 0,
       "borderLeft": 0,
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_fire.png b/play/assets/dfzx_cocos_dqq_app/textures/bg_fire.png
new file mode 100644
index 0000000000000000000000000000000000000000..ee9bc97cb194e495b6bb65ce10ee1a1e1b4c7aa3
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/bg_fire.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_fire.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/bg_fire.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4b8f28ed364d2b36c63f05e5fba8f42c9ae962ee
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/textures/bg_fire.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "4adcb8b8-f7ea-4a79-a8f2-bee8b369466c",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 36,
+  "height": 173,
+  "platformSettings": {},
+  "subMetas": {
+    "bg_fire": {
+      "ver": "1.0.4",
+      "uuid": "393ae96f-dcef-485f-8b6a-8e5b454cd677",
+      "rawTextureUuid": "4adcb8b8-f7ea-4a79-a8f2-bee8b369466c",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 36,
+      "height": 173,
+      "rawWidth": 36,
+      "rawHeight": 173,
+      "borderTop": 46,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_pic.png b/play/assets/dfzx_cocos_dqq_app/textures/bg_pic.png
new file mode 100644
index 0000000000000000000000000000000000000000..80a325d10a53cfe23d22e32d57f10a125b43abd6
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/bg_pic.png differ
diff --git a/play/assets/scene/textures/icon.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/bg_pic.png.meta
similarity index 55%
rename from play/assets/scene/textures/icon.png.meta
rename to play/assets/dfzx_cocos_dqq_app/textures/bg_pic.png.meta
index 53dc69a10c6f823908f9361602c14f5c0be01346..bfa15b1c907c91e1c2207b1f4cedd6743c888480 100644
--- a/play/assets/scene/textures/icon.png.meta
+++ b/play/assets/dfzx_cocos_dqq_app/textures/bg_pic.png.meta
@@ -1,31 +1,31 @@
 {
   "ver": "2.3.5",
-  "uuid": "18d07592-51a9-421e-8972-0f67b68d29e1",
+  "uuid": "3f2796c6-3ed0-4a87-8b7e-8c9a3f22d085",
   "type": "sprite",
   "wrapMode": "clamp",
   "filterMode": "bilinear",
   "premultiplyAlpha": false,
   "genMipmaps": false,
   "packable": true,
-  "width": 144,
-  "height": 144,
+  "width": 361,
+  "height": 265,
   "platformSettings": {},
   "subMetas": {
-    "icon": {
+    "bg_pic": {
       "ver": "1.0.4",
-      "uuid": "6fbc30a8-3c49-44ae-8ba4-7f56f385b78a",
-      "rawTextureUuid": "18d07592-51a9-421e-8972-0f67b68d29e1",
+      "uuid": "56eaa174-9be9-4c47-bcb8-8db1a844cc8c",
+      "rawTextureUuid": "3f2796c6-3ed0-4a87-8b7e-8c9a3f22d085",
       "trimType": "auto",
       "trimThreshold": 1,
       "rotated": false,
       "offsetX": 0,
-      "offsetY": -0.5,
-      "trimX": 3,
-      "trimY": 2,
-      "width": 138,
-      "height": 141,
-      "rawWidth": 144,
-      "rawHeight": 144,
+      "offsetY": 0,
+      "trimX": 12,
+      "trimY": 0,
+      "width": 337,
+      "height": 265,
+      "rawWidth": 361,
+      "rawHeight": 265,
       "borderTop": 0,
       "borderBottom": 0,
       "borderLeft": 0,
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_table.png b/play/assets/dfzx_cocos_dqq_app/textures/bg_table.png
new file mode 100644
index 0000000000000000000000000000000000000000..914226db1606188483dae59d1bff8b419812b385
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/bg_table.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_table.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/bg_table.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fa16cba744f01ef49f0715817b54e900e7df6022
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/textures/bg_table.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "5d12a3a4-637b-4967-8e7d-7d7608da8897",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 1280,
+  "height": 101,
+  "platformSettings": {},
+  "subMetas": {
+    "bg_table": {
+      "ver": "1.0.4",
+      "uuid": "d84d33b6-b887-45d5-a2ae-67d11c2a667c",
+      "rawTextureUuid": "5d12a3a4-637b-4967-8e7d-7d7608da8897",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 1280,
+      "height": 101,
+      "rawWidth": 1280,
+      "rawHeight": 101,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_water.png b/play/assets/dfzx_cocos_dqq_app/textures/bg_water.png
new file mode 100644
index 0000000000000000000000000000000000000000..465f245ebcf7429cda11be417565c7418f5d5d1b
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/bg_water.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_water.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/bg_water.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b2a264d9eb5f4c3622647c65a7802e6466b92025
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/textures/bg_water.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "59ed4da8-5c8e-4211-aa83-7cfbd1f94bb0",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 238,
+  "height": 238,
+  "platformSettings": {},
+  "subMetas": {
+    "bg_water": {
+      "ver": "1.0.4",
+      "uuid": "a4a03ebc-3cd6-4904-b441-b012b4e6b71d",
+      "rawTextureUuid": "59ed4da8-5c8e-4211-aa83-7cfbd1f94bb0",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 1,
+      "offsetY": -17,
+      "trimX": 54,
+      "trimY": 86,
+      "width": 132,
+      "height": 100,
+      "rawWidth": 238,
+      "rawHeight": 238,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_word.png b/play/assets/dfzx_cocos_dqq_app/textures/bg_word.png
new file mode 100644
index 0000000000000000000000000000000000000000..df9dca0719a4f6e6273e4d5ef083e47e5aea11c8
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/bg_word.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/bg_word.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/bg_word.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9ee4da276abd70fd4f34506d5396c1201c9b6982
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/textures/bg_word.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "c6787635-6414-4989-a33a-3dbd9494ebc2",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 361,
+  "height": 265,
+  "platformSettings": {},
+  "subMetas": {
+    "bg_word": {
+      "ver": "1.0.4",
+      "uuid": "e4116671-3caf-492e-8eeb-99b5356c14cd",
+      "rawTextureUuid": "c6787635-6414-4989-a33a-3dbd9494ebc2",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 51,
+      "width": 361,
+      "height": 163,
+      "rawWidth": 361,
+      "rawHeight": 265,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/btn_laba.png b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba.png
new file mode 100644
index 0000000000000000000000000000000000000000..e123decd64d7c6845531e1b7afb3879560f8e1e1
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba.png differ
diff --git a/play/assets/scene/textures/btn_left.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba.png.meta
similarity index 62%
rename from play/assets/scene/textures/btn_left.png.meta
rename to play/assets/dfzx_cocos_dqq_app/textures/btn_laba.png.meta
index 2812db2c1edaf060f69bfe9cef23bf25469265ae..fc742f9629641bc294b5ea852dbdde505b2f5583 100644
--- a/play/assets/scene/textures/btn_left.png.meta
+++ b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba.png.meta
@@ -1,20 +1,20 @@
 {
   "ver": "2.3.5",
-  "uuid": "9a79969a-0506-48d4-bc98-3c05d109b027",
+  "uuid": "33c4c060-0ed8-427e-b11c-8b7e84a2226f",
   "type": "sprite",
   "wrapMode": "clamp",
   "filterMode": "bilinear",
   "premultiplyAlpha": false,
   "genMipmaps": false,
   "packable": true,
-  "width": 61,
-  "height": 67,
+  "width": 86,
+  "height": 92,
   "platformSettings": {},
   "subMetas": {
-    "btn_left": {
+    "btn_laba": {
       "ver": "1.0.4",
-      "uuid": "ce19457d-e8f3-4c38-ae3e-d4b99208ddb5",
-      "rawTextureUuid": "9a79969a-0506-48d4-bc98-3c05d109b027",
+      "uuid": "077c7919-e017-49f8-8d8e-d028510282a7",
+      "rawTextureUuid": "33c4c060-0ed8-427e-b11c-8b7e84a2226f",
       "trimType": "auto",
       "trimThreshold": 1,
       "rotated": false,
@@ -22,10 +22,10 @@
       "offsetY": 0,
       "trimX": 0,
       "trimY": 0,
-      "width": 61,
-      "height": 67,
-      "rawWidth": 61,
-      "rawHeight": 67,
+      "width": 86,
+      "height": 92,
+      "rawWidth": 86,
+      "rawHeight": 92,
       "borderTop": 0,
       "borderBottom": 0,
       "borderLeft": 0,
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/btn_laba2.png b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba2.png
new file mode 100644
index 0000000000000000000000000000000000000000..835b56c1dac0aecc944d6608d2c9330b02344d6b
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba2.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/btn_laba2.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba2.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a10dd4745de907c0038be0a9650e8bc5e84ca352
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba2.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "49dde6ce-f5ad-41ca-8fad-6d5f823804d7",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 86,
+  "height": 92,
+  "platformSettings": {},
+  "subMetas": {
+    "btn_laba2": {
+      "ver": "1.0.4",
+      "uuid": "c21281bb-ff67-4cc1-95b7-674562361465",
+      "rawTextureUuid": "49dde6ce-f5ad-41ca-8fad-6d5f823804d7",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 86,
+      "height": 92,
+      "rawWidth": 86,
+      "rawHeight": 92,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/btn_laba3.png b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba3.png
new file mode 100644
index 0000000000000000000000000000000000000000..063689b0577bd336e7febd5da5f084e1dc6f4e45
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba3.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/btn_laba3.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba3.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2c9def979cb17a4acb03efbba6a8d66522372d93
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba3.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "8e5e7741-f304-4092-97e2-cd60829506dc",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 86,
+  "height": 92,
+  "platformSettings": {},
+  "subMetas": {
+    "btn_laba3": {
+      "ver": "1.0.4",
+      "uuid": "f3d6086d-4af6-4ebd-9ca0-26bf51e72185",
+      "rawTextureUuid": "8e5e7741-f304-4092-97e2-cd60829506dc",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 86,
+      "height": 92,
+      "rawWidth": 86,
+      "rawHeight": 92,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/btn_laba4.png b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba4.png
new file mode 100644
index 0000000000000000000000000000000000000000..23483b4467373d4a0f1d2cc6def3f0b06a45232d
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba4.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/btn_laba4.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba4.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f65f45d361a654e5c9e77df7d9fb60739250970c
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/textures/btn_laba4.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "082136e2-03e1-45ec-bdd2-d50aee080cf0",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 86,
+  "height": 92,
+  "platformSettings": {},
+  "subMetas": {
+    "btn_laba4": {
+      "ver": "1.0.4",
+      "uuid": "d0d8b389-ff17-4d17-8a46-96af5cece161",
+      "rawTextureUuid": "082136e2-03e1-45ec-bdd2-d50aee080cf0",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 86,
+      "height": 92,
+      "rawWidth": 86,
+      "rawHeight": 92,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/btn_restart.png b/play/assets/dfzx_cocos_dqq_app/textures/btn_restart.png
new file mode 100644
index 0000000000000000000000000000000000000000..2528c276b3a02423ef85b44a474d1a8db159242c
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/btn_restart.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/btn_restart.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/btn_restart.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7156515cd02e11ec4a027e0da361078a2a31575c
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/textures/btn_restart.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "71c66a26-5e99-473d-9a25-1081f8bc22fe",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 407,
+  "height": 179,
+  "platformSettings": {},
+  "subMetas": {
+    "btn_restart": {
+      "ver": "1.0.4",
+      "uuid": "6492780e-203a-462b-8000-5537deb9f79c",
+      "rawTextureUuid": "71c66a26-5e99-473d-9a25-1081f8bc22fe",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 407,
+      "height": 179,
+      "rawWidth": 407,
+      "rawHeight": 179,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/btn_start.png b/play/assets/dfzx_cocos_dqq_app/textures/btn_start.png
new file mode 100644
index 0000000000000000000000000000000000000000..1ec281b0bee5e6128d018c01c1ae8c1f98f76165
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/btn_start.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/btn_start.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/btn_start.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ec6ee10d8c6a9587b87f1099d9d0f7882ee44016
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/textures/btn_start.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "4a0d3680-f6ef-4b6d-ac06-3bc31b5fca8e",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 407,
+  "height": 179,
+  "platformSettings": {},
+  "subMetas": {
+    "btn_start": {
+      "ver": "1.0.4",
+      "uuid": "89ad9638-9dc1-4089-becb-b888dd43f062",
+      "rawTextureUuid": "4a0d3680-f6ef-4b6d-ac06-3bc31b5fca8e",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 407,
+      "height": 179,
+      "rawWidth": 407,
+      "rawHeight": 179,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/icon_bigstar.png b/play/assets/dfzx_cocos_dqq_app/textures/icon_bigstar.png
new file mode 100644
index 0000000000000000000000000000000000000000..06b8ac15160e25b136358aadab53de9256c3f1f8
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/icon_bigstar.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/icon_bigstar.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/icon_bigstar.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a1da04e75d7c4c30cf1ce73171db0a6f9bf91f30
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/textures/icon_bigstar.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "2ff581d5-ec94-499c-be34-3d13be6b2bd4",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 278,
+  "height": 275,
+  "platformSettings": {},
+  "subMetas": {
+    "icon_bigstar": {
+      "ver": "1.0.4",
+      "uuid": "0e9a63a8-86de-4dd8-af76-e7ef31c6f934",
+      "rawTextureUuid": "2ff581d5-ec94-499c-be34-3d13be6b2bd4",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 278,
+      "height": 275,
+      "rawWidth": 278,
+      "rawHeight": 275,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/icon_star.png b/play/assets/dfzx_cocos_dqq_app/textures/icon_star.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae5368b7e3f1148999f967a5bf6e291f1b736262
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/icon_star.png differ
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/icon_star.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/icon_star.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a49f2bd63727cb73fc8dbb813a71fb38ef0f6677
--- /dev/null
+++ b/play/assets/dfzx_cocos_dqq_app/textures/icon_star.png.meta
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "80d71246-157a-4312-a9ed-c76f5b3fb46d",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 62,
+  "height": 69,
+  "platformSettings": {},
+  "subMetas": {
+    "icon_star": {
+      "ver": "1.0.4",
+      "uuid": "1464151d-e115-4a96-9acf-443859be76eb",
+      "rawTextureUuid": "80d71246-157a-4312-a9ed-c76f5b3fb46d",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 62,
+      "height": 69,
+      "rawWidth": 62,
+      "rawHeight": 69,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/dfzx_cocos_dqq_app/textures/icon_stardi.png b/play/assets/dfzx_cocos_dqq_app/textures/icon_stardi.png
new file mode 100644
index 0000000000000000000000000000000000000000..59c18c8bea7506a4202c7b3d33f02994f79bf847
Binary files /dev/null and b/play/assets/dfzx_cocos_dqq_app/textures/icon_stardi.png differ
diff --git a/play/assets/scene/textures/btn_right.png.meta b/play/assets/dfzx_cocos_dqq_app/textures/icon_stardi.png.meta
similarity index 59%
rename from play/assets/scene/textures/btn_right.png.meta
rename to play/assets/dfzx_cocos_dqq_app/textures/icon_stardi.png.meta
index a0c8dc85f70bce2ef10d8efee4997c3bae467c4b..952c2eb1b8968335e27645c633082ab9103c3876 100644
--- a/play/assets/scene/textures/btn_right.png.meta
+++ b/play/assets/dfzx_cocos_dqq_app/textures/icon_stardi.png.meta
@@ -1,31 +1,31 @@
 {
   "ver": "2.3.5",
-  "uuid": "d582359e-924e-4ee9-9964-1fc4bb417e71",
+  "uuid": "f76a3688-db48-45fa-a86c-095c48770a20",
   "type": "sprite",
   "wrapMode": "clamp",
   "filterMode": "bilinear",
   "premultiplyAlpha": false,
   "genMipmaps": false,
   "packable": true,
-  "width": 61,
-  "height": 67,
+  "width": 62,
+  "height": 69,
   "platformSettings": {},
   "subMetas": {
-    "btn_right": {
+    "icon_stardi": {
       "ver": "1.0.4",
-      "uuid": "e5a2dbaa-a677-4a32-90d7-a1b057d7fb59",
-      "rawTextureUuid": "d582359e-924e-4ee9-9964-1fc4bb417e71",
+      "uuid": "0dc4b200-267c-4b62-84b2-bc11b1efa107",
+      "rawTextureUuid": "f76a3688-db48-45fa-a86c-095c48770a20",
       "trimType": "auto",
       "trimThreshold": 1,
       "rotated": false,
-      "offsetX": -0.5,
-      "offsetY": 0.5,
+      "offsetX": 0,
+      "offsetY": 1.5,
       "trimX": 0,
       "trimY": 0,
-      "width": 60,
+      "width": 62,
       "height": 66,
-      "rawWidth": 61,
-      "rawHeight": 67,
+      "rawWidth": 62,
+      "rawHeight": 69,
       "borderTop": 0,
       "borderBottom": 0,
       "borderLeft": 0,
diff --git "a/play/assets/dfzx_cocos_dqq_app/textures/\345\275\251\345\270\246.png" "b/play/assets/dfzx_cocos_dqq_app/textures/\345\275\251\345\270\246.png"
new file mode 100644
index 0000000000000000000000000000000000000000..810c482d732b161d4bd2efdcbf9bdf324fa6d765
Binary files /dev/null and "b/play/assets/dfzx_cocos_dqq_app/textures/\345\275\251\345\270\246.png" differ
diff --git "a/play/assets/dfzx_cocos_dqq_app/textures/\345\275\251\345\270\246.png.meta" "b/play/assets/dfzx_cocos_dqq_app/textures/\345\275\251\345\270\246.png.meta"
new file mode 100644
index 0000000000000000000000000000000000000000..367f66221014a9772e91f5922173e55fc81ef60c
--- /dev/null
+++ "b/play/assets/dfzx_cocos_dqq_app/textures/\345\275\251\345\270\246.png.meta"
@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "afcdd4b4-7d30-4229-b7bc-549324e9a8f5",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 55,
+  "height": 76,
+  "platformSettings": {},
+  "subMetas": {
+    "彩带": {
+      "ver": "1.0.4",
+      "uuid": "fae2e4dd-cbd3-4a27-8506-c6a2b11da5c6",
+      "rawTextureUuid": "afcdd4b4-7d30-4229-b7bc-549324e9a8f5",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 55,
+      "height": 76,
+      "rawWidth": 55,
+      "rawHeight": 76,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}
\ No newline at end of file
diff --git a/play/assets/scene/fonts/BRLNSDB.TTF b/play/assets/scene/fonts/BRLNSDB.TTF
deleted file mode 100644
index e5f34b2f342ffcd820a8a0956af3ab36bb1f9e1f..0000000000000000000000000000000000000000
Binary files a/play/assets/scene/fonts/BRLNSDB.TTF and /dev/null differ
diff --git a/play/assets/scene/fonts/BRLNSDB.TTF.meta b/play/assets/scene/fonts/BRLNSDB.TTF.meta
deleted file mode 100644
index 4e0884f08320b065f1d4b477b5ee7693239bf8f4..0000000000000000000000000000000000000000
--- a/play/assets/scene/fonts/BRLNSDB.TTF.meta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "ver": "1.1.0",
-  "uuid": "c551970e-b095-45f3-9f1d-25cde8b8deb1",
-  "subMetas": {}
-}
\ No newline at end of file
diff --git a/play/assets/scene/scene.meta b/play/assets/scene/scene.meta
deleted file mode 100644
index e2b021a0b79e6f20cfdebf445a6436199d136d22..0000000000000000000000000000000000000000
--- a/play/assets/scene/scene.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "ver": "1.1.2",
-  "uuid": "e8bd16b0-3804-45a9-a8ca-f52c02224f55",
-  "isBundle": false,
-  "bundleName": "",
-  "priority": 1,
-  "compressionType": {},
-  "optimizeHotUpdate": {},
-  "inlineSpriteFrames": {},
-  "isRemoteBundle": {},
-  "subMetas": {}
-}
\ No newline at end of file
diff --git a/play/assets/scene/scene/scene.fire b/play/assets/scene/scene/scene.fire
deleted file mode 100644
index 3e7c9dc3d80d5a7f2861f81f99ab3c66cfa30439..0000000000000000000000000000000000000000
--- a/play/assets/scene/scene/scene.fire
+++ /dev/null
@@ -1,1303 +0,0 @@
-[
-  {
-    "__type__": "cc.SceneAsset",
-    "_name": "",
-    "_objFlags": 0,
-    "_native": "",
-    "scene": {
-      "__id__": 1
-    }
-  },
-  {
-    "__type__": "cc.Scene",
-    "_objFlags": 0,
-    "_parent": null,
-    "_children": [
-      {
-        "__id__": 2
-      }
-    ],
-    "_active": false,
-    "_components": [],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 0,
-      "height": 0
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0,
-      "y": 0
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        0,
-        0,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_is3DNode": true,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "autoReleaseAssets": true,
-    "_id": "57ea7c61-9b8b-498a-b024-c98ee9124beb"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "Canvas",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 1
-    },
-    "_children": [
-      {
-        "__id__": 3
-      },
-      {
-        "__id__": 5
-      },
-      {
-        "__id__": 7
-      },
-      {
-        "__id__": 14
-      }
-    ],
-    "_active": true,
-    "_components": [
-      {
-        "__id__": 24
-      },
-      {
-        "__id__": 25
-      },
-      {
-        "__id__": 26
-      }
-    ],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 1280,
-      "height": 720
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        640,
-        360,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "a5esZu+45LA5mBpvttspPD"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "Main Camera",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 2
-    },
-    "_children": [],
-    "_active": true,
-    "_components": [
-      {
-        "__id__": 4
-      }
-    ],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 1280,
-      "height": 720
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        0,
-        0,
-        362.85545494732423,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "e1WoFrQ79G7r4ZuQE3HlNb"
-  },
-  {
-    "__type__": "cc.Camera",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 3
-    },
-    "_enabled": true,
-    "_cullingMask": 4294967295,
-    "_clearFlags": 7,
-    "_backgroundColor": {
-      "__type__": "cc.Color",
-      "r": 0,
-      "g": 0,
-      "b": 0,
-      "a": 255
-    },
-    "_depth": -1,
-    "_zoomRatio": 1,
-    "_targetTexture": null,
-    "_fov": 60,
-    "_orthoSize": 10,
-    "_nearClip": 1,
-    "_farClip": 4096,
-    "_ortho": true,
-    "_rect": {
-      "__type__": "cc.Rect",
-      "x": 0,
-      "y": 0,
-      "width": 1,
-      "height": 1
-    },
-    "_renderStages": 1,
-    "_alignWithScreen": true,
-    "_id": "81GN3uXINKVLeW4+iKSlim"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "bg",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 2
-    },
-    "_children": [],
-    "_active": true,
-    "_components": [
-      {
-        "__id__": 6
-      }
-    ],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 1280,
-      "height": 720
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        0,
-        0,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "32MJMZ2HRGF4BOf533Avyi"
-  },
-  {
-    "__type__": "cc.Sprite",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 5
-    },
-    "_enabled": true,
-    "_materials": [
-      {
-        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
-      }
-    ],
-    "_srcBlendFactor": 770,
-    "_dstBlendFactor": 771,
-    "_spriteFrame": {
-      "__uuid__": "8288e3d4-4c75-4b27-8f01-f7014417f4dd"
-    },
-    "_type": 0,
-    "_sizeMode": 1,
-    "_fillType": 0,
-    "_fillCenter": {
-      "__type__": "cc.Vec2",
-      "x": 0,
-      "y": 0
-    },
-    "_fillStart": 0,
-    "_fillRange": 0,
-    "_isTrimmedMode": true,
-    "_atlas": null,
-    "_id": "97/S6HDq9MeqgmV1Zwnhbb"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "bottomPart",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 2
-    },
-    "_children": [
-      {
-        "__id__": 8
-      },
-      {
-        "__id__": 11
-      }
-    ],
-    "_active": true,
-    "_components": [],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 0,
-      "height": 0
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        635.132,
-        -356.326,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "8c7k8ep/ZFNpO263+1QHz9"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "btn_left",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 7
-    },
-    "_children": [],
-    "_active": true,
-    "_components": [
-      {
-        "__id__": 9
-      },
-      {
-        "__id__": 10
-      }
-    ],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 61,
-      "height": 67
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        -148.464,
-        34,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "5ad2wLQLxIN5Eg7OHecSH6"
-  },
-  {
-    "__type__": "cc.Sprite",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 8
-    },
-    "_enabled": true,
-    "_materials": [
-      {
-        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
-      }
-    ],
-    "_srcBlendFactor": 770,
-    "_dstBlendFactor": 771,
-    "_spriteFrame": {
-      "__uuid__": "ce19457d-e8f3-4c38-ae3e-d4b99208ddb5"
-    },
-    "_type": 0,
-    "_sizeMode": 1,
-    "_fillType": 0,
-    "_fillCenter": {
-      "__type__": "cc.Vec2",
-      "x": 0,
-      "y": 0
-    },
-    "_fillStart": 0,
-    "_fillRange": 0,
-    "_isTrimmedMode": true,
-    "_atlas": null,
-    "_id": "84mqOgJ3JNqZrYVTEU8CjE"
-  },
-  {
-    "__type__": "cc.Button",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 8
-    },
-    "_enabled": true,
-    "_normalMaterial": null,
-    "_grayMaterial": null,
-    "duration": 0.1,
-    "zoomScale": 1.2,
-    "clickEvents": [],
-    "_N$interactable": true,
-    "_N$enableAutoGrayEffect": false,
-    "_N$transition": 0,
-    "transition": 0,
-    "_N$normalColor": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_N$pressedColor": {
-      "__type__": "cc.Color",
-      "r": 211,
-      "g": 211,
-      "b": 211,
-      "a": 255
-    },
-    "pressedColor": {
-      "__type__": "cc.Color",
-      "r": 211,
-      "g": 211,
-      "b": 211,
-      "a": 255
-    },
-    "_N$hoverColor": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "hoverColor": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_N$disabledColor": {
-      "__type__": "cc.Color",
-      "r": 124,
-      "g": 124,
-      "b": 124,
-      "a": 255
-    },
-    "_N$normalSprite": null,
-    "_N$pressedSprite": null,
-    "pressedSprite": null,
-    "_N$hoverSprite": null,
-    "hoverSprite": null,
-    "_N$disabledSprite": null,
-    "_N$target": null,
-    "_id": "bcYN/4EKBJhbIAfovo9Ah1"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "btn_right",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 7
-    },
-    "_children": [],
-    "_active": true,
-    "_components": [
-      {
-        "__id__": 12
-      },
-      {
-        "__id__": 13
-      }
-    ],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 60,
-      "height": 66
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        -47.164,
-        34,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "46i3stdzpHX6zQHTGnRsNE"
-  },
-  {
-    "__type__": "cc.Sprite",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 11
-    },
-    "_enabled": true,
-    "_materials": [
-      {
-        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
-      }
-    ],
-    "_srcBlendFactor": 770,
-    "_dstBlendFactor": 771,
-    "_spriteFrame": {
-      "__uuid__": "e5a2dbaa-a677-4a32-90d7-a1b057d7fb59"
-    },
-    "_type": 0,
-    "_sizeMode": 1,
-    "_fillType": 0,
-    "_fillCenter": {
-      "__type__": "cc.Vec2",
-      "x": 0,
-      "y": 0
-    },
-    "_fillStart": 0,
-    "_fillRange": 0,
-    "_isTrimmedMode": true,
-    "_atlas": null,
-    "_id": "42Sh8QS/BHn4WiGyPQPKPt"
-  },
-  {
-    "__type__": "cc.Button",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 11
-    },
-    "_enabled": true,
-    "_normalMaterial": null,
-    "_grayMaterial": null,
-    "duration": 0.1,
-    "zoomScale": 1.2,
-    "clickEvents": [],
-    "_N$interactable": true,
-    "_N$enableAutoGrayEffect": false,
-    "_N$transition": 0,
-    "transition": 0,
-    "_N$normalColor": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_N$pressedColor": {
-      "__type__": "cc.Color",
-      "r": 211,
-      "g": 211,
-      "b": 211,
-      "a": 255
-    },
-    "pressedColor": {
-      "__type__": "cc.Color",
-      "r": 211,
-      "g": 211,
-      "b": 211,
-      "a": 255
-    },
-    "_N$hoverColor": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "hoverColor": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_N$disabledColor": {
-      "__type__": "cc.Color",
-      "r": 124,
-      "g": 124,
-      "b": 124,
-      "a": 255
-    },
-    "_N$normalSprite": null,
-    "_N$pressedSprite": null,
-    "pressedSprite": null,
-    "_N$hoverSprite": null,
-    "hoverSprite": null,
-    "_N$disabledSprite": null,
-    "_N$target": null,
-    "_id": "1aj32fYY1IxLesa77E70Qu"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "res",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 2
-    },
-    "_children": [
-      {
-        "__id__": 15
-      },
-      {
-        "__id__": 18
-      },
-      {
-        "__id__": 21
-      }
-    ],
-    "_active": false,
-    "_components": [],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 0,
-      "height": 0
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        0,
-        0,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "0aAzbH6R1E+6AmGRrkKa5O"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "font",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 14
-    },
-    "_children": [
-      {
-        "__id__": 16
-      }
-    ],
-    "_active": true,
-    "_components": [],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 0,
-      "height": 0
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        0,
-        0,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "9bLfcYeeNKrr524vzWchiM"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "BRLNSDB",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 15
-    },
-    "_children": [],
-    "_active": true,
-    "_components": [
-      {
-        "__id__": 17
-      }
-    ],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 0,
-      "height": 0
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        0,
-        0,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "cfMLGsq0BMhJARv+ySMAxS"
-  },
-  {
-    "__type__": "cc.Label",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 16
-    },
-    "_enabled": true,
-    "_materials": [],
-    "_srcBlendFactor": 770,
-    "_dstBlendFactor": 771,
-    "_useOriginalSize": true,
-    "_string": "",
-    "_N$string": "",
-    "_fontSize": 40,
-    "_lineHeight": 40,
-    "_enableWrapText": true,
-    "_N$file": {
-      "__uuid__": "c551970e-b095-45f3-9f1d-25cde8b8deb1"
-    },
-    "_isSystemFontUsed": false,
-    "_spacingX": 0,
-    "_batchAsBitmap": false,
-    "_styleFlags": 0,
-    "_underlineHeight": 0,
-    "_N$horizontalAlign": 0,
-    "_N$verticalAlign": 0,
-    "_N$fontFamily": "Arial",
-    "_N$overflow": 0,
-    "_N$cacheMode": 0,
-    "_id": "9bNHNPu5lC7rQYyr8ai/sY"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "img",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 14
-    },
-    "_children": [
-      {
-        "__id__": 19
-      }
-    ],
-    "_active": true,
-    "_components": [],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 0,
-      "height": 0
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        0,
-        0,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "53LUHHG2pEr79fyrvazXJs"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "icon",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 18
-    },
-    "_children": [],
-    "_active": true,
-    "_components": [
-      {
-        "__id__": 20
-      }
-    ],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 138,
-      "height": 141
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        0,
-        0,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "1blU2OArJIfoC9XfupGxJG"
-  },
-  {
-    "__type__": "cc.Sprite",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 19
-    },
-    "_enabled": true,
-    "_materials": [],
-    "_srcBlendFactor": 770,
-    "_dstBlendFactor": 771,
-    "_spriteFrame": {
-      "__uuid__": "6fbc30a8-3c49-44ae-8ba4-7f56f385b78a"
-    },
-    "_type": 0,
-    "_sizeMode": 1,
-    "_fillType": 0,
-    "_fillCenter": {
-      "__type__": "cc.Vec2",
-      "x": 0,
-      "y": 0
-    },
-    "_fillStart": 0,
-    "_fillRange": 0,
-    "_isTrimmedMode": true,
-    "_atlas": null,
-    "_id": "03GEWUEZJGyKormWgIWCtM"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "audio",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 14
-    },
-    "_children": [
-      {
-        "__id__": 22
-      }
-    ],
-    "_active": true,
-    "_components": [],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 0,
-      "height": 0
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        0,
-        0,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "b823DIVC9L+Ihc3T9Bt7m3"
-  },
-  {
-    "__type__": "cc.Node",
-    "_name": "btn",
-    "_objFlags": 0,
-    "_parent": {
-      "__id__": 21
-    },
-    "_children": [],
-    "_active": true,
-    "_components": [
-      {
-        "__id__": 23
-      }
-    ],
-    "_prefab": null,
-    "_opacity": 255,
-    "_color": {
-      "__type__": "cc.Color",
-      "r": 255,
-      "g": 255,
-      "b": 255,
-      "a": 255
-    },
-    "_contentSize": {
-      "__type__": "cc.Size",
-      "width": 0,
-      "height": 0
-    },
-    "_anchorPoint": {
-      "__type__": "cc.Vec2",
-      "x": 0.5,
-      "y": 0.5
-    },
-    "_trs": {
-      "__type__": "TypedArray",
-      "ctor": "Float64Array",
-      "array": [
-        0,
-        0,
-        0,
-        0,
-        0,
-        0,
-        1,
-        1,
-        1,
-        1
-      ]
-    },
-    "_eulerAngles": {
-      "__type__": "cc.Vec3",
-      "x": 0,
-      "y": 0,
-      "z": 0
-    },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_is3DNode": false,
-    "_groupIndex": 0,
-    "groupIndex": 0,
-    "_id": "3d0p0/uJZJIoRva5Br2iqv"
-  },
-  {
-    "__type__": "cc.AudioSource",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 22
-    },
-    "_enabled": true,
-    "_clip": {
-      "__uuid__": "f0680ae0-c079-45ef-abd7-9e63d90b982b"
-    },
-    "_volume": 1,
-    "_mute": false,
-    "_loop": false,
-    "playOnLoad": false,
-    "preload": false,
-    "_id": "0adN50f61DlbmppsPkOnjX"
-  },
-  {
-    "__type__": "cc.Canvas",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 2
-    },
-    "_enabled": true,
-    "_designResolution": {
-      "__type__": "cc.Size",
-      "width": 1280,
-      "height": 720
-    },
-    "_fitWidth": false,
-    "_fitHeight": false,
-    "_id": "59Cd0ovbdF4byw5sbjJDx7"
-  },
-  {
-    "__type__": "cc.Widget",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 2
-    },
-    "_enabled": true,
-    "alignMode": 1,
-    "_target": null,
-    "_alignFlags": 45,
-    "_left": 0,
-    "_right": 0,
-    "_top": 0,
-    "_bottom": 0,
-    "_verticalCenter": 0,
-    "_horizontalCenter": 0,
-    "_isAbsLeft": true,
-    "_isAbsRight": true,
-    "_isAbsTop": true,
-    "_isAbsBottom": true,
-    "_isAbsHorizontalCenter": true,
-    "_isAbsVerticalCenter": true,
-    "_originalWidth": 0,
-    "_originalHeight": 0,
-    "_id": "29zXboiXFBKoIV4PQ2liTe"
-  },
-  {
-    "__type__": "f4edeRi+NdAabqAkVYRwFjK",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 2
-    },
-    "_enabled": true,
-    "_id": "e687yyoRBIzZAOVRL8Sseh"
-  }
-]
\ No newline at end of file
diff --git a/play/assets/scene/scene/scene.js b/play/assets/scene/scene/scene.js
deleted file mode 100644
index c4bbeaea00e0287c2d14cb7ccf05af3ac1f248a5..0000000000000000000000000000000000000000
--- a/play/assets/scene/scene/scene.js
+++ /dev/null
@@ -1,356 +0,0 @@
-import { onHomeworkFinish } from "./util";
-
-cc.Class({
-
-	extends: cc.Component,
-
-	properties: {
-	},
-
-	// 生命周期 onLoad
-	onLoad() {
-		this.initSceneData();
-		this.initSize();
-	},
-
-	_imageResList: null,
-	_audioResList: null,
-	_animaResList: null,
-	initSceneData() {
-		this._imageResList = [];
-		this._audioResList = [];
-		this._animaResList = [];
-	},
-
-	_designSize: null,  // 设计分辨率
-	_frameSize: null,  // 屏幕分辨率
-	_mapScaleMin: null,  // 场景中常用缩放(取大值)
-	_mapScaleMax: null,  // 场景中常用缩放(取小值)
-	_cocosScale: null,  // cocos 自缩放 (较少用到)
-	initSize() {
-		// 注意cc.winSize只有在适配后(修改fitHeight/fitWidth后)才能获取到正确的值,因此使用cc.getFrameSize()来获取初始的屏幕大小
-		let screen_size = cc.view.getFrameSize().width / cc.view.getFrameSize().height
-		let design_size = cc.Canvas.instance.designResolution.width / cc.Canvas.instance.designResolution.height
-		let f = screen_size >= design_size
-		cc.Canvas.instance.fitHeight = f
-		cc.Canvas.instance.fitWidth = !f
-
-		const frameSize = cc.view.getFrameSize();
-		this._frameSize = frameSize;
-
-		this._designSize = cc.view.getDesignResolutionSize();
-
-		let sx = cc.winSize.width / frameSize.width;
-		let sy = cc.winSize.height / frameSize.height;
-		this._cocosScale = Math.min(sx, sy);
-
-		sx = frameSize.width / this._designSize.width;
-		sy = frameSize.height / this._designSize.height;
-		this._mapScaleMin = Math.min(sx, sy) * this._cocosScale;
-		this._mapScaleMax = Math.max(sx, sy) * this._cocosScale;
-	},
-
-
-	// 生命周期 start
-	start() {
-		let getData = this.getData.bind(this);
-		if (window && window.courseware) {
-			getData = window.courseware.getData;
-		}
-
-		getData((data) => {
-			console.log('data:', data);
-			this.data = data || this.getDefaultData();
-			this.data = JSON.parse(JSON.stringify(this.data))
-			this.preloadItem()
-		})
-	},
-
-	getData(cb) {
-		cb(this.getDefaultData());
-	},
-
-	getDefaultData() {
-
-		const dataJson = '{"pic_url":"http://staging-teach.cdn.ireadabc.com/ed94332a503c31e0908bd4c6923a2665.png","pic_url_2":"http://staging-teach.cdn.ireadabc.com/5fb60317ade0195d35ad8034d5370a7f.png","text":"This is a test label.","audio_url":"http://staging-teach.cdn.ireadabc.com/f47f1d7b5c160fe1c59500d180346240.mp3"}'
-		const data = JSON.parse(dataJson);
-		return data;
-	},
-
-	preloadItem() {
-		this.addPreloadImage();
-		this.addPreloadAudio();
-		this.addPreloadAnima();
-		this.preload();
-	},
-
-
-	addPreloadImage() {
-
-		this._imageResList.push({ url: this.data.pic_url });
-		this._imageResList.push({ url: this.data.pic_url_2 });
-	},
-
-	addPreloadAudio() {
-
-		this._audioResList.push({ url: this.data.audio_url });
-	},
-
-	addPreloadAnima() {
-
-	},
-
-	preload() {
-
-		const preloadArr = this._imageResList.concat(this._audioResList).concat(this._animaResList);
-		cc.assetManager.loadAny(preloadArr, null, null, (err, data) => {
-
-			this.loadEnd();
-			if (window && window["air"]) {
-				window["air"].hideAirClassLoading();
-			}
-
-			cc.debug.setDisplayStats(false);
-		});
-	},
-
-
-	loadEnd() {
-		this.initData();
-		this.initAudio();
-		this.initView();
-		// this.initListener();
-	},
-
-	_cantouch: null,
-	initData() {
-		// 所有全局变量 默认都是null 
-		this._cantouch = true;
-	},
-
-	audioBtn: null,
-	initAudio() {
-		const audioNode = cc.find('Canvas/res/audio');
-
-		const getAudioByResName = (resName) => {
-			return audioNode.getChildByName(resName).getComponent(cc.AudioSource);
-		}
-
-		this.audioBtn = getAudioByResName('btn');
-
-	},
-
-
-	initView() {
-
-		this.initBg();
-		this.initPic();
-		this.initBtn();
-		this.initIcon();
-	},
-
-	initBg() {
-		const bgNode = cc.find('Canvas/bg');
-		bgNode.scale = this._mapScaleMax;
-	},
-
-	pic1: null,
-	pic2: null,
-	initPic() {
-		const canvas = cc.find('Canvas');
-		const maxW = canvas.width * 0.7;
-
-		this.getSprNodeByUrl(this.data.pic_url, (sprNode) => {
-			const picNode1 = sprNode;
-			picNode1.scale = maxW / picNode1.width;
-			picNode1.baseX = picNode1.x;
-			canvas.addChild(picNode1);
-			this.pic1 = picNode1;
-
-			const labelNode = new cc.Node();
-			labelNode.color = cc.Color.YELLOW;
-			const label = labelNode.addComponent(cc.Label);
-			label.string = this.data.text;
-			label.fontSize = 60;
-			label.lineHeight = 60;
-			label.font = cc.find('Canvas/res/font/BRLNSDB').getComponent('cc.Label').font;
-			picNode1.addChild(labelNode);
-		});
-
-		this.getSprNodeByUrl(this.data.pic_url_2, (sprNode) => {
-			const picNode2 = sprNode;
-			picNode2.scale = maxW / picNode2.width;
-			canvas.addChild(picNode2);
-			picNode2.x = canvas.width;
-			picNode2.baseX = picNode2.x;
-			this.pic2 = picNode2;
-
-			const labelNode = new cc.Node();
-			const label = labelNode.addComponent(cc.RichText);
-			const size = 60
-			label.font = cc.find('Canvas/res/font/BRLNSDB').getComponent(cc.Label).font;
-			label.string = `<outline color=#751e00 width=4><size=${size}><color=#ffffff>${this.data.text}</color></size></outline>`
-			label.lineHeight = size;
-			picNode2.addChild(labelNode);
-		});
-
-	},
-
-	initIcon() {
-		const iconNode = this.getSprNode('icon');
-		iconNode.zIndex = 5;
-		iconNode.anchorX = 1;
-		iconNode.anchorY = 1;
-		iconNode.parent = cc.find('Canvas');
-		iconNode.x = iconNode.parent.width / 2 - 10;
-		iconNode.y = iconNode.parent.height / 2 - 10;
-
-		iconNode.on(cc.Node.EventType.TOUCH_START, () => {
-			this.playAudioByUrl(this.data.audio_url);
-		})
-	},
-
-	curPage: null,
-	initBtn() {
-
-		this.curPage = 0;
-		const bottomPart = cc.find('Canvas/bottomPart');
-		bottomPart.zIndex = 5; // 提高层级
-
-		bottomPart.x = bottomPart.parent.width / 2;
-		bottomPart.y = -bottomPart.parent.height / 2;
-
-		const leftBtnNode = bottomPart.getChildByName('btn_left');
-		//节点中添加了button组件 则可以添加click事件监听
-		leftBtnNode.on('click', () => {
-			if (!this._cantouch) {
-				return;
-			}
-			if (this.curPage == 0) {
-				return;
-			}
-			this.curPage = 0
-			this.leftMove();
-
-			// 游戏结束时需要调用这个方法通知系统作业完成
-			onHomeworkFinish();
-
-			cc.audioEngine.play(this.audioBtn.clip, false, 0.8)
-		})
-
-		const rightBtnNode = bottomPart.getChildByName('btn_right');
-		//节点中添加了button组件 则可以添加click事件监听
-		rightBtnNode.on('click', () => {
-			if (!this._cantouch) {
-				return;
-			}
-			if (this.curPage == 1) {
-				return;
-			}
-
-			this.curPage = 1
-			this.rightMove();
-
-			cc.audioEngine.play(this.audioBtn.clip, false, 0.5)
-		})
-	},
-
-	leftMove() {
-		this._cantouch = false;
-		const len = this.pic1.parent.width;
-		cc.tween(this.pic1)
-			.to(1, { x: this.pic1.baseX }, { easing: 'cubicInOut' })
-			.start();
-
-		cc.tween(this.pic2)
-			.to(1, { x: this.pic2.baseX }, { easing: 'cubicInOut' })
-			.call(() => {
-				this._cantouch = true;
-			})
-			.start();
-	},
-
-	rightMove() {
-		this._cantouch = false;
-		const len = this.pic1.parent.width;
-		cc.tween(this.pic1)
-			.to(1, { x: this.pic1.baseX - len }, { easing: 'cubicInOut' })
-			.start();
-
-		cc.tween(this.pic2)
-			.to(1, { x: this.pic2.baseX - len }, { easing: 'cubicInOut' })
-			.call(() => {
-				this._cantouch = true;
-			})
-			.start();
-	},
-	// update (dt) {},
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	// ------------------------------------------------
-	getSprNode(resName) {
-		const sf = cc.find('Canvas/res/img/' + resName).getComponent(cc.Sprite).spriteFrame;
-		const node = new cc.Node();
-		node.addComponent(cc.Sprite).spriteFrame = sf;
-		return node;
-	},
-
-
-	getSpriteFrimeByUrl(url, cb) {
-		cc.loader.load({ url }, (err, img) => {
-			const spriteFrame = new cc.SpriteFrame(img)
-			if (cb) {
-				cb(spriteFrame);
-			}
-		})
-	},
-
-	getSprNodeByUrl(url, cb) {
-		const node = new cc.Node();
-		const spr = node.addComponent(cc.Sprite);
-		this.getSpriteFrimeByUrl(url, (sf) => {
-			spr.spriteFrame = sf;
-			if (cb) {
-				cb(node);
-			}
-		})
-	},
-
-	playAudioByUrl(audio_url, cb = null) {
-		if (audio_url) {
-			cc.assetManager.loadRemote(audio_url, (err, audioClip) => {
-				const audioId = cc.audioEngine.play(audioClip, false, 0.8);
-				if (cb) {
-					cc.audioEngine.setFinishCallback(audioId, () => {
-						cb();
-					});
-				}
-			});
-		}
-	},
-
-	// ------------------------------------------
-
-});
diff --git a/play/assets/scene/textures/1orange.png b/play/assets/scene/textures/1orange.png
deleted file mode 100644
index fe9a37149865449e4f1ad38938476486aa62260a..0000000000000000000000000000000000000000
Binary files a/play/assets/scene/textures/1orange.png and /dev/null differ
diff --git a/play/assets/scene/textures/bg.jpg b/play/assets/scene/textures/bg.jpg
deleted file mode 100644
index 701c49c4c716d9e48412993f87f47d0fdcfbbe44..0000000000000000000000000000000000000000
Binary files a/play/assets/scene/textures/bg.jpg and /dev/null differ
diff --git a/play/assets/scene/textures/btn_left.png b/play/assets/scene/textures/btn_left.png
deleted file mode 100644
index e3428fd5bcda4bad311e87c5aa5669fdb7e96a60..0000000000000000000000000000000000000000
Binary files a/play/assets/scene/textures/btn_left.png and /dev/null differ
diff --git a/play/assets/scene/textures/btn_right.png b/play/assets/scene/textures/btn_right.png
deleted file mode 100644
index db0f274024b4ad41d5219acf3936ec2b2f79459c..0000000000000000000000000000000000000000
Binary files a/play/assets/scene/textures/btn_right.png and /dev/null differ
diff --git a/play/assets/scene/textures/icon.png b/play/assets/scene/textures/icon.png
deleted file mode 100644
index 63bf81e6ea88059e83d595ba2ae71fa1e0e746c8..0000000000000000000000000000000000000000
Binary files a/play/assets/scene/textures/icon.png and /dev/null differ
diff --git a/publish/build.sh b/publish/build.sh
index f7fcf17e83830cc2ad86e5f4cfcdbf5c562cd1b0..303f5752da8c85d720b1c1579c049c7aa657c416 100644
--- a/publish/build.sh
+++ b/publish/build.sh
@@ -16,6 +16,8 @@ npm run publish
 
 cd ../publish 
 
+npm install compressing
+
 node build_step_0.js
 
 cd ../play
diff --git a/publish/package-lock.json b/publish/package-lock.json
index e830904f310afa074d35aed98cd67eb25953bdfa..05a1722797227f701681bde30e6b87ee9c3aa63d 100644
--- a/publish/package-lock.json
+++ b/publish/package-lock.json
@@ -5,9 +5,9 @@
   "requires": true,
   "dependencies": {
     "bl": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
-      "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz",
+      "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==",
       "requires": {
         "readable-stream": "^2.3.5",
         "safe-buffer": "^5.1.1"
diff --git a/publish/publish/config.json b/publish/publish/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..269f726bbb834e4b78f13801d086cc3b9871877c
--- /dev/null
+++ b/publish/publish/config.json
@@ -0,0 +1 @@
+{"ios":{"sceneName":"dfzx_cocos_dqq_app","version":"93ba8"},"android":{"sceneName":"dfzx_cocos_dqq_app","version":"93ba8"}}
\ No newline at end of file