Przeglądaj źródła

创建乒乓王国项目仓库

芋圆号航母 5 lat temu
commit
f4fb3dd23a

+ 67 - 0
.gitignore

@@ -0,0 +1,67 @@
+#/////////////////////////////////////////////////////////////////////////////
+# Fireball Projects
+#/////////////////////////////////////////////////////////////////////////////
+
+library/
+temp/
+local/
+build/
+
+#/////////////////////////////////////////////////////////////////////////////
+# Logs and databases
+#/////////////////////////////////////////////////////////////////////////////
+
+*.log
+*.sql
+*.sqlite
+
+#/////////////////////////////////////////////////////////////////////////////
+# files for debugger
+#/////////////////////////////////////////////////////////////////////////////
+
+*.sln
+*.csproj
+*.pidb
+*.unityproj
+*.suo
+
+#/////////////////////////////////////////////////////////////////////////////
+# OS generated files
+#/////////////////////////////////////////////////////////////////////////////
+
+.DS_Store
+ehthumbs.db
+Thumbs.db
+
+#/////////////////////////////////////////////////////////////////////////////
+# exvim files
+#/////////////////////////////////////////////////////////////////////////////
+
+*UnityVS.meta
+*.err
+*.err.meta
+*.exvim
+*.exvim.meta
+*.vimentry
+*.vimentry.meta
+*.vimproject
+*.vimproject.meta
+.vimfiles.*/
+.exvim.*/
+quick_gen_project_*_autogen.bat
+quick_gen_project_*_autogen.bat.meta
+quick_gen_project_*_autogen.sh
+quick_gen_project_*_autogen.sh.meta
+.exvim.app
+
+#/////////////////////////////////////////////////////////////////////////////
+# webstorm files
+#/////////////////////////////////////////////////////////////////////////////
+
+.idea/
+
+#//////////////////////////
+# VS Code
+#//////////////////////////
+
+.vscode/

+ 7 - 0
assets/resources.meta

@@ -0,0 +1,7 @@
+{
+  "ver": "1.0.1",
+  "uuid": "ef4f1ee4-82c2-4947-9ef6-f9e6bf482583",
+  "isSubpackage": false,
+  "subpackageName": "",
+  "subMetas": {}
+}

BIN
assets/resources/00192d.jpg


+ 31 - 0
assets/resources/00192d.jpg.meta

@@ -0,0 +1,31 @@
+{
+  "ver": "2.2.0",
+  "uuid": "9d0bd229-ba88-42da-9354-73fac8ea3b7a",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "subMetas": {
+    "00192d": {
+      "ver": "1.0.3",
+      "uuid": "410e432b-8743-450b-bcca-76d6c2617153",
+      "rawTextureUuid": "9d0bd229-ba88-42da-9354-73fac8ea3b7a",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 544,
+      "height": 960,
+      "rawWidth": 544,
+      "rawHeight": 960,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
assets/resources/00193d.jpg


+ 31 - 0
assets/resources/00193d.jpg.meta

@@ -0,0 +1,31 @@
+{
+  "ver": "2.2.0",
+  "uuid": "b7a92ac7-cda2-42bf-94ad-198c1be1fd19",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "subMetas": {
+    "00193d": {
+      "ver": "1.0.3",
+      "uuid": "ae51f1ba-3bbf-46eb-ba6f-a585c8f5d66b",
+      "rawTextureUuid": "b7a92ac7-cda2-42bf-94ad-198c1be1fd19",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 544,
+      "height": 960,
+      "rawWidth": 544,
+      "rawHeight": 960,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
assets/resources/00194d.jpg


+ 31 - 0
assets/resources/00194d.jpg.meta

@@ -0,0 +1,31 @@
+{
+  "ver": "2.2.0",
+  "uuid": "efe48e27-53d0-4b49-82b1-f088415e1fff",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "subMetas": {
+    "00194d": {
+      "ver": "1.0.3",
+      "uuid": "5d43e94e-f8fe-4f79-9b8e-049f192cca2b",
+      "rawTextureUuid": "efe48e27-53d0-4b49-82b1-f088415e1fff",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 544,
+      "height": 960,
+      "rawWidth": 544,
+      "rawHeight": 960,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
assets/resources/00203d.jpg


+ 31 - 0
assets/resources/00203d.jpg.meta

@@ -0,0 +1,31 @@
+{
+  "ver": "2.2.0",
+  "uuid": "13301415-5979-4b58-a264-2dc272b12802",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "subMetas": {
+    "00203d": {
+      "ver": "1.0.3",
+      "uuid": "b6ac8324-0820-44fa-a907-f410c6e739ec",
+      "rawTextureUuid": "13301415-5979-4b58-a264-2dc272b12802",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 544,
+      "height": 960,
+      "rawWidth": 544,
+      "rawHeight": 960,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
assets/resources/00204d.jpg


+ 31 - 0
assets/resources/00204d.jpg.meta

@@ -0,0 +1,31 @@
+{
+  "ver": "2.2.0",
+  "uuid": "08aeb655-f85a-4a38-bade-cdbd3024f1b2",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "subMetas": {
+    "00204d": {
+      "ver": "1.0.3",
+      "uuid": "1663eb28-9e71-44ea-a5a4-a39a6ef789b4",
+      "rawTextureUuid": "08aeb655-f85a-4a38-bade-cdbd3024f1b2",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 544,
+      "height": 960,
+      "rawWidth": 544,
+      "rawHeight": 960,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
assets/resources/00205d.jpg


+ 31 - 0
assets/resources/00205d.jpg.meta

@@ -0,0 +1,31 @@
+{
+  "ver": "2.2.0",
+  "uuid": "39f06403-ae63-4733-9d76-034818ee3b3d",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "subMetas": {
+    "00205d": {
+      "ver": "1.0.3",
+      "uuid": "de735ce8-e18a-48ec-841e-604d3bb6c8f5",
+      "rawTextureUuid": "39f06403-ae63-4733-9d76-034818ee3b3d",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 544,
+      "height": 960,
+      "rawWidth": 544,
+      "rawHeight": 960,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
assets/resources/00206d.jpg


+ 31 - 0
assets/resources/00206d.jpg.meta

@@ -0,0 +1,31 @@
+{
+  "ver": "2.2.0",
+  "uuid": "c5aaec02-62d3-4fcc-9a69-992d140476f8",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "subMetas": {
+    "00206d": {
+      "ver": "1.0.3",
+      "uuid": "b5517b2e-f403-49be-96d9-efb6fef03f90",
+      "rawTextureUuid": "c5aaec02-62d3-4fcc-9a69-992d140476f8",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 544,
+      "height": 960,
+      "rawWidth": 544,
+      "rawHeight": 960,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 7 - 0
assets/scenes.meta

@@ -0,0 +1,7 @@
+{
+  "ver": "1.0.1",
+  "uuid": "b9b8a52d-e5a9-4713-90b1-3e8cd8c7259c",
+  "isSubpackage": false,
+  "subpackageName": "",
+  "subMetas": {}
+}

+ 757 - 0
assets/scenes/test.fire

@@ -0,0 +1,757 @@
+[
+  {
+    "__type__": "cc.SceneAsset",
+    "_name": "",
+    "_objFlags": 0,
+    "_native": "",
+    "scene": {
+      "__id__": 1
+    }
+  },
+  {
+    "__type__": "cc.Scene",
+    "_objFlags": 0,
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      }
+    ],
+    "_active": true,
+    "_level": 0,
+    "_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
+    },
+    "_scale": {
+      "__type__": "cc.Vec3",
+      "x": 1.5041040209293357,
+      "y": 1.5041040209293357,
+      "z": 1
+    },
+    "_quat": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "groupIndex": 0,
+    "autoReleaseAssets": false,
+    "_id": "a2a270bb-bc4e-4b91-817e-c6d365ee1292"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Canvas",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 5
+      },
+      {
+        "__id__": 7
+      },
+      {
+        "__id__": 10
+      },
+      {
+        "__id__": 13
+      },
+      {
+        "__id__": 16
+      }
+    ],
+    "_active": true,
+    "_level": 1,
+    "_components": [
+      {
+        "__id__": 19
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 960,
+      "height": 640
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_position": {
+      "__type__": "cc.Vec3",
+      "x": 480,
+      "y": 320,
+      "z": 0
+    },
+    "_scale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_rotationX": 0,
+    "_rotationY": 0,
+    "_quat": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "groupIndex": 0,
+    "_id": "b3Ja74VY1BI4SrsrgzEuZN"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Main Camera",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [],
+    "_active": true,
+    "_level": 2,
+    "_components": [
+      {
+        "__id__": 4
+      }
+    ],
+    "_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
+    },
+    "_position": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_scale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_rotationX": 0,
+    "_rotationY": 0,
+    "_quat": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "groupIndex": 0,
+    "_id": "4e2BwObHRM2qd6CKxiq1kc"
+  },
+  {
+    "__type__": "cc.Camera",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 3
+    },
+    "_enabled": true,
+    "_cullingMask": 4294967295,
+    "_clearFlags": 7,
+    "_backgroundColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_depth": -1,
+    "_zoomRatio": 1,
+    "_targetTexture": null,
+    "_id": "66CdAB4DNBq73+sqSaSkAU"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "00203d",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [],
+    "_active": true,
+    "_level": 2,
+    "_components": [
+      {
+        "__id__": 6
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 544,
+      "height": 960
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_position": {
+      "__type__": "cc.Vec3",
+      "x": -2,
+      "y": -91,
+      "z": 0
+    },
+    "_scale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_rotationX": 0,
+    "_rotationY": 0,
+    "_quat": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "groupIndex": 0,
+    "_id": "15rqU6Z8lEsqJawElgZOJ4"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 5
+    },
+    "_enabled": true,
+    "_spriteFrame": {
+      "__uuid__": "b5517b2e-f403-49be-96d9-efb6fef03f90"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_state": 0,
+    "_atlas": null,
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_id": "92j49dRvBFuZKNyrfoGLtT"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "graphics",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [],
+    "_active": true,
+    "_level": 2,
+    "_components": [
+      {
+        "__id__": 8
+      },
+      {
+        "__id__": 9
+      }
+    ],
+    "_prefab": null,
+    "_opacity": 100,
+    "_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
+    },
+    "_position": {
+      "__type__": "cc.Vec3",
+      "x": 135,
+      "y": 90.3,
+      "z": 0
+    },
+    "_scale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_rotationX": 0,
+    "_rotationY": 0,
+    "_quat": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "groupIndex": 0,
+    "_id": "1f8QdTHw1E2KBRHrJO97hW"
+  },
+  {
+    "__type__": "cc.Graphics",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 7
+    },
+    "_enabled": true,
+    "_lineWidth": 1,
+    "_strokeColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_lineJoin": 2,
+    "_lineCap": 0,
+    "_fillColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_miterLimit": 10,
+    "_id": "56stRaiEVHsLRn8h0aSaZD"
+  },
+  {
+    "__type__": "9b763RRFANEZpwNwLVyxX2V",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 7
+    },
+    "_enabled": true,
+    "loc": 0,
+    "g": null,
+    "index": 15,
+    "headSize": 6,
+    "bodySize": 16,
+    "batSize": 2,
+    "dir": 0,
+    "_id": "ebF597lBtMm6kcXfflQVjU"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "graphics",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [],
+    "_active": false,
+    "_level": 2,
+    "_components": [
+      {
+        "__id__": 11
+      },
+      {
+        "__id__": 12
+      }
+    ],
+    "_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
+    },
+    "_position": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_scale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_rotationX": 0,
+    "_rotationY": 0,
+    "_quat": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "groupIndex": 0,
+    "_id": "0dgJqO6VBITrVZyM7V5rND"
+  },
+  {
+    "__type__": "cc.Graphics",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 10
+    },
+    "_enabled": true,
+    "_lineWidth": 1,
+    "_strokeColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_lineJoin": 2,
+    "_lineCap": 0,
+    "_fillColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_miterLimit": 10,
+    "_id": "1b4jgW6jFEzbSiDtZ115VN"
+  },
+  {
+    "__type__": "9b763RRFANEZpwNwLVyxX2V",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 10
+    },
+    "_enabled": true,
+    "loc": 0,
+    "g": null,
+    "index": 2,
+    "headSize": 6,
+    "bodySize": 16,
+    "batSize": 2,
+    "dir": 0,
+    "_id": "60sPLgvtxNnZze+WjkN2Sd"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "graphics",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [],
+    "_active": false,
+    "_level": 2,
+    "_components": [
+      {
+        "__id__": 14
+      },
+      {
+        "__id__": 15
+      }
+    ],
+    "_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
+    },
+    "_position": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_scale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_rotationX": 0,
+    "_rotationY": 0,
+    "_quat": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "groupIndex": 0,
+    "_id": "46N9szatBKKbNX8AABcvBN"
+  },
+  {
+    "__type__": "cc.Graphics",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 13
+    },
+    "_enabled": true,
+    "_lineWidth": 1,
+    "_strokeColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_lineJoin": 2,
+    "_lineCap": 0,
+    "_fillColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_miterLimit": 10,
+    "_id": "af38rOv91KB5RiPFtpad6E"
+  },
+  {
+    "__type__": "9b763RRFANEZpwNwLVyxX2V",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 13
+    },
+    "_enabled": true,
+    "loc": 0,
+    "g": null,
+    "index": 3,
+    "headSize": 6,
+    "bodySize": 16,
+    "batSize": 2,
+    "dir": 0,
+    "_id": "b8AUssJP9C95NV75V2+lhk"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "graphics",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [],
+    "_active": false,
+    "_level": 2,
+    "_components": [
+      {
+        "__id__": 17
+      },
+      {
+        "__id__": 18
+      }
+    ],
+    "_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
+    },
+    "_position": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_scale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_rotationX": 0,
+    "_rotationY": 0,
+    "_quat": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "groupIndex": 0,
+    "_id": "a62ap95WdLxbaC+4X3ZK9p"
+  },
+  {
+    "__type__": "cc.Graphics",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 16
+    },
+    "_enabled": true,
+    "_lineWidth": 1,
+    "_strokeColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_lineJoin": 2,
+    "_lineCap": 0,
+    "_fillColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_miterLimit": 10,
+    "_id": "4bOsXplnJGP7txEUyRrLBg"
+  },
+  {
+    "__type__": "9b763RRFANEZpwNwLVyxX2V",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 16
+    },
+    "_enabled": true,
+    "loc": 0,
+    "g": null,
+    "index": 4,
+    "headSize": 6,
+    "bodySize": 16,
+    "batSize": 2,
+    "dir": 0,
+    "_id": "b7w5L0jcFFuITXdzNrwmWT"
+  },
+  {
+    "__type__": "cc.Canvas",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "_designResolution": {
+      "__type__": "cc.Size",
+      "width": 960,
+      "height": 640
+    },
+    "_fitWidth": false,
+    "_fitHeight": true,
+    "_id": "e36snU1ktGia78loAw844K"
+  }
+]

+ 7 - 0
assets/scenes/test.fire.meta

@@ -0,0 +1,7 @@
+{
+  "ver": "1.0.1",
+  "uuid": "a2a270bb-bc4e-4b91-817e-c6d365ee1292",
+  "asyncLoadAssets": false,
+  "autoReleaseAssets": false,
+  "subMetas": {}
+}

+ 7 - 0
assets/scripts.meta

@@ -0,0 +1,7 @@
+{
+  "ver": "1.0.1",
+  "uuid": "54820fab-7912-4edf-9c20-7fd3c4c23464",
+  "isSubpackage": false,
+  "subpackageName": "",
+  "subMetas": {}
+}

+ 567 - 0
assets/scripts/arc.js

@@ -0,0 +1,567 @@
+// Learn cc.Class:
+//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/class.html
+//  - [English] http://docs.cocos2d-x.org/creator/manual/en/scripting/class.html
+// Learn Attribute:
+//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
+//  - [English] http://docs.cocos2d-x.org/creator/manual/en/scripting/reference/attributes.html
+// Learn life-cycle callbacks:
+//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
+//  - [English] https://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.html
+
+cc.Class({
+    extends: cc.Component,
+
+    properties: {
+        loc: 0, // 代表方向,0为正位,1为反位
+        g: {
+            default: null,
+            type: cc.Graphics,
+        },
+        index:0,
+        // 脑袋的宽度
+        headSize: 0,
+        // 身体的宽度
+        bodySize: 0,
+        // 球拍的宽度
+        batSize: 2,
+        // 方向配置
+        dir: 0,
+    },
+
+    // LIFE-CYCLE CALLBACKS:
+
+    onLoad () {
+        this.headSize = 4;
+        this.bodySize = 12;
+        this.batSize = 3;
+    },
+
+    start () {
+        this.g = this.getComponent(cc.Graphics);
+        // 配置方向
+        if (this.loc == 0) {
+            this.dir = 1;
+        } else {
+            this.dir = -1;
+        }
+
+        if (this.index == 0) {
+            this.idle();
+        } else if (this.index == 1) {
+            this.serve_001();
+        } else if (this.index == 2) {
+            this.serve_002();
+        } else if (this.index == 3) {
+            this.serve_003();
+        } else if (this.index == 4) {
+            this.serve_004();
+        } else if (this.index == 13) {
+            this.serve_013();
+        } else if (this.index == 14) {
+            this.serve_014();
+        } else if (this.index == 15) {
+            this.serve_015();
+        }
+    },
+
+    idle:function() {
+        // 画脑袋和身体
+        this.g.lineWidth = 7;
+
+        // 画个脑袋
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(-1.5 * this.dir, 110, this.headSize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画个身体
+        this.g.lineWidth = 7;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(8 * this.dir, 85, this.bodySize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(-7 * this.dir, 86);
+        var handEnd = cc.v2(handStart.x - this.dir * 10, handStart.y - 47);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, handStart.x, handStart.y - 40, handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画个球
+        this.g.lineWidth = 7;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(handEnd.x - this.dir * 3, handEnd.y + 4, this.batSize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(13 * this.dir, 99);
+        var handEnd = cc.v2(handStart.x + this.dir * 51, handStart.y - 18);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, handStart.x + this.dir * 27, handStart.y + 10, handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画裤子
+        var trousersStart = cc.v2(0, 74);
+        var trousersEnd = cc.v2(22 * this.dir, 79);
+        this.g.moveTo(trousersStart.x, trousersStart.y);
+        this.g.lineTo(trousersEnd.x, trousersEnd.y);
+        this.g.stroke();
+
+        // 画腿
+        var legStart = cc.v2(10 * this.dir, 73);
+        var legEnd = cc.v2(0, 0)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.bezierCurveTo(legStart.x, legStart.y, -10 * this.dir, 60, legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x - this.dir * 6, legEnd.y);
+        this.g.stroke();
+
+        legStart = cc.v2(19 * this.dir, 78);
+        legEnd = cc.v2(62 * this.dir, 0)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.lineTo(legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x + this.dir * 6, legEnd.y);
+        this.g.stroke();
+    },
+
+    serve_001:function() {
+        // 画脑袋
+        this.g.lineWidth = 3;
+        this.g.fillColor.fromHEX('#ffffff');
+        // this.g.ellipse(18, 116, 15, 5);
+        this.g.arc(14, 112, this.headSize + 2, Math.PI / 2 + Math.PI / 12, Math.PI * 1.5 + Math.PI / 12, true);
+        this.g.lineTo(29, 107.5);
+        this.g.arc(27, 113, this.headSize + 2, Math.PI * 1.5 + Math.PI / 12, Math.PI / 2 + Math.PI / 12, true);
+        this.g.lineTo(11, 118);
+        // this.g.close();
+        // this.g.stroke();
+        // this.g.fill();
+
+        // 画个身体
+        this.g.lineWidth = 7;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(29, 87, this.bodySize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(15, 93);
+        var handEnd = cc.v2(handStart.x - 19, handStart.y - 41);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, handStart.x - 13, handStart.y - 50, handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画个球
+        this.g.lineWidth = 7;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(handEnd.x - 2, handEnd.y + 4, 4);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(39, 98);
+        var handEnd = cc.v2(handStart.x + 41, handStart.y - 31);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, handStart.x + 30, handStart.y + 15, handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画裤子
+        var trousersStart = cc.v2(19, 78);
+        var trousersEnd = cc.v2(41, 76);
+        this.g.moveTo(trousersStart.x, trousersStart.y);
+        this.g.lineTo(trousersEnd.x, trousersEnd.y);
+        this.g.stroke();
+
+        // 画腿
+        var legStart = cc.v2(18, 75);
+        var legEnd = cc.v2(0, 0)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.bezierCurveTo(legStart.x, legStart.y, -3, 55, legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x - 10, legEnd.y);
+        this.g.stroke();
+
+        legStart = cc.v2(33, 75);
+        legEnd = cc.v2(64, 0)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.bezierCurveTo(legStart.x, legStart.y, legStart.x + 20, legStart.y - 5, legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x + 10, legEnd.y);
+        this.g.stroke();
+    },
+
+    serve_002:function() {
+        // 画脑袋
+        this.g.lineWidth = 3;
+        this.g.fillColor.fromHEX('#ffffff');
+        // this.g.ellipse(18, 116, 15, 5);
+        this.g.arc(27, 113, this.headSize + 2, Math.PI / 2 - Math.PI / 8, Math.PI * 1.5 - Math.PI / 8, true);
+        this.g.lineTo(48, 97);
+        this.g.arc(49, 103, this.headSize + 2, Math.PI * 1.5 - Math.PI / 8, Math.PI / 2 - Math.PI / 8, true);
+        this.g.lineTo(28, 119);
+        // // this.g.close();
+        // // this.g.stroke();
+        // // this.g.fill();
+
+        // 画个身体
+        this.g.lineWidth = 7;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(51, 76, this.bodySize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(38, 82);
+        var handEnd = cc.v2(handStart.x - 36, handStart.y - 23);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, handStart.x - 30, handStart.y - 30, handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画个球
+        this.g.lineWidth = 7;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(handEnd.x - 1, handEnd.y + 4, this.batSize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(61, 86);
+        var handEnd = cc.v2(handStart.x + 9, handStart.y - 27);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, handStart.x + 60, handStart.y - 11, handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画裤子
+        var trousersStart = cc.v2(38, 67);
+        var trousersEnd = cc.v2(61, 67);
+        this.g.moveTo(trousersStart.x, trousersStart.y);
+        this.g.lineTo(trousersEnd.x, trousersEnd.y);
+        this.g.stroke();
+
+        // 画腿
+        var legStart = cc.v2(40, 63);
+        var legEnd = cc.v2(0, 0)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.bezierCurveTo(legStart.x, legStart.y, -5, 60, legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x - 6, legEnd.y);
+        this.g.stroke();
+
+        legStart = cc.v2(57, 65);
+        legEnd = cc.v2(60, 0)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.bezierCurveTo(legStart.x, legStart.y, legStart.x + 55, legStart.y - 35, legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x + 6, legEnd.y);
+        this.g.stroke();
+    },
+
+    serve_003:function() {
+        // 画脑袋和身体
+        this.g.lineWidth = 7;
+
+        // 画个脑袋
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(54, 105, this.headSize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画个身体
+        this.g.lineWidth = 7;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(45, 81, this.bodySize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(30, 82);
+        var handEnd = cc.v2(handStart.x - 24, handStart.y - 18);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, handStart.x - 20, handStart.y - 25, handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画手臂
+        var handStart = cc.v2(57, 90);
+        var handEnd = cc.v2(handStart.x - 31, handStart.y + 10);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, handStart.x + 45, handStart.y - 45, handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画裤子
+        var trousersStart = cc.v2(32, 71);
+        var trousersEnd = cc.v2(56, 73);
+        this.g.moveTo(trousersStart.x, trousersStart.y);
+        this.g.lineTo(trousersEnd.x, trousersEnd.y);
+        this.g.stroke();
+
+        // 画腿
+        var legStart = cc.v2(41, 68);
+        var legEnd = cc.v2(0, 0)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.bezierCurveTo(legStart.x, legStart.y, 0, 60, legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x - 6, legEnd.y);
+        this.g.stroke();
+
+        legStart = cc.v2(54, 69);
+        legEnd = cc.v2(61, 2)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.bezierCurveTo(legStart.x, legStart.y, legStart.x + 50, legStart.y - 30, legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x + 6, legEnd.y);
+        this.g.stroke();
+    },
+
+    serve_004:function() {
+        this.serve_003();
+    },
+
+    serve_004:function() {
+        this.serve_003();
+    },
+
+    serve_005:function() {
+        this.serve_003();
+    },
+
+    serve_006:function() {
+        this.serve_003();
+    },
+
+    serve_007:function() {
+        this.serve_003();
+    },
+
+    serve_008:function() {
+        this.serve_003();
+    },
+
+    serve_009:function() {
+        this.serve_003();
+    },
+
+    serve_010:function() {
+        this.serve_003();
+    },
+
+    serve_011:function() {
+        this.serve_003();
+    },
+
+    serve_012:function() {
+        this.idle();
+    },
+
+    serve_013:function() {
+        // 画脑袋
+        this.g.lineWidth = 3;
+        this.g.fillColor.fromHEX('#ffffff');
+        // this.g.ellipse(18, 116, 15, 5);
+        this.g.arc(1, 112, this.headSize + 2, Math.PI / 2 - Math.PI / 12, Math.PI * 1.5 - Math.PI / 12, true);
+        this.g.lineTo(12, 105);
+        this.g.arc(13, 111, this.headSize + 2, Math.PI * 1.5 - Math.PI / 12, Math.PI / 2 - Math.PI / 12, true);
+        this.g.lineTo(2, 118);
+
+        // 画个身体
+        this.g.lineWidth = 7;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(21, 81, this.bodySize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(9, 89);
+        var handEnd = cc.v2(handStart.x - 52, handStart.y + 7);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, handStart.x - 30, handStart.y + 28, handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画个球拍
+        this.g.lineWidth = 3;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.arc(-41, 105, this.batSize + 2, Math.PI - Math.PI / 12, 0 - Math.PI / 12, false);
+        this.g.bezierCurveTo(-37, 104, -47, 80, -24, 53);
+        this.g.arc(-28, 51, this.batSize + 2, 0 + Math.PI / 12, Math.PI * 1.5 - Math.PI / 12, false);
+        this.g.bezierCurveTo(-30, 46, -60, 75, -45, 106);
+        // this.g.close();
+        this.g.stroke();
+        // this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(35, 84);
+        var handEnd = cc.v2(76, 61);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, 58, 55, handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画裤子
+        var trousersStart = cc.v2(11, 73);
+        var trousersEnd = cc.v2(33, 73);
+        this.g.moveTo(trousersStart.x, trousersStart.y);
+        this.g.lineTo(trousersEnd.x, trousersEnd.y);
+        this.g.stroke();
+
+        // 画腿
+        var legStart = cc.v2(12, 70);
+        var legEnd = cc.v2(0, 0)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.bezierCurveTo(legStart.x, legStart.y, -15, 60, legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x - 10, legEnd.y);
+        this.g.stroke();
+
+        legStart = cc.v2(31, 69);
+        legEnd = cc.v2(64, 2)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.bezierCurveTo(legStart.x, legStart.y, legStart.x + 20, legStart.y - 10, legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x + 10, legEnd.y);
+        this.g.stroke();
+    },
+
+    serve_014:function() {
+        // 画脑袋
+        this.g.lineWidth = 3;
+        this.g.fillColor.fromHEX('#ffffff');
+        // this.g.ellipse(18, 116, 15, 5);
+        this.g.arc(53, 104, this.headSize + 1, Math.PI / 2 - Math.PI / 12, Math.PI * 1.5 - Math.PI / 8, true);
+        this.g.lineTo(65, 96);
+        this.g.arc(66, 101, this.headSize + 1, Math.PI * 1.5 - Math.PI / 8, Math.PI / 2 - Math.PI / 8, true);
+        this.g.lineTo(49, 110);;
+
+        // 画个身体
+        this.g.lineWidth = 7;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(54, 78, this.bodySize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(45, 89);
+        var handEnd = cc.v2(70, 135);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, 20, 128, handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画个球
+        this.g.lineWidth = 7;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(handEnd.x - 1, handEnd.y - 5, this.batSize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(55, 63);
+        var handEnd = cc.v2(56, 30);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, 40, 40, handEnd.x, handEnd.y);
+        // this.g.lineTo(handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画裤子
+        var trousersStart = cc.v2(41, 73);
+        var trousersEnd = cc.v2(63, 66);
+        this.g.moveTo(trousersStart.x, trousersStart.y);
+        this.g.lineTo(trousersEnd.x, trousersEnd.y);
+        this.g.stroke();
+
+        // 画腿
+        var legStart = cc.v2(44, 67);
+        var legEnd = cc.v2(0, 0)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.bezierCurveTo(legStart.x, legStart.y, 30, 52, legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x - 6, legEnd.y);
+        this.g.stroke();
+
+        legStart = cc.v2(57, 64);
+        legEnd = cc.v2(63, 1)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.bezierCurveTo(legStart.x, legStart.y, legStart.x + 40, legStart.y - 15, legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x + 6, legEnd.y);
+        this.g.stroke();
+    },
+
+    serve_015:function() {
+        // 画脑袋
+        this.g.lineWidth = 3;
+        this.g.fillColor.fromHEX('#ffffff');
+        // this.g.ellipse(18, 116, 15, 5);
+        this.g.arc(70, 101, this.headSize + 1, Math.PI / 2 - Math.PI / 12, Math.PI * 1.5 - Math.PI / 8, true);
+        this.g.lineTo(76, 92);
+        this.g.arc(77, 97, this.headSize + 1, Math.PI * 1.5 - Math.PI / 8, Math.PI / 2 - Math.PI / 8, true);
+        this.g.lineTo(71, 105);;
+
+        // 画个身体
+        this.g.lineWidth = 7;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(64, 75, this.bodySize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(60, 90);
+        var handEnd = cc.v2(102, 107);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, 63, 140, handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画个球
+        this.g.lineWidth = 7;
+        this.g.fillColor.fromHEX('#ffffff');
+        this.g.circle(handEnd.x - 4, handEnd.y - 5, this.batSize);
+        this.g.close();
+        this.g.stroke();
+        this.g.fill();
+
+        // 画手臂
+        var handStart = cc.v2(64, 60);
+        var handEnd = cc.v2(60, 33);
+        this.g.lineWidth = 3;
+        this.g.moveTo(handStart.x, handStart.y);
+        this.g.bezierCurveTo(handStart.x, handStart.y, 50, 40, handEnd.x, handEnd.y);
+        // this.g.lineTo(handEnd.x, handEnd.y);
+        this.g.stroke();
+
+        // 画裤子
+        var trousersStart = cc.v2(50, 73);
+        var trousersEnd = cc.v2(70, 60);
+        this.g.moveTo(trousersStart.x, trousersStart.y);
+        this.g.lineTo(trousersEnd.x, trousersEnd.y);
+        this.g.stroke();
+
+        // 画腿
+        var legStart = cc.v2(52, 64);
+        var legEnd = cc.v2(0, 0)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.lineTo(legEnd.x, legEnd.y);
+        this.g.stroke();
+
+        legStart = cc.v2(68, 60);
+        legEnd = cc.v2(63, 1)
+        this.g.moveTo(legStart.x, legStart.y);
+        this.g.bezierCurveTo(legStart.x, legStart.y, legStart.x + 38, legStart.y - 18, legEnd.x, legEnd.y);
+        this.g.lineTo(legEnd.x + 6, legEnd.y);
+        this.g.stroke();
+    },
+
+    // update (dt) {},
+});

+ 9 - 0
assets/scripts/arc.js.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.0.5",
+  "uuid": "9b763451-1403-4466-9c0d-c0b572c57d95",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

Plik diff jest za duży
+ 24845 - 0
creator.d.ts


+ 15 - 0
jsconfig.json

@@ -0,0 +1,15 @@
+{
+    "compilerOptions": {
+        "target": "es6",
+        "module": "commonjs",
+        "experimentalDecorators": true
+    },
+    "exclude": [
+        "node_modules",
+        ".vscode",
+        "library",
+        "local",
+        "settings",
+        "temp"
+    ]
+}

+ 4 - 0
project.json

@@ -0,0 +1,4 @@
+{
+  "engine": "cocos-creator-js",
+  "packages": "packages"
+}

+ 49 - 0
settings/builder.json

@@ -0,0 +1,49 @@
+{
+  "android-instant": {
+    "REMOTE_SERVER_ROOT": "",
+    "host": "",
+    "pathPattern": "",
+    "recordPath": "",
+    "scheme": "https",
+    "skipRecord": false
+  },
+  "appBundle": false,
+  "baidugame": {
+    "REMOTE_SERVER_ROOT": "",
+    "appid": "testappid",
+    "orientation": "portrait",
+    "subContext": ""
+  },
+  "encryptJs": true,
+  "excludeScenes": [],
+  "fb-instant-games": {},
+  "includeSDKBox": false,
+  "inlineSpriteFrames": true,
+  "inlineSpriteFrames_native": true,
+  "md5Cache": false,
+  "mergeStartScene": false,
+  "optimizeHotUpdate": false,
+  "orientation": {
+    "landscapeLeft": true,
+    "landscapeRight": true,
+    "portrait": false,
+    "upsideDown": false
+  },
+  "packageName": "org.cocos2d.PingPongPro",
+  "qqplay": {
+    "REMOTE_SERVER_ROOT": "",
+    "orientation": "portrait",
+    "zip": false
+  },
+  "startScene": "a2a270bb-bc4e-4b91-817e-c6d365ee1292",
+  "title": "PingPongPro",
+  "webOrientation": "auto",
+  "wechatgame": {
+    "REMOTE_SERVER_ROOT": "",
+    "appid": "wx6ac3f5090a6b99c5",
+    "orientation": "portrait",
+    "subContext": ""
+  },
+  "xxteaKey": "cae5e046-9615-48",
+  "zipCompressJs": true
+}

+ 35 - 0
settings/project.json

@@ -0,0 +1,35 @@
+{
+  "start-scene": "current",
+  "group-list": [
+    "default"
+  ],
+  "collision-matrix": [
+    [
+      true
+    ]
+  ],
+  "excluded-modules": [],
+  "last-module-event-record-time": 0,
+  "design-resolution-width": 960,
+  "design-resolution-height": 640,
+  "fit-width": false,
+  "fit-height": true,
+  "use-project-simulator-setting": false,
+  "simulator-orientation": false,
+  "use-customize-simulator": false,
+  "simulator-resolution": {
+    "width": 960,
+    "height": 640
+  },
+  "assets-sort-type": "name",
+  "facebook": {
+    "enable": false,
+    "appID": "",
+    "live": {
+      "enable": false
+    },
+    "audience": {
+      "enable": false
+    }
+  }
+}

+ 146 - 0
settings/services.json

@@ -0,0 +1,146 @@
+{
+  "services": [
+    {
+      "service_id": "235",
+      "service_name": "Cocos Analytics",
+      "service_desc": "提供最核心最基本的数据、标准化界面功能简洁易用、数据准确性最好",
+      "service_title": "精准了解游戏的新增、活跃、留存、付费等数据",
+      "service_icon": "https://account.cocos.com/client/3f8f31ccf66995e183044f167c092395.png",
+      "service_guide_url": "https://n-analytics.cocos.com/docs/",
+      "service_sample_url": "https://github.com/cocos-creator/tutorial-dark-slash/tree/analytics",
+      "service_dev_url": "http://analytics.cocos.com/realtime/jump_to/<app_id>",
+      "service_type": "3",
+      "service_type_zh": "公司和个人游戏",
+      "support_platform": [
+        "Android",
+        "iOS",
+        "HTML5"
+      ],
+      "package_download_url": "http://download.cocos.com/CocosServices/plugins/service-analytics/1.1.7_2.0.3.zip",
+      "package_version_desc": "1、 更新 H5 SDK 版本至 2.0.3。<br>2、 SDK 优化更新,删除 init 接口字段 'channel' ,改为 login 接口输入。<br>3、 如有相关问题咨询或者需求, 可以联系我们技术支持邮箱 <a href=' '>support-cocos@cocos.com</a>",
+      "service_component_name": "service-analytics",
+      "package_versions": [
+        "1.0.0_1.0.5",
+        "1.1.2_2.0.0",
+        "1.1.3_2.0.1",
+        "1.1.4_2.0.1",
+        "1.1.5_2.0.1",
+        "1.1.6_2.0.1_2.0.2",
+        "1.1.7_2.0.3"
+      ],
+      "build_platform": [
+        "web-mobile",
+        "web-desktop",
+        "fb-instant-games",
+        "wechatgame",
+        "wechatgame-subcontext",
+        "qqplay",
+        "android",
+        "android-instant",
+        "ios",
+        "mac",
+        "quickgame",
+        "qgame",
+        "huawei"
+      ]
+    },
+    {
+      "service_id": "241",
+      "service_name": "Matchvs",
+      "service_desc": "通过SDK接入快速实现联网功能、帧同步、国内外多节点、服务器独立部署、gameServer自定义游戏服务端逻辑。\n技术支持群QQ群:822523258",
+      "service_title": "专业成熟的移动游戏联网与服务端解决方案",
+      "service_icon": "https://account.cocos.com/client/14406719a07eb3d714d36e5edc6e06fa.png",
+      "service_guide_url": "http://doc.matchvs.com/QuickStart/QuickStart-CocosCreator",
+      "service_sample_url": "http://www.matchvs.com/serviceCourse",
+      "service_dev_url": "http://www.matchvs.com/cocosLogin",
+      "service_type": "2",
+      "service_type_zh": "仅支持公司游戏",
+      "support_platform": [
+        "Android",
+        "iOS",
+        "HTML5"
+      ],
+      "package_download_url": "http://download.cocos.com/CocosServices/plugins/service-matchvs/1.0.6_3.7.9.2.zip",
+      "package_version_desc": "更新日期:2019-03-20<br>更新内容:<br>1、添加多节点相关接口 <br>2、优化独立部署wss和ws切换<br>3、优化login参数容错<br>4、添加组队中踢人和消息发送接口<br>5、添加取消组队匹配接口",
+      "service_component_name": "service-matchvs",
+      "package_versions": [
+        "1.0.3_3.7.6.4",
+        "1.0.5_3.7.7.3",
+        "1.0.6_3.7.9.2"
+      ],
+      "build_platform": [
+        "web-mobile",
+        "web-desktop",
+        "fb-instant-games",
+        "wechatgame",
+        "wechatgame-subcontext",
+        "qqplay",
+        "android",
+        "android-instant",
+        "ios",
+        "mac",
+        "quickgame",
+        "qgame",
+        "huawei"
+      ]
+    },
+    {
+      "service_id": "242",
+      "service_name": "Agora Voice",
+      "service_desc": "稳定、低耗、76ms超低延时、全球200+数据中心覆盖;变声器、超高音质、听声辩位等丰富玩法极速接入;全平台支持:Android、iOS、Web。\n技术支持群QQ群:799099183",
+      "service_title": "游戏内置实时语音SDK",
+      "service_icon": "https://account.cocos.com/uploads/client_icon/date(\"Y-m-d\")/50fe52b789c2fc1e1fff9eec161c1bb3.png",
+      "service_guide_url": "https://docs.agora.io/cn/Interactive Gaming/game_c",
+      "service_sample_url": " https://github.com/AgoraIO/Voice-Call-for-Mobile-Gaming/tree/master/Basic-Voice-Call-for-Gaming/Hello-Cocos-Creator-Voice-Agora",
+      "service_dev_url": "https://sso.agora.io/api/oauth/cocos/login",
+      "service_type": "3",
+      "service_type_zh": "公司和个人游戏",
+      "support_platform": [
+        "Android",
+        "iOS",
+        "HTML5"
+      ],
+      "package_download_url": "http://download.cocos.com/CocosServices/plugins/service-agora/1.0.1_2.2.3.20_2.5.2.zip",
+      "package_version_desc": "first release.",
+      "service_component_name": "service-agora",
+      "package_versions": [
+        "1.0.1_2.2.3.20_2.5.2"
+      ],
+      "build_platform": [
+        "web-mobile",
+        "web-desktop",
+        "android",
+        "ios"
+      ]
+    },
+    {
+      "service_id": "7",
+      "service_name": "AnySDK",
+      "service_desc": "800+渠道、支持多平台多引擎、安全稳定的本地打包工具。技术支持:https://forum.cocos.com/c/anysdk",
+      "service_title": "游戏快速接入第三方SDK的解决方案",
+      "service_icon": "https://account.cocos.com/client/3ba1fcf9029140cf08d95813e387d04a.png",
+      "service_guide_url": "http://docs.anysdk.com",
+      "service_sample_url": "http://github.com/AnySDK",
+      "service_dev_url": "http://dev.anysdk.com",
+      "service_type": "0",
+      "service_type_zh": "不支持游戏",
+      "support_platform": [
+        "Android",
+        "iOS",
+        "HTML5"
+      ],
+      "package_download_url": "http://download.cocos.com/CocosServices/plugins/service-anysdk/1.0.1_2.2.5.zip",
+      "package_version_desc": "修复 Creator 2.0.x 系列版本 2.0.7 以上因调用 cc.game.restart(); 而导致的 AnySDK 调用失败的错误",
+      "service_component_name": "service-anysdk",
+      "package_versions": [
+        "1.0.1_2.2.5"
+      ],
+      "build_platform": [
+        "web-mobile",
+        "web-desktop",
+        "android",
+        "ios"
+      ]
+    }
+  ]
+}