joybox 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. data/.travis.yml +3 -0
  2. data/Gemfile +2 -2
  3. data/Gemfile.lock +4 -4
  4. data/README.md +66 -22
  5. data/Rakefile +22 -4
  6. data/app/ios/app_delegate.rb +48 -0
  7. data/app/osx/app_delegate.rb +26 -0
  8. data/app/osx/layers/game_layer.rb +5 -0
  9. data/app/osx/menu.rb +51 -0
  10. data/command/command/image.rb +26 -0
  11. data/command/command/string.rb +15 -0
  12. data/command/command/template.rb +59 -0
  13. data/command/command/tmx.rb +75 -0
  14. data/command/joybox_generate_command.rb +64 -110
  15. data/command/joybox_retina_command.rb +87 -0
  16. data/command/{joybox/templates → templates}/layer.erb +0 -0
  17. data/command/{joybox/templates → templates}/layer_spec.erb +0 -0
  18. data/command/{joybox/templates → templates}/scene.erb +0 -0
  19. data/command/{joybox/templates → templates}/scene_spec.erb +0 -0
  20. data/command/{joybox/templates → templates}/sprite.erb +0 -0
  21. data/command/{joybox/templates → templates}/sprite_spec.erb +0 -0
  22. data/ext/extconf.rb +34 -0
  23. data/joybox.gemspec +103 -50
  24. data/lib/joybox.rb +2 -0
  25. data/lib/joybox/joybox-ios.rb +18 -3
  26. data/lib/joybox/joybox-osx.rb +18 -2
  27. data/lib/joybox/version.rb +1 -1
  28. data/motion/joybox-ios/common/cg_point.rb +46 -16
  29. data/motion/joybox-ios/common/device.rb +56 -0
  30. data/motion/joybox-ios/common/ui_touch.rb +0 -2
  31. data/motion/joybox-ios/configuration/configuration.rb +10 -40
  32. data/motion/joybox-ios/configuration/file_utils.rb +0 -4
  33. data/motion/joybox-ios/configuration/gl_view.rb +14 -20
  34. data/motion/joybox-ios/configuration/texture_2d.rb +0 -4
  35. data/motion/joybox-ios/core/layer.rb +2 -8
  36. data/motion/joybox-ios/debug/proxy_view.rb +5 -5
  37. data/motion/joybox-ios/debug/{node.rb → repl.rb} +25 -19
  38. data/motion/joybox-ios/director.rb +15 -4
  39. data/motion/joybox-osx/common/ats_point.rb +45 -15
  40. data/motion/joybox-osx/common/device.rb +30 -0
  41. data/motion/joybox-osx/common/ns_event.rb +0 -1
  42. data/motion/joybox-osx/configuration/configuration.rb +6 -26
  43. data/motion/joybox-osx/configuration/gl_view.rb +16 -14
  44. data/motion/joybox-osx/core/layer.rb +45 -26
  45. data/motion/joybox-osx/debug/proxy_view.rb +5 -5
  46. data/motion/joybox-osx/debug/{node.rb → repl.rb} +13 -7
  47. data/motion/joybox-osx/director.rb +4 -3
  48. data/motion/joybox/actions/animate.rb +0 -1
  49. data/motion/joybox/actions/bezier.rb +2 -9
  50. data/motion/joybox/actions/blink.rb +1 -4
  51. data/motion/joybox/actions/callback.rb +19 -0
  52. data/motion/joybox/actions/d3/flip.rb +27 -0
  53. data/motion/joybox/actions/d3/jump.rb +30 -0
  54. data/motion/joybox/actions/d3/lens.rb +30 -0
  55. data/motion/joybox/actions/d3/shake.rb +32 -0
  56. data/motion/joybox/actions/d3/shatter.rb +30 -0
  57. data/motion/joybox/actions/d3/wave.rb +33 -0
  58. data/motion/joybox/actions/delay.rb +19 -0
  59. data/motion/joybox/actions/ease.rb +3 -21
  60. data/motion/joybox/actions/fade.rb +30 -6
  61. data/motion/joybox/actions/jump.rb +0 -5
  62. data/motion/joybox/actions/liquid.rb +28 -0
  63. data/motion/joybox/actions/move.rb +2 -9
  64. data/motion/joybox/actions/place.rb +0 -2
  65. data/motion/joybox/actions/repeat.rb +0 -2
  66. data/motion/joybox/actions/rotate.rb +2 -9
  67. data/motion/joybox/actions/scale.rb +2 -9
  68. data/motion/joybox/actions/sequence.rb +0 -1
  69. data/motion/joybox/actions/shuffle.rb +26 -0
  70. data/motion/joybox/actions/skew.rb +2 -11
  71. data/motion/joybox/actions/spawn.rb +0 -1
  72. data/motion/joybox/actions/split.rb +24 -0
  73. data/motion/joybox/actions/tint.rb +0 -5
  74. data/motion/joybox/actions/turn.rb +24 -0
  75. data/motion/joybox/actions/twirl.rb +30 -0
  76. data/motion/joybox/actions/visibility.rb +21 -0
  77. data/motion/joybox/actions/wave.rb +32 -0
  78. data/motion/joybox/animations/animation.rb +7 -11
  79. data/motion/joybox/audio/audio.rb +31 -0
  80. data/motion/joybox/audio/audio_effect.rb +69 -0
  81. data/motion/joybox/audio/background_audio.rb +77 -0
  82. data/motion/joybox/common/{gc_size.rb → cg_size.rb} +13 -12
  83. data/motion/joybox/common/color.rb +4 -13
  84. data/motion/joybox/common/initialize.rb +11 -0
  85. data/motion/joybox/common/ns_array.rb +15 -0
  86. data/motion/joybox/common/ns_string.rb +7 -0
  87. data/motion/joybox/common/numeric.rb +13 -4
  88. data/motion/joybox/common/screen.rb +4 -12
  89. data/motion/joybox/configuration/debug.rb +29 -0
  90. data/motion/joybox/core/layer.rb +0 -24
  91. data/motion/joybox/core/layer_color.rb +47 -0
  92. data/motion/joybox/core/node.rb +18 -8
  93. data/motion/joybox/core/scene.rb +0 -5
  94. data/motion/joybox/core/sprite.rb +43 -25
  95. data/motion/joybox/core/sprite_batch.rb +15 -6
  96. data/motion/joybox/core/sprite_frame_cache.rb +9 -58
  97. data/motion/joybox/debug/physics.rb +40 -0
  98. data/motion/joybox/debug/physics_draw.rb +191 -0
  99. data/motion/joybox/joybox.rb +9 -1
  100. data/motion/joybox/macros.rb +13 -13
  101. data/motion/joybox/physics/aabb.rb +28 -0
  102. data/motion/joybox/physics/body.rb +163 -68
  103. data/motion/joybox/physics/chain_shape.rb +71 -0
  104. data/motion/joybox/physics/circle_shape.rb +31 -0
  105. data/motion/joybox/physics/edge_shape.rb +37 -0
  106. data/motion/joybox/physics/filter.rb +17 -0
  107. data/motion/joybox/physics/fixture.rb +52 -0
  108. data/motion/joybox/physics/mass_data.rb +19 -0
  109. data/motion/joybox/physics/physics_sprite.rb +50 -16
  110. data/motion/joybox/physics/polygon_shape.rb +54 -0
  111. data/motion/joybox/physics/profile.rb +14 -0
  112. data/motion/joybox/physics/ray_cast_input.rb +30 -0
  113. data/motion/joybox/physics/ray_cast_output.rb +17 -0
  114. data/motion/joybox/physics/shape.rb +61 -0
  115. data/motion/joybox/physics/transform.rb +17 -0
  116. data/motion/joybox/physics/world.rb +101 -30
  117. data/motion/joybox/tmx/object_layer.rb +12 -0
  118. data/motion/joybox/tmx/tile_layer.rb +74 -0
  119. data/motion/joybox/tmx/tile_map.rb +112 -0
  120. data/motion/joybox/tmx/tile_set.rb +26 -0
  121. data/motion/joybox/tmx/tmx.rb +16 -0
  122. data/motion/joybox/ui/label.rb +44 -16
  123. data/motion/joybox/ui/menu.rb +7 -9
  124. data/motion/joybox/ui/menu_image.rb +11 -8
  125. data/motion/joybox/ui/menu_label.rb +14 -13
  126. data/resources/Default-568h@2x.png +0 -0
  127. data/resources/animation_frames-hd.plist +126 -0
  128. data/resources/animation_frames-ipadhd.plist +126 -0
  129. data/resources/animation_frames.plist +126 -0
  130. data/resources/animation_sprite_sheet-hd.png +0 -0
  131. data/resources/animation_sprite_sheet-ipadhd.png +0 -0
  132. data/resources/animation_sprite_sheet.png +0 -0
  133. data/resources/fps_images-hd.png +0 -0
  134. data/resources/fps_images-ipadhd.png +0 -0
  135. data/resources/fps_images.png +0 -0
  136. data/resources/sprite.png +0 -0
  137. data/resources/sprite_inverted.png +0 -0
  138. data/resources/sprite_sheet.png +0 -0
  139. data/spec/motion/joybox-ios/common/screen_spec.rb +21 -0
  140. data/spec/{main_spec.rb → motion/joybox-ios/main_spec.rb} +6 -2
  141. data/spec/motion/joybox-ios/ui/label_spec.rb +20 -0
  142. data/spec/motion/joybox-ios/ui/menu_label_spec.rb +15 -0
  143. data/spec/motion/joybox-ios/ui/menu_spec.rb +87 -0
  144. data/spec/motion/joybox-osx/common/screen_spec.rb +21 -0
  145. data/spec/motion/joybox-osx/main_spec.rb +13 -0
  146. data/spec/motion/joybox-osx/ui/label_spec.rb +18 -0
  147. data/spec/motion/joybox-osx/ui/menu_label_spec.rb +13 -0
  148. data/spec/motion/joybox-osx/ui/menu_spec.rb +87 -0
  149. data/spec/motion/joybox/actions/actions_spec.rb +11 -0
  150. data/spec/motion/joybox/actions/bezier_spec.rb +37 -0
  151. data/spec/motion/joybox/actions/blink_spec.rb +16 -0
  152. data/spec/motion/joybox/actions/fade_spec.rb +49 -0
  153. data/spec/motion/joybox/actions/jump_spec.rb +37 -0
  154. data/spec/motion/joybox/actions/move_spec.rb +37 -0
  155. data/spec/motion/joybox/actions/place_spec.rb +12 -0
  156. data/spec/motion/joybox/actions/rotate_spec.rb +35 -0
  157. data/spec/motion/joybox/actions/scale_spec.rb +43 -0
  158. data/spec/motion/joybox/actions/skew_spec.rb +43 -0
  159. data/spec/motion/joybox/common/cg_size_spec.rb +29 -0
  160. data/spec/motion/joybox/common/color_spec.rb +31 -0
  161. data/spec/motion/joybox/common/ns_string_spec.rb +8 -0
  162. data/spec/motion/joybox/common/numeric_spec.rb +13 -0
  163. data/spec/motion/joybox/core/node_spec.rb +36 -0
  164. data/spec/motion/joybox/core/sprite_batch_spec.rb +34 -0
  165. data/spec/motion/joybox/core/sprite_frame_cache_spec.rb +111 -0
  166. data/spec/motion/joybox/core/sprite_spec.rb +121 -0
  167. data/spec/motion/joybox/macros_spec.rb +280 -0
  168. data/spec/motion/joybox/physics/aabb_spec.rb +17 -0
  169. data/spec/motion/joybox/physics/body_spec.rb +318 -0
  170. data/spec/motion/joybox/physics/chain_shape_spec.rb +80 -0
  171. data/spec/motion/joybox/physics/circle_shape_spec.rb +63 -0
  172. data/spec/motion/joybox/physics/edge_shape_spec.rb +48 -0
  173. data/spec/motion/joybox/physics/fixture_spec.rb +106 -0
  174. data/spec/motion/joybox/physics/mass_data_spec.rb +13 -0
  175. data/spec/motion/joybox/physics/physics_sprite_spec.rb +50 -0
  176. data/spec/motion/joybox/physics/polygon_shape_spec.rb +92 -0
  177. data/spec/motion/joybox/physics/ray_cast_input_spec.rb +17 -0
  178. data/spec/motion/joybox/physics/ray_cast_output_spec.rb +13 -0
  179. data/spec/motion/joybox/physics/shape_spec.rb +50 -0
  180. data/spec/motion/joybox/physics/transform_spec.rb +13 -0
  181. data/spec/motion/joybox/physics/world_spec.rb +228 -0
  182. data/spec/motion/joybox/ui/label_spec.rb +53 -0
  183. data/spec/motion/joybox/ui/menu_image_spec.rb +51 -0
  184. data/spec/motion/joybox/ui/menu_label_spec.rb +68 -0
  185. data/spec/motion/joybox/ui/menu_spec.rb +26 -0
  186. data/spec/spec_helpers/cg_point.rb +5 -0
  187. data/spec/spec_helpers/cg_point_spec.rb +14 -0
  188. data/template/joybox-ios-example-repl/files/.gitignore +16 -0
  189. data/template/joybox-ios/files/.gitignore +16 -0
  190. data/template/joybox-osx-example-repl/files/.gitignore +16 -0
  191. data/template/joybox-osx/files/.gitignore +16 -0
  192. data/vendor/vendor-ios/box_2d/box_2d.bridgesupport +1201 -85
  193. data/vendor/vendor-ios/box_2d/box_2d_include/B2DAABB.h +21 -0
  194. data/vendor/vendor-ios/box_2d/box_2d_include/B2DBody.h +58 -13
  195. data/vendor/vendor-ios/box_2d/box_2d_include/B2DBodyDef.h +44 -0
  196. data/vendor/vendor-ios/box_2d/box_2d_include/B2DBodyTypes.h +20 -0
  197. data/vendor/vendor-ios/box_2d/box_2d_include/B2DChainShape.h +29 -0
  198. data/vendor/vendor-ios/box_2d/box_2d_include/B2DCircleShape.h +7 -0
  199. data/vendor/vendor-ios/box_2d/box_2d_include/B2DColor.h +23 -0
  200. data/vendor/vendor-ios/box_2d/box_2d_include/B2DContactFilter.h +24 -0
  201. data/vendor/vendor-ios/box_2d/box_2d_include/B2DContactListener.h +1 -1
  202. data/vendor/vendor-ios/box_2d/box_2d_include/B2DDestructionListener.h +24 -0
  203. data/vendor/vendor-ios/box_2d/box_2d_include/B2DDraw.h +54 -0
  204. data/vendor/vendor-ios/box_2d/box_2d_include/B2DEdgeShape.h +13 -2
  205. data/vendor/vendor-ios/box_2d/box_2d_include/B2DFilter.h +23 -0
  206. data/vendor/vendor-ios/box_2d/box_2d_include/B2DFixture.h +47 -0
  207. data/vendor/vendor-ios/box_2d/box_2d_include/B2DFixtureDef.h +29 -0
  208. data/vendor/vendor-ios/box_2d/box_2d_include/B2DMassData.h +23 -0
  209. data/vendor/vendor-ios/box_2d/box_2d_include/B2DPolygonShape.h +14 -1
  210. data/vendor/vendor-ios/box_2d/box_2d_include/B2DProfile.h +31 -0
  211. data/vendor/vendor-ios/box_2d/box_2d_include/B2DQueryCallback.h +24 -0
  212. data/vendor/vendor-ios/box_2d/box_2d_include/B2DRayCastCallback.h +24 -0
  213. data/vendor/vendor-ios/box_2d/box_2d_include/B2DRayCastInput.h +23 -0
  214. data/vendor/vendor-ios/box_2d/box_2d_include/B2DRayCastOutput.h +21 -0
  215. data/vendor/vendor-ios/box_2d/box_2d_include/B2DShape.h +23 -3
  216. data/vendor/vendor-ios/box_2d/box_2d_include/B2DShapeTypes.h +22 -0
  217. data/vendor/vendor-ios/box_2d/box_2d_include/B2DTransform.h +21 -0
  218. data/vendor/vendor-ios/box_2d/box_2d_include/B2DWorld.h +40 -19
  219. data/vendor/vendor-ios/box_2d/libBox2D.a +0 -0
  220. data/vendor/vendor-ios/cocos_2d/cocos_2d.bridgesupport +808 -1578
  221. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCActionEase.h +47 -0
  222. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCFontDefinition.h +85 -0
  223. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCLabelTTF.h +54 -6
  224. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCMenuItem.h +1 -0
  225. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCTMXLayer.h +2 -2
  226. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCTexture2D.h +4 -0
  227. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/ccTypes.h +51 -1
  228. data/vendor/vendor-ios/cocos_2d/libcocos2d.a +0 -0
  229. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader.bridgesupport +510 -0
  230. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBAnimationManager.h +149 -0
  231. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBKeyframe.h +40 -0
  232. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBReader.h +176 -0
  233. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBSequence.h +49 -0
  234. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBSequenceProperty.h +38 -0
  235. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCNode+CCBRelativePositioning.h +65 -0
  236. data/vendor/vendor-ios/cocos_builder_reader/libCocosBuilderReader.a +0 -0
  237. data/vendor/vendor-ios/cocos_denshion/cocos_denshion.bridgesupport +1001 -0
  238. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDAudioManager.h +243 -0
  239. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDConfig.h +60 -0
  240. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDOpenALSupport.h +77 -0
  241. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDXMacOSXSupport.h +232 -0
  242. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDXPropertyModifierAction.h +45 -0
  243. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CocosDenshion.h +440 -0
  244. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/SimpleAudioEngine.h +90 -0
  245. data/vendor/vendor-ios/cocos_denshion/libCocosDenshion.a +0 -0
  246. data/vendor/vendor-ios/kazmath/kazmath.bridgesupport +865 -0
  247. data/vendor/vendor-ios/kazmath/kazmath_include/GL/mat4stack.h +51 -0
  248. data/vendor/vendor-ios/kazmath/kazmath_include/GL/matrix.h +58 -0
  249. data/vendor/vendor-ios/kazmath/kazmath_include/aabb.h +53 -0
  250. data/vendor/vendor-ios/kazmath/kazmath_include/kazmath.h +39 -0
  251. data/vendor/vendor-ios/kazmath/kazmath_include/mat3.h +75 -0
  252. data/vendor/vendor-ios/kazmath/kazmath_include/mat4.h +93 -0
  253. data/vendor/vendor-ios/kazmath/kazmath_include/neon_matrix_impl.h +41 -0
  254. data/vendor/vendor-ios/kazmath/kazmath_include/plane.h +70 -0
  255. data/vendor/vendor-ios/kazmath/kazmath_include/quaternion.h +113 -0
  256. data/vendor/vendor-ios/kazmath/kazmath_include/ray2.h +50 -0
  257. data/vendor/vendor-ios/kazmath/kazmath_include/utility.h +74 -0
  258. data/vendor/vendor-ios/kazmath/kazmath_include/vec2.h +64 -0
  259. data/vendor/vendor-ios/kazmath/kazmath_include/vec3.h +68 -0
  260. data/vendor/vendor-ios/kazmath/kazmath_include/vec4.h +68 -0
  261. data/vendor/vendor-ios/kazmath/libkazmath.a +0 -0
  262. data/vendor/vendor-osx/box_2d/box_2d.bridgesupport +1199 -83
  263. data/vendor/vendor-osx/box_2d/box_2d_include/B2DAABB.h +21 -0
  264. data/vendor/vendor-osx/box_2d/box_2d_include/B2DBody.h +58 -13
  265. data/vendor/vendor-osx/box_2d/box_2d_include/B2DBodyDef.h +44 -0
  266. data/vendor/vendor-osx/box_2d/box_2d_include/B2DBodyTypes.h +20 -0
  267. data/vendor/vendor-osx/box_2d/box_2d_include/B2DChainShape.h +29 -0
  268. data/vendor/vendor-osx/box_2d/box_2d_include/B2DCircleShape.h +7 -0
  269. data/vendor/vendor-osx/box_2d/box_2d_include/B2DColor.h +23 -0
  270. data/vendor/vendor-osx/box_2d/box_2d_include/B2DContactFilter.h +24 -0
  271. data/vendor/vendor-osx/box_2d/box_2d_include/B2DContactListener.h +1 -1
  272. data/vendor/vendor-osx/box_2d/box_2d_include/B2DDestructionListener.h +24 -0
  273. data/vendor/vendor-osx/box_2d/box_2d_include/B2DDraw.h +54 -0
  274. data/vendor/vendor-osx/box_2d/box_2d_include/B2DEdgeShape.h +13 -2
  275. data/vendor/vendor-osx/box_2d/box_2d_include/B2DFilter.h +23 -0
  276. data/vendor/vendor-osx/box_2d/box_2d_include/B2DFixture.h +47 -0
  277. data/vendor/vendor-osx/box_2d/box_2d_include/B2DFixtureDef.h +29 -0
  278. data/vendor/vendor-osx/box_2d/box_2d_include/B2DMassData.h +23 -0
  279. data/vendor/vendor-osx/box_2d/box_2d_include/B2DPolygonShape.h +14 -1
  280. data/vendor/vendor-osx/box_2d/box_2d_include/B2DProfile.h +31 -0
  281. data/vendor/vendor-osx/box_2d/box_2d_include/B2DQueryCallback.h +24 -0
  282. data/vendor/vendor-osx/box_2d/box_2d_include/B2DRayCastCallback.h +24 -0
  283. data/vendor/vendor-osx/box_2d/box_2d_include/B2DRayCastInput.h +23 -0
  284. data/vendor/vendor-osx/box_2d/box_2d_include/B2DRayCastOutput.h +21 -0
  285. data/vendor/vendor-osx/box_2d/box_2d_include/B2DShape.h +23 -3
  286. data/vendor/vendor-osx/box_2d/box_2d_include/B2DShapeTypes.h +22 -0
  287. data/vendor/vendor-osx/box_2d/box_2d_include/B2DTransform.h +21 -0
  288. data/vendor/vendor-osx/box_2d/box_2d_include/B2DWorld.h +40 -19
  289. data/vendor/vendor-osx/box_2d/libBox2D.a +0 -0
  290. data/vendor/vendor-osx/cocos_2d/cocos_2d.bridgesupport +2820 -2633
  291. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionEase.h +47 -0
  292. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCFontDefinition.h +85 -0
  293. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelTTF.h +54 -6
  294. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMenuItem.h +1 -0
  295. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXLayer.h +2 -2
  296. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTexture2D.h +4 -0
  297. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCDirectorIOS.h +111 -0
  298. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCES2Renderer.h +83 -0
  299. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCESRenderer.h +54 -0
  300. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCGLView.h +175 -0
  301. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCTouchDelegateProtocol.h +75 -0
  302. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCTouchDispatcher.h +120 -0
  303. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCTouchHandler.h +93 -0
  304. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccTypes.h +65 -1
  305. data/vendor/vendor-osx/cocos_2d/libcocos2d.a +0 -0
  306. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader.bridgesupport +510 -0
  307. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBAnimationManager.h +149 -0
  308. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBKeyframe.h +40 -0
  309. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBReader.h +176 -0
  310. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBSequence.h +49 -0
  311. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBSequenceProperty.h +38 -0
  312. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCNode+CCBRelativePositioning.h +65 -0
  313. data/vendor/vendor-osx/cocos_builder_reader/libCocosBuilderReader.a +0 -0
  314. data/vendor/vendor-osx/cocos_denshion/cocos_denshion.bridgesupport +1001 -0
  315. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDAudioManager.h +243 -0
  316. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDConfig.h +60 -0
  317. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDOpenALSupport.h +77 -0
  318. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDXMacOSXSupport.h +232 -0
  319. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDXPropertyModifierAction.h +45 -0
  320. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CocosDenshion.h +440 -0
  321. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/SimpleAudioEngine.h +90 -0
  322. data/vendor/vendor-osx/cocos_denshion/libCocosDenshion.a +0 -0
  323. data/vendor/vendor-osx/kazmath/kazmath.bridgesupport +865 -0
  324. data/vendor/vendor-osx/kazmath/kazmath_include/GL/mat4stack.h +51 -0
  325. data/vendor/vendor-osx/kazmath/kazmath_include/GL/matrix.h +58 -0
  326. data/vendor/vendor-osx/kazmath/kazmath_include/aabb.h +53 -0
  327. data/vendor/vendor-osx/kazmath/kazmath_include/kazmath.h +39 -0
  328. data/vendor/vendor-osx/kazmath/kazmath_include/mat3.h +75 -0
  329. data/vendor/vendor-osx/kazmath/kazmath_include/mat4.h +93 -0
  330. data/vendor/vendor-osx/kazmath/kazmath_include/neon_matrix_impl.h +41 -0
  331. data/vendor/vendor-osx/kazmath/kazmath_include/plane.h +70 -0
  332. data/vendor/vendor-osx/kazmath/kazmath_include/quaternion.h +113 -0
  333. data/vendor/vendor-osx/kazmath/kazmath_include/ray2.h +50 -0
  334. data/vendor/vendor-osx/kazmath/kazmath_include/utility.h +74 -0
  335. data/vendor/vendor-osx/kazmath/kazmath_include/vec2.h +64 -0
  336. data/vendor/vendor-osx/kazmath/kazmath_include/vec3.h +68 -0
  337. data/vendor/vendor-osx/kazmath/kazmath_include/vec4.h +68 -0
  338. data/vendor/vendor-osx/kazmath/libkazmath.a +0 -0
  339. metadata +353 -57
  340. checksums.yaml +0 -15
  341. data/bin/joybox +0 -49
  342. data/command/joybox/USAGE +0 -24
  343. data/motion/joybox-ios/configuration/debug.rb +0 -27
  344. data/motion/joybox-ios/debug/debug.rb +0 -10
  345. data/motion/joybox-osx/configuration/debug.rb +0 -27
  346. data/motion/joybox-osx/configuration/sprite_view.rb +0 -91
  347. data/motion/joybox-osx/debug/debug.rb +0 -10
  348. data/motion/joybox/core/ns_object.rb +0 -8
  349. data/spec/lib/joybox/cocos2d/cocos2d_spec.rb +0 -7
  350. data/spec/lib/joybox/cocos2d/macros_spec.rb +0 -37
  351. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/cocos2d-ios-exceptions.bridgesupport +0 -39
  352. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/gen_cocos2d_bridgesupport.sh +0 -17
  353. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/gen_cocos2d_complement.sh +0 -17
Binary file
Binary file
@@ -0,0 +1,21 @@
1
+ describe Joybox::Core::Screen do
2
+ before do
3
+ @window = UIApplication.sharedApplication.windows[0]
4
+ end
5
+
6
+ it "should return the width of the screen" do
7
+ Screen.width.should == @window.bounds.size.height
8
+ end
9
+
10
+ it "should return the half of the screen width" do
11
+ Screen.half_width.should == @window.bounds.size.height / 2
12
+ end
13
+
14
+ it "should return the height of the screen" do
15
+ Screen.height.should == @window.bounds.size.width
16
+ end
17
+
18
+ it "should return the half of the screen height" do
19
+ Screen.half_height.should == @window.bounds.size.width / 2
20
+ end
21
+ end
@@ -1,4 +1,4 @@
1
- describe "Application 'JoyBox'" do
1
+ describe "Application 'Joybox'" do
2
2
  before do
3
3
  @app = UIApplication.sharedApplication
4
4
  end
@@ -6,4 +6,8 @@ describe "Application 'JoyBox'" do
6
6
  it "has one window" do
7
7
  @app.windows.size.should == 1
8
8
  end
9
- end
9
+
10
+ it "has a director" do
11
+ @app.director.should.not == nil
12
+ end
13
+ end
@@ -0,0 +1,20 @@
1
+ describe Joybox::UI::Label do
2
+ behaves_like Joybox::UI::Label
3
+
4
+ describe "Initialization" do
5
+ it "should initialize with text" do
6
+ color = "#FFFFFF".to_color
7
+ label = Label.new text: 'Label',
8
+ position: [100, 100],
9
+ color: color
10
+
11
+ label.should.not == nil
12
+ label.text.should == 'Label'
13
+ label.position.should == CGPointMake(100, 100)
14
+ label.color.r.should == color.red
15
+ label.color.g.should == color.green
16
+ label.color.b.should == color.blue
17
+ end
18
+ end
19
+
20
+ end
@@ -0,0 +1,15 @@
1
+ describe Joybox::UI::MenuLabel do
2
+ behaves_like Joybox::UI::MenuLabel
3
+
4
+ describe "Initialization" do
5
+ it "should initialize with text & color" do
6
+ color = "#FFFFFF".to_color
7
+ menu_label = MenuLabel.new text: 'MenuLabel', color: color
8
+ menu_label.should.not == nil
9
+ menu_label.text.should == 'MenuLabel'
10
+ menu_label.color.r.should == color.red
11
+ menu_label.color.g.should == color.green
12
+ menu_label.color.b.should == color.blue
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,87 @@
1
+ describe Joybox::UI::Menu do
2
+ behaves_like Joybox::UI::Menu
3
+
4
+ it "should align items vertically" do
5
+ menu = Menu.new items: @items
6
+
7
+ @items[0].position.should == CGPointMake(0, 0)
8
+ @items[1].position.should == CGPointMake(0, 0)
9
+ @items[2].position.should == CGPointMake(0, 0)
10
+
11
+ menu.align_items_vertically
12
+
13
+ @items[0].position.should == CGPointMake(0, 40)
14
+ @items[1].position.should == CGPointMake(0, 0)
15
+ @items[2].position.should == CGPointMake(0, -40)
16
+ end
17
+
18
+ it "should align items vertically with padding" do
19
+ menu = Menu.new items: @items
20
+
21
+ @items[0].position.should == CGPointMake(0, 0)
22
+ @items[1].position.should == CGPointMake(0, 0)
23
+ @items[2].position.should == CGPointMake(0, 0)
24
+
25
+ menu.align_items_vertically_width_padding(100)
26
+
27
+ @items[0].position.should == CGPointMake(0, 135)
28
+ @items[1].position.should == CGPointMake(0, 0)
29
+ @items[2].position.should == CGPointMake(0, -135)
30
+ end
31
+
32
+ it "should align items horizontally" do
33
+ menu = Menu.new items: @items
34
+
35
+ @items[0].position.should == CGPointMake(0, 0)
36
+ @items[1].position.should == CGPointMake(0, 0)
37
+ @items[2].position.should == CGPointMake(0, 0)
38
+
39
+ menu.align_items_horizontally
40
+
41
+ @items[0].position.should == CGPointMake(-86.0, 0)
42
+ @items[1].position.should == CGPointMake(-9.0, 0)
43
+ @items[2].position.should == CGPointMake(77, 0)
44
+ end
45
+
46
+ it "should align items horizontally with padding" do
47
+ menu = Menu.new items: @items
48
+
49
+ @items[0].position.should == CGPointMake(0, 0)
50
+ @items[1].position.should == CGPointMake(0, 0)
51
+ @items[2].position.should == CGPointMake(0, 0)
52
+
53
+ menu.align_items_horizontally_with_padding(100)
54
+
55
+ @items[0].position.should == CGPointMake(-181.0, 0)
56
+ @items[1].position.should == CGPointMake(-9.0, 0)
57
+ @items[2].position.should == CGPointMake(172, 0)
58
+ end
59
+
60
+ it "should align items in columns" do
61
+ menu = Menu.new items: @items
62
+
63
+ @items[0].position.should == CGPointMake(0, 0)
64
+ @items[1].position.should == CGPointMake(0, 0)
65
+ @items[2].position.should == CGPointMake(0, 0)
66
+
67
+ menu.align_items_in_columns [2, 1]
68
+
69
+ @items[0].position.should == CGPointMake(-80.0, 19.5)
70
+ @items[1].position.should == CGPointMake(80.0, 19.5)
71
+ @items[2].position.should == CGPointMake(0, -20.5)
72
+ end
73
+
74
+ it "should align items in rows" do
75
+ menu = Menu.new items: @items
76
+
77
+ @items[0].position.should == CGPointMake(0, 0)
78
+ @items[1].position.should == CGPointMake(0, 0)
79
+ @items[2].position.should == CGPointMake(0, 0)
80
+
81
+ menu.align_items_in_rows [2, 1]
82
+
83
+ @items[0].position.should == CGPointMake(-46.0, 37.5)
84
+ @items[1].position.should == CGPointMake(-46.0, -7.5)
85
+ @items[2].position.should == CGPointMake(40, 17.5)
86
+ end
87
+ end
@@ -0,0 +1,21 @@
1
+ describe Joybox::Core::Screen do
2
+ before do
3
+ @window = NSApplication.sharedApplication.windows[0]
4
+ end
5
+
6
+ it "should return the width of the screen" do
7
+ Screen.width.should == @window.contentView.bounds.size.width
8
+ end
9
+
10
+ it "should return the half of the screen width" do
11
+ Screen.half_width.should == @window.contentView.bounds.size.width / 2
12
+ end
13
+
14
+ it "should return the height of the screen" do
15
+ Screen.height.should == @window.contentView.bounds.size.height
16
+ end
17
+
18
+ it "should return the half of the screen height" do
19
+ Screen.half_height.should == @window.contentView.bounds.size.height / 2
20
+ end
21
+ end
@@ -0,0 +1,13 @@
1
+ describe "Application 'Joybox'" do
2
+ before do
3
+ @app = NSApplication.sharedApplication
4
+ end
5
+
6
+ it "has one window" do
7
+ @app.windows.size.should == 1
8
+ end
9
+
10
+ it "has a director" do
11
+ @app.director.should.not == nil
12
+ end
13
+ end
@@ -0,0 +1,18 @@
1
+ describe Joybox::UI::Label do
2
+ behaves_like Joybox::UI::Label
3
+
4
+ describe "Initialization" do
5
+ it "should initialize with text" do
6
+ color = "#FFFFFF".to_color
7
+ label = Label.new text: 'Label',
8
+ position: [100, 100],
9
+ color: color
10
+
11
+ label.should.not == nil
12
+ label.text.should == 'Label'
13
+ label.position.should == CGPointMake(100, 100)
14
+ label.color.should.not == nil
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,13 @@
1
+ describe Joybox::UI::MenuLabel do
2
+ behaves_like Joybox::UI::MenuLabel
3
+
4
+ describe "Initialization" do
5
+ it "should initialize with text & color" do
6
+ color = "#FFFFFF".to_color
7
+ menu_label = MenuLabel.new text: 'MenuLabel', color: color
8
+ menu_label.should.not == nil
9
+ menu_label.text.should == 'MenuLabel'
10
+ menu_label.color.should.not == nil
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,87 @@
1
+ describe Joybox::UI::Menu do
2
+ behaves_like Joybox::UI::Menu
3
+
4
+ it "should align items vertically" do
5
+ menu = Menu.new items: @items
6
+
7
+ @items[0].position.should == CGPointMake(0, 0)
8
+ @items[1].position.should == CGPointMake(0, 0)
9
+ @items[2].position.should == CGPointMake(0, 0)
10
+
11
+ menu.align_items_vertically
12
+
13
+ @items[0].position.should == CGPointMake(0, 48)
14
+ @items[1].position.should == CGPointMake(0, 0)
15
+ @items[2].position.should == CGPointMake(0, -48)
16
+ end
17
+
18
+ it "should align items vertically with padding" do
19
+ menu = Menu.new items: @items
20
+
21
+ @items[0].position.should == CGPointMake(0, 0)
22
+ @items[1].position.should == CGPointMake(0, 0)
23
+ @items[2].position.should == CGPointMake(0, 0)
24
+
25
+ menu.align_items_vertically_width_padding(100)
26
+
27
+ @items[0].position.should == CGPointMake(0, 143)
28
+ @items[1].position.should == CGPointMake(0, 0)
29
+ @items[2].position.should == CGPointMake(0, -143)
30
+ end
31
+
32
+ it "should align items horizontally" do
33
+ menu = Menu.new items: @items
34
+
35
+ @items[0].position.should == CGPointMake(0, 0)
36
+ @items[1].position.should == CGPointMake(0, 0)
37
+ @items[2].position.should == CGPointMake(0, 0)
38
+
39
+ menu.align_items_horizontally
40
+
41
+ @items[0].position.should.be.close CGPointMake(-90.5, 0), 0.1
42
+ @items[1].position.should.be.close CGPointMake(-9.1, 0), 0.1
43
+ @items[2].position.should.be.close CGPointMake(81.4, 0), 0.1
44
+ end
45
+
46
+ it "should align items horizontally with padding" do
47
+ menu = Menu.new items: @items
48
+
49
+ @items[0].position.should == CGPointMake(0, 0)
50
+ @items[1].position.should == CGPointMake(0, 0)
51
+ @items[2].position.should == CGPointMake(0, 0)
52
+
53
+ menu.align_items_horizontally_with_padding(100)
54
+
55
+ @items[0].position.should.be.close CGPointMake(-185.5, 0), 0.1
56
+ @items[1].position.should.be.close CGPointMake(-9.1, 0), 0.1
57
+ @items[2].position.should.be.close CGPointMake(176.4, 0), 0.1
58
+ end
59
+
60
+ it "should align items in columns" do
61
+ menu = Menu.new items: @items
62
+
63
+ @items[0].position.should == CGPointMake(0, 0)
64
+ @items[1].position.should == CGPointMake(0, 0)
65
+ @items[2].position.should == CGPointMake(0, 0)
66
+
67
+ menu.align_items_in_columns [2, 1]
68
+
69
+ @items[0].position.should == CGPointMake(-80.0, 23.5)
70
+ @items[1].position.should == CGPointMake(80.0, 23.5)
71
+ @items[2].position.should == CGPointMake(0, -24.5)
72
+ end
73
+
74
+ it "should align items in rows" do
75
+ menu = Menu.new items: @items
76
+
77
+ @items[0].position.should == CGPointMake(0, 0)
78
+ @items[1].position.should == CGPointMake(0, 0)
79
+ @items[2].position.should == CGPointMake(0, 0)
80
+
81
+ menu.align_items_in_rows [2, 1]
82
+
83
+ @items[0].position.should == CGPointMake(-48.0, 45.5)
84
+ @items[1].position.should == CGPointMake(-48.0, -7.5)
85
+ @items[2].position.should == CGPointMake(42, 21.5)
86
+ end
87
+ end
@@ -0,0 +1,11 @@
1
+ shared "Action Sprite" do
2
+ before do
3
+ @scene = Scene.new
4
+ @layer = Layer.new
5
+ @sprite = Sprite.new file_name: 'sprite.png', position: CGPointMake(5, 5)
6
+ @scene << @layer
7
+ @layer << @sprite
8
+
9
+ Joybox.director << @scene
10
+ end
11
+ end
@@ -0,0 +1,37 @@
1
+ describe Joybox::Actions::Bezier do
2
+ behaves_like "Action Sprite"
3
+
4
+ it "should move the sprite by bezier path" do
5
+ @sprite.run_action Bezier.by bezier: [[100, 100], [50, 50], [-50, -50]]
6
+ @sprite.position.should == CGPointMake(5, 5)
7
+
8
+ wait 0.2 do
9
+ @sprite.position.should.not == CGPointMake(5, 5)
10
+ @sprite.position.x.should.not.be.close 105, 0.1
11
+ @sprite.position.y.should.not.be.close 105, 0.1
12
+ end
13
+
14
+ wait 0.5 do
15
+ @sprite.position.should.not == CGPointMake(5, 5)
16
+ @sprite.position.x.should.be.close 105, 0.1
17
+ @sprite.position.y.should.be.close 105, 0.1
18
+ end
19
+ end
20
+
21
+ it "should move the sprite to bezier path" do
22
+ @sprite.run_action Bezier.to bezier: [[100, 100], [50, 50], [-50, -50]]
23
+ @sprite.position.should == CGPointMake(5, 5)
24
+
25
+ wait 0.2 do
26
+ @sprite.position.should.not == CGPointMake(5, 5)
27
+ @sprite.position.x.should.not.be.close 100, 0.1
28
+ @sprite.position.y.should.not.be.close 100, 0.1
29
+ end
30
+
31
+ wait 0.5 do
32
+ @sprite.position.should.not == CGPointMake(5, 5)
33
+ @sprite.position.x.should.be.close 100, 0.1
34
+ @sprite.position.y.should.be.close 100, 0.1
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,16 @@
1
+ describe Joybox::Actions::Blink do
2
+ behaves_like "Action Sprite"
3
+
4
+ it "should blink the sprite with times" do
5
+ @sprite.run_action Blink.with times:1
6
+ @sprite.visible.should == true
7
+
8
+ wait 0.1 do
9
+ @sprite.visible.should == false
10
+ end
11
+
12
+ wait 0.4 do
13
+ @sprite.visible.should == true
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,49 @@
1
+ describe Joybox::Actions::Fade do
2
+ behaves_like "Action Sprite"
3
+
4
+ it "should fade the sprite in to number" do
5
+ @sprite.run_action Fade.in opacity:255
6
+ @sprite.opacity = 0
7
+ @sprite.opacity.should == 0
8
+
9
+ wait 0.2 do
10
+ @sprite.opacity.should.not == 0
11
+ @sprite.opacity.should.not.be.close 255, 0.1
12
+ end
13
+
14
+ wait 0.4 do
15
+ @sprite.opacity.should.not == 0
16
+ @sprite.opacity.should.be.close 255, 0.1
17
+ end
18
+ end
19
+
20
+ it "should fade the sprite out to number" do
21
+ @sprite.run_action Fade.out opacity: 0
22
+ @sprite.opacity.should == 255
23
+
24
+ wait 0.2 do
25
+ @sprite.opacity.should.not == 255
26
+ @sprite.opacity.should.not.be.close 0, 0.1
27
+ end
28
+
29
+ wait 0.4 do
30
+ @sprite.opacity.should.not == 255
31
+ @sprite.opacity.should.be.close 0, 0.1
32
+ end
33
+ end
34
+
35
+ it "should fade the sprite to number" do
36
+ @sprite.run_action Fade.to opacity:100
37
+ @sprite.opacity.should == 255
38
+
39
+ wait 0.2 do
40
+ @sprite.opacity.should.not == 0
41
+ @sprite.opacity.should.not.be.close 100, 0.1
42
+ end
43
+
44
+ wait 0.4 do
45
+ @sprite.opacity.should.not == 0
46
+ @sprite.opacity.should.be.close 100, 0.1
47
+ end
48
+ end
49
+ end