浏览代码

Updated basic message passing example

Björn Ritzl 5 月之前
父节点
当前提交
57c695c86a
共有 83 个文件被更改,包括 30 次插入220 次删除
  1. 二进制
      basics/message_passing/assets/images/bar_round_large_grey.png
  2. 二进制
      basics/message_passing/assets/images/bar_round_large_red.png
  3. 二进制
      basics/message_passing/assets/images/bee/Bee01.png
  4. 二进制
      basics/message_passing/assets/images/bee/Bee02.png
  5. 二进制
      basics/message_passing/assets/images/bee/Bee03.png
  6. 二进制
      basics/message_passing/assets/images/bee/Bee04.png
  7. 二进制
      basics/message_passing/assets/images/bee/Bee05.png
  8. 二进制
      basics/message_passing/assets/images/bee/Bee06.png
  9. 二进制
      basics/message_passing/assets/images/bee/Bee07.png
  10. 二进制
      basics/message_passing/assets/images/bee/Bee08.png
  11. 二进制
      basics/message_passing/assets/images/bee/Bee09.png
  12. 二进制
      basics/message_passing/assets/images/bee/Bee10.png
  13. 二进制
      basics/message_passing/assets/images/bee/Bee11.png
  14. 二进制
      basics/message_passing/assets/images/bee/Bee12.png
  15. 二进制
      basics/message_passing/assets/images/bee/Bee13.png
  16. 二进制
      basics/message_passing/assets/images/bee/Bee14.png
  17. 二进制
      basics/message_passing/assets/images/bee/Bee15.png
  18. 二进制
      basics/message_passing/assets/images/bee/Bee16.png
  19. 二进制
      basics/message_passing/assets/images/bee/Bee17.png
  20. 二进制
      basics/message_passing/assets/images/bee/Bee18.png
  21. 二进制
      basics/message_passing/assets/images/bee/Bee19.png
  22. 二进制
      basics/message_passing/assets/images/bee/Bee20.png
  23. 二进制
      basics/message_passing/assets/images/bee/Bee21.png
  24. 二进制
      basics/message_passing/assets/images/bee/Bee22.png
  25. 二进制
      basics/message_passing/assets/images/bee/Bee23.png
  26. 二进制
      basics/message_passing/assets/images/bee/Bee24.png
  27. 二进制
      basics/message_passing/assets/images/bee/Bee_shot01.png
  28. 二进制
      basics/message_passing/assets/images/bee/Bee_shot02.png
  29. 二进制
      basics/message_passing/assets/images/bee/Bee_shot03.png
  30. 二进制
      basics/message_passing/assets/images/bee/Bee_shot04.png
  31. 二进制
      basics/message_passing/assets/images/bee/Bee_shot05.png
  32. 二进制
      basics/message_passing/assets/images/bee/Bee_shot06.png
  33. 二进制
      basics/message_passing/assets/images/bee/Bee_shot07.png
  34. 二进制
      basics/message_passing/assets/images/bee/Bee_shot08.png
  35. 二进制
      basics/message_passing/assets/images/bee/Bee_shot09.png
  36. 二进制
      basics/message_passing/assets/images/bee/Bee_shot10.png
  37. 二进制
      basics/message_passing/assets/images/bee/Sting01.png
  38. 二进制
      basics/message_passing/assets/images/bee/Sting02.png
  39. 二进制
      basics/message_passing/assets/images/bee/Sting03.png
  40. 二进制
      basics/message_passing/assets/images/bee/Sting04.png
  41. 二进制
      basics/message_passing/assets/images/bee/Sting05.png
  42. 二进制
      basics/message_passing/assets/images/bee/Sting06.png
  43. 二进制
      basics/message_passing/assets/images/bee/Sting07.png
  44. 二进制
      basics/message_passing/assets/images/bee/Sting08.png
  45. 二进制
      basics/message_passing/assets/images/bee/Sting09.png
  46. 二进制
      basics/message_passing/assets/images/bunny1_ready.png
  47. 二进制
      basics/message_passing/assets/images/bunny2_ready.png
  48. 二进制
      basics/message_passing/assets/images/carrot.png
  49. 二进制
      basics/message_passing/assets/images/close.png
  50. 二进制
      basics/message_passing/assets/images/coin/dcoin_1.png
  51. 二进制
      basics/message_passing/assets/images/coin/dcoin_2.png
  52. 二进制
      basics/message_passing/assets/images/coin/dcoin_3.png
  53. 二进制
      basics/message_passing/assets/images/coin/dcoin_4.png
  54. 二进制
      basics/message_passing/assets/images/coin/dcoin_5.png
  55. 二进制
      basics/message_passing/assets/images/crosshair010.png
  56. 二进制
      basics/message_passing/assets/images/elementMetal001.png
  57. 二进制
      basics/message_passing/assets/images/elementStone019.png
  58. 二进制
      basics/message_passing/assets/images/elementStone023.png
  59. 二进制
      basics/message_passing/assets/images/enemyBlack1.png
  60. 二进制
      basics/message_passing/assets/images/enemyFloating_1.png
  61. 二进制
      basics/message_passing/assets/images/flame.png
  62. 二进制
      basics/message_passing/assets/images/green_button03.png
  63. 二进制
      basics/message_passing/assets/images/grid.png
  64. 二进制
      basics/message_passing/assets/images/header.png
  65. 二进制
      basics/message_passing/assets/images/hitman1_machine.png
  66. 二进制
      basics/message_passing/assets/images/laserYellow_burst.png
  67. 二进制
      basics/message_passing/assets/images/lighting_blue.png
  68. 二进制
      basics/message_passing/assets/images/logo-color.png
  69. 二进制
      basics/message_passing/assets/images/particle_brown.png
  70. 二进制
      basics/message_passing/assets/images/pattern_circle.png
  71. 二进制
      basics/message_passing/assets/images/plank_slice.png
  72. 二进制
      basics/message_passing/assets/images/playerShip1_red.png
  73. 二进制
      basics/message_passing/assets/images/rainbow.png
  74. 二进制
      basics/message_passing/assets/images/red_button12.png
  75. 二进制
      basics/message_passing/assets/images/smoke.png
  76. 二进制
      basics/message_passing/assets/images/spinner.png
  77. 二进制
      basics/message_passing/assets/images/tilesheet_complete.png
  78. 3 83
      basics/message_passing/assets/sprites.atlas
  79. 1 1
      basics/message_passing/example.md
  80. 20 130
      basics/message_passing/example/message_passing.collection
  81. 二进制
      basics/message_passing/example/message_passing.png
  82. 2 2
      basics/message_passing/example/spaceship1.script
  83. 4 4
      basics/message_passing/example/spaceship2.script

二进制
basics/message_passing/assets/images/bar_round_large_grey.png


二进制
basics/message_passing/assets/images/bar_round_large_red.png


二进制
basics/message_passing/assets/images/bee/Bee01.png


二进制
basics/message_passing/assets/images/bee/Bee02.png


二进制
basics/message_passing/assets/images/bee/Bee03.png


二进制
basics/message_passing/assets/images/bee/Bee04.png


二进制
basics/message_passing/assets/images/bee/Bee05.png


二进制
basics/message_passing/assets/images/bee/Bee06.png


二进制
basics/message_passing/assets/images/bee/Bee07.png


二进制
basics/message_passing/assets/images/bee/Bee08.png


二进制
basics/message_passing/assets/images/bee/Bee09.png


二进制
basics/message_passing/assets/images/bee/Bee10.png


二进制
basics/message_passing/assets/images/bee/Bee11.png


二进制
basics/message_passing/assets/images/bee/Bee12.png


二进制
basics/message_passing/assets/images/bee/Bee13.png


二进制
basics/message_passing/assets/images/bee/Bee14.png


二进制
basics/message_passing/assets/images/bee/Bee15.png


二进制
basics/message_passing/assets/images/bee/Bee16.png


二进制
basics/message_passing/assets/images/bee/Bee17.png


二进制
basics/message_passing/assets/images/bee/Bee18.png


二进制
basics/message_passing/assets/images/bee/Bee19.png


二进制
basics/message_passing/assets/images/bee/Bee20.png


二进制
basics/message_passing/assets/images/bee/Bee21.png


二进制
basics/message_passing/assets/images/bee/Bee22.png


二进制
basics/message_passing/assets/images/bee/Bee23.png


二进制
basics/message_passing/assets/images/bee/Bee24.png


二进制
basics/message_passing/assets/images/bee/Bee_shot01.png


二进制
basics/message_passing/assets/images/bee/Bee_shot02.png


二进制
basics/message_passing/assets/images/bee/Bee_shot03.png


二进制
basics/message_passing/assets/images/bee/Bee_shot04.png


二进制
basics/message_passing/assets/images/bee/Bee_shot05.png


二进制
basics/message_passing/assets/images/bee/Bee_shot06.png


二进制
basics/message_passing/assets/images/bee/Bee_shot07.png


二进制
basics/message_passing/assets/images/bee/Bee_shot08.png


二进制
basics/message_passing/assets/images/bee/Bee_shot09.png


二进制
basics/message_passing/assets/images/bee/Bee_shot10.png


二进制
basics/message_passing/assets/images/bee/Sting01.png


二进制
basics/message_passing/assets/images/bee/Sting02.png


二进制
basics/message_passing/assets/images/bee/Sting03.png


二进制
basics/message_passing/assets/images/bee/Sting04.png


二进制
basics/message_passing/assets/images/bee/Sting05.png


二进制
basics/message_passing/assets/images/bee/Sting06.png


二进制
basics/message_passing/assets/images/bee/Sting07.png


二进制
basics/message_passing/assets/images/bee/Sting08.png


二进制
basics/message_passing/assets/images/bee/Sting09.png


二进制
basics/message_passing/assets/images/bunny1_ready.png


二进制
basics/message_passing/assets/images/bunny2_ready.png


二进制
basics/message_passing/assets/images/carrot.png


二进制
basics/message_passing/assets/images/close.png


二进制
basics/message_passing/assets/images/coin/dcoin_1.png


二进制
basics/message_passing/assets/images/coin/dcoin_2.png


二进制
basics/message_passing/assets/images/coin/dcoin_3.png


二进制
basics/message_passing/assets/images/coin/dcoin_4.png


二进制
basics/message_passing/assets/images/coin/dcoin_5.png


二进制
basics/message_passing/assets/images/crosshair010.png


二进制
basics/message_passing/assets/images/elementMetal001.png


二进制
basics/message_passing/assets/images/elementStone019.png


二进制
basics/message_passing/assets/images/elementStone023.png


二进制
basics/message_passing/assets/images/enemyBlack1.png


二进制
basics/message_passing/assets/images/enemyFloating_1.png


二进制
basics/message_passing/assets/images/flame.png


二进制
basics/message_passing/assets/images/green_button03.png


二进制
basics/message_passing/assets/images/grid.png


二进制
basics/message_passing/assets/images/header.png


二进制
basics/message_passing/assets/images/hitman1_machine.png


二进制
basics/message_passing/assets/images/laserYellow_burst.png


二进制
basics/message_passing/assets/images/lighting_blue.png


二进制
basics/message_passing/assets/images/logo-color.png


二进制
basics/message_passing/assets/images/particle_brown.png


二进制
basics/message_passing/assets/images/pattern_circle.png


二进制
basics/message_passing/assets/images/plank_slice.png


二进制
basics/message_passing/assets/images/playerShip1_red.png


二进制
basics/message_passing/assets/images/rainbow.png


二进制
basics/message_passing/assets/images/red_button12.png


二进制
basics/message_passing/assets/images/smoke.png


二进制
basics/message_passing/assets/images/spinner.png


二进制
basics/message_passing/assets/images/tilesheet_complete.png


+ 3 - 83
basics/message_passing/assets/sprites.atlas

@@ -1,93 +1,13 @@
-images {
-  image: "/assets/images/spinner.png"
-}
-images {
-  image: "/assets/images/elementStone019.png"
-}
-images {
-  image: "/assets/images/elementStone023.png"
-}
-images {
-  image: "/assets/images/bunny1_ready.png"
-}
-images {
-  image: "/assets/images/bunny2_ready.png"
-}
-images {
-  image: "/assets/images/carrot.png"
-}
-images {
-  image: "/assets/images/red_button12.png"
-}
-images {
-  image: "/assets/images/flame.png"
-}
-images {
-  image: "/assets/images/smoke.png"
-}
-images {
-  image: "/assets/images/rainbow.png"
-}
-images {
-  image: "/assets/images/enemyFloating_1.png"
-}
-images {
-  image: "/assets/images/logo-color.png"
-}
 images {
   image: "/assets/images/shipGreen_manned.png"
 }
 images {
-  image: "/assets/images/elementMetal001.png"
-}
-images {
-  image: "/assets/images/plank_slice.png"
-}
-images {
-  image: "/assets/images/hitman1_machine.png"
-}
-images {
-  image: "/assets/images/green_button03.png"
-}
-images {
-  image: "/assets/images/playerShip1_red.png"
-}
-images {
-  image: "/assets/images/enemyBlack1.png"
-}
-images {
-  image: "/assets/images/lighting_blue.png"
+  image: "/assets/images/shipBeige_manned.png"
 }
 images {
-  image: "/assets/images/particle_brown.png"
+  image: "/assets/images/shipBlue_manned.png"
 }
 images {
-  image: "/assets/images/crosshair010.png"
-}
-images {
-  image: "/assets/images/bar_round_large_grey.png"
-}
-images {
-  image: "/assets/images/bar_round_large_red.png"
-}
-animations {
-  id: "coin"
-  images {
-    image: "/assets/images/coin/dcoin_1.png"
-  }
-  images {
-    image: "/assets/images/coin/dcoin_2.png"
-  }
-  images {
-    image: "/assets/images/coin/dcoin_3.png"
-  }
-  images {
-    image: "/assets/images/coin/dcoin_4.png"
-  }
-  images {
-    image: "/assets/images/coin/dcoin_5.png"
-  }
-  playback: PLAYBACK_LOOP_FORWARD
-  fps: 8
+  image: "/assets/images/shipPink_manned.png"
 }
 extrude_borders: 2

+ 1 - 1
basics/message_passing/example.md

@@ -2,7 +2,7 @@
 tags: basics
 title: Message passing
 brief: This example shows how to communicate between two script components in two separate game objects.
-scripts: bunny1.script,bunny2.script
+scripts: spaceship1.script,spaceship2.script
 ---
 
 ![message passing](message_passing.png)

+ 20 - 130
basics/message_passing/example/message_passing.collection

@@ -1,41 +1,21 @@
 name: "default"
 scale_along_z: 0
 embedded_instances {
-  id: "bunny 1"
+  id: "spaceship1"
   data: "components {\n"
   "  id: \"script\"\n"
-  "  component: \"/example/bunny1.script\"\n"
-  "  position {\n"
-  "    x: 0.0\n"
-  "    y: 0.0\n"
-  "    z: 0.0\n"
-  "  }\n"
-  "  rotation {\n"
-  "    x: 0.0\n"
-  "    y: 0.0\n"
-  "    z: 0.0\n"
-  "    w: 1.0\n"
-  "  }\n"
+  "  component: \"/example/spaceship1.script\"\n"
   "}\n"
   "embedded_components {\n"
   "  id: \"sprite\"\n"
   "  type: \"sprite\"\n"
-  "  data: \"tile_set: \\\"/assets/sprites.atlas\\\"\\n"
-  "default_animation: \\\"bunny1_ready\\\"\\n"
+  "  data: \"default_animation: \\\"shipBlue_manned\\\"\\n"
   "material: \\\"/builtins/materials/sprite.material\\\"\\n"
-  "blend_mode: BLEND_MODE_ALPHA\\n"
+  "textures {\\n"
+  "  sampler: \\\"texture_sampler\\\"\\n"
+  "  texture: \\\"/assets/sprites.atlas\\\"\\n"
+  "}\\n"
   "\"\n"
-  "  position {\n"
-  "    x: 0.0\n"
-  "    y: 0.0\n"
-  "    z: 0.0\n"
-  "  }\n"
-  "  rotation {\n"
-  "    x: 0.0\n"
-  "    y: 0.0\n"
-  "    z: 0.0\n"
-  "    w: 1.0\n"
-  "  }\n"
   "}\n"
   "embedded_components {\n"
   "  id: \"speech\"\n"
@@ -43,38 +23,18 @@ embedded_instances {
   "  data: \"size {\\n"
   "  x: 128.0\\n"
   "  y: 32.0\\n"
-  "  z: 0.0\\n"
-  "  w: 0.0\\n"
-  "}\\n"
-  "scale {\\n"
-  "  x: 0.5\\n"
-  "  y: 0.5\\n"
-  "  z: 1.0\\n"
-  "  w: 0.0\\n"
   "}\\n"
   "color {\\n"
   "  x: 0.0\\n"
   "  y: 0.5647059\\n"
   "  z: 0.99215686\\n"
-  "  w: 1.0\\n"
   "}\\n"
   "outline {\\n"
   "  x: 1.0\\n"
   "  y: 1.0\\n"
   "  z: 1.0\\n"
-  "  w: 1.0\\n"
-  "}\\n"
-  "shadow {\\n"
-  "  x: 0.0\\n"
-  "  y: 0.0\\n"
-  "  z: 0.0\\n"
-  "  w: 1.0\\n"
   "}\\n"
-  "leading: 1.0\\n"
-  "tracking: 0.0\\n"
   "pivot: PIVOT_W\\n"
-  "blend_mode: BLEND_MODE_ALPHA\\n"
-  "line_break: false\\n"
   "text: \\\"...\\\"\\n"
   "font: \\\"/assets/text48.font\\\"\\n"
   "material: \\\"/builtins/fonts/label.material\\\"\\n"
@@ -82,69 +42,34 @@ embedded_instances {
   "  position {\n"
   "    x: 54.068\n"
   "    y: 61.483\n"
-  "    z: 0.0\n"
   "  }\n"
-  "  rotation {\n"
-  "    x: 0.0\n"
-  "    y: 0.0\n"
-  "    z: 0.0\n"
-  "    w: 1.0\n"
+  "  scale {\n"
+  "    x: 0.5\n"
+  "    y: 0.5\n"
   "  }\n"
   "}\n"
   ""
   position {
     x: 543.188
     y: 210.168
-    z: 0.0
-  }
-  rotation {
-    x: 0.0
-    y: 0.0
-    z: 0.0
-    w: 1.0
-  }
-  scale3 {
-    x: 1.0
-    y: 1.0
-    z: 1.0
   }
 }
 embedded_instances {
-  id: "bunny 2"
+  id: "spaceship2"
   data: "components {\n"
   "  id: \"script\"\n"
-  "  component: \"/example/bunny2.script\"\n"
-  "  position {\n"
-  "    x: 0.0\n"
-  "    y: 0.0\n"
-  "    z: 0.0\n"
-  "  }\n"
-  "  rotation {\n"
-  "    x: 0.0\n"
-  "    y: 0.0\n"
-  "    z: 0.0\n"
-  "    w: 1.0\n"
-  "  }\n"
+  "  component: \"/example/spaceship2.script\"\n"
   "}\n"
   "embedded_components {\n"
   "  id: \"sprite\"\n"
   "  type: \"sprite\"\n"
-  "  data: \"tile_set: \\\"/assets/sprites.atlas\\\"\\n"
-  "default_animation: \\\"bunny2_ready\\\"\\n"
+  "  data: \"default_animation: \\\"shipPink_manned\\\"\\n"
   "material: \\\"/builtins/materials/sprite.material\\\"\\n"
-  "blend_mode: BLEND_MODE_ALPHA\\n"
+  "textures {\\n"
+  "  sampler: \\\"texture_sampler\\\"\\n"
+  "  texture: \\\"/assets/sprites.atlas\\\"\\n"
+  "}\\n"
   "\"\n"
-  "  position {\n"
-  "    x: 0.0\n"
-  "    y: 0.0\n"
-  "    z: 0.0\n"
-  "  }\n"
-  "  rotation {\n"
-  "    x: 0.0\n"
-  "    y: 0.0\n"
-  "    z: 0.0\n"
-  "    w: 1.0\n"
-  "  }\n"
   "}\n"
   "embedded_components {\n"
   "  id: \"speech\"\n"
@@ -152,38 +77,18 @@ embedded_instances {
   "  data: \"size {\\n"
   "  x: 128.0\\n"
   "  y: 32.0\\n"
-  "  z: 0.0\\n"
-  "  w: 0.0\\n"
-  "}\\n"
-  "scale {\\n"
-  "  x: 0.5\\n"
-  "  y: 0.5\\n"
-  "  z: 1.0\\n"
-  "  w: 0.0\\n"
   "}\\n"
   "color {\\n"
   "  x: 0.0\\n"
   "  y: 0.5647059\\n"
   "  z: 0.99215686\\n"
-  "  w: 1.0\\n"
   "}\\n"
   "outline {\\n"
   "  x: 1.0\\n"
   "  y: 1.0\\n"
   "  z: 1.0\\n"
-  "  w: 1.0\\n"
-  "}\\n"
-  "shadow {\\n"
-  "  x: 0.0\\n"
-  "  y: 0.0\\n"
-  "  z: 0.0\\n"
-  "  w: 1.0\\n"
   "}\\n"
-  "leading: 1.0\\n"
-  "tracking: 0.0\\n"
   "pivot: PIVOT_W\\n"
-  "blend_mode: BLEND_MODE_ALPHA\\n"
-  "line_break: false\\n"
   "text: \\\"Click and I will follow...\\\"\\n"
   "font: \\\"/assets/text48.font\\\"\\n"
   "material: \\\"/builtins/fonts/label.material\\\"\\n"
@@ -191,30 +96,15 @@ embedded_instances {
   "  position {\n"
   "    x: 46.972\n"
   "    y: 66.551\n"
-  "    z: 0.0\n"
   "  }\n"
-  "  rotation {\n"
-  "    x: 0.0\n"
-  "    y: 0.0\n"
-  "    z: 0.0\n"
-  "    w: 1.0\n"
+  "  scale {\n"
+  "    x: 0.5\n"
+  "    y: 0.5\n"
   "  }\n"
   "}\n"
   ""
   position {
     x: 245.774
     y: 532.971
-    z: 0.0
-  }
-  rotation {
-    x: 0.0
-    y: 0.0
-    z: 0.0
-    w: 1.0
-  }
-  scale3 {
-    x: 1.0
-    y: 1.0
-    z: 1.0
   }
 }

二进制
basics/message_passing/example/message_passing.png


+ 2 - 2
basics/message_passing/example/bunny1.script → basics/message_passing/example/spaceship1.script

@@ -1,6 +1,6 @@
 local function landed(self) -- <2>
 	label.set_text("#speech", "I'm there!")
-	msg.post("bunny 2#script", "i'm there")
+	msg.post("spaceship2#script", "i'm there")
 end
 
 function on_message(self, message_id, message, sender)
@@ -14,5 +14,5 @@ end
 1. If someone sends us a "go to" message, set the speech label text and animate to the position supplied
    in the message data. At the end of animation, call the function `landed()`
 2. This function is called when the position animation is completed. It sets the speech label text and then
-   sends a message called "i'm there" to the component "script" in the "bunny 2" game object.
+   sends a message called "i'm there" to the component "script" in the "spaceship2" game object.
 --]]

+ 4 - 4
basics/message_passing/example/bunny2.script → basics/message_passing/example/spaceship2.script

@@ -10,7 +10,7 @@ local function landed(self) -- <6>
 	local opposite = vmath.vector3()
 	opposite.x = 720 - pos.x
 	opposite.y = 720 - pos.y
-	msg.post("bunny 1#script", "go to", { position = opposite })
+	msg.post("spaceship1#script", "go to", { position = opposite })
 end
 
 function on_message(self, message_id, message, sender)
@@ -32,8 +32,8 @@ end
 
 --[[
 1. Tell the engine that we want to receive input.
-2. Store a flag in the current script component instance that tells us if the bunny is moving or not.
-3. If user clicked and the bunny is not moving.
+2. Store a flag in the current script component instance that tells us if the spaceship is moving or not.
+3. If user clicked and the spaceship is not moving.
 4. Send a message to this script component ("#" is shorthand for that) saying "go to" and the clicked position
    as part of the message data.
 5. If a "go to" message is received, set the speech label text and then animate the position of the current 
@@ -41,6 +41,6 @@ end
    done the function `landed()` is called.
 6. When `landed()` is called on animation complete, set the label text, then calculate a position on the
    opposite of the screen and send a message called "go to" to the component "script" in the game object
-   "bunny 1". Supplied with the message is the opposite position as message data.
+   "spaceship11". Supplied with the message is the opposite position as message data.
 7. If someone sends us a message called "i'm there" we react by just changing the speech label text.   
 --]]