joybox 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (393) hide show
  1. checksums.yaml +8 -8
  2. data/Gemfile.lock +1 -1
  3. data/LICENSE +1 -1
  4. data/LICENSE_Box2D +20 -0
  5. data/LICENSE_Cocos2D +24 -0
  6. data/README.md +34 -66
  7. data/Rakefile +2 -3
  8. data/bin/joybox +49 -0
  9. data/command/joybox/USAGE +24 -0
  10. data/command/joybox/templates/layer.erb +11 -0
  11. data/command/joybox/templates/layer_spec.erb +3 -0
  12. data/command/joybox/templates/scene.erb +11 -0
  13. data/command/joybox/templates/scene_spec.erb +3 -0
  14. data/command/joybox/templates/sprite.erb +11 -0
  15. data/command/joybox/templates/sprite_spec.erb +3 -0
  16. data/command/joybox_generate_command.rb +114 -0
  17. data/joybox.gemspec +44 -0
  18. data/lib/joybox/joybox-ios.rb +47 -0
  19. data/lib/joybox/joybox-osx.rb +47 -0
  20. data/lib/joybox/version.rb +1 -1
  21. data/lib/joybox.rb +18 -36
  22. data/{lib/joybox/cocos2d → motion/joybox}/actions/actions.rb +0 -0
  23. data/motion/joybox/actions/animate.rb +22 -0
  24. data/motion/joybox/actions/bezier.rb +33 -0
  25. data/motion/joybox/actions/blink.rb +24 -0
  26. data/motion/joybox/actions/ease.rb +149 -0
  27. data/motion/joybox/actions/fade.rb +38 -0
  28. data/motion/joybox/actions/jump.rb +39 -0
  29. data/{lib/joybox/cocos2d → motion/joybox}/actions/move.rb +4 -2
  30. data/motion/joybox/actions/place.rb +22 -0
  31. data/{lib/joybox/cocos2d → motion/joybox}/actions/repeat.rb +10 -1
  32. data/{lib/joybox/cocos2d → motion/joybox}/actions/rotate.rb +4 -2
  33. data/{lib/joybox/cocos2d → motion/joybox}/actions/scale.rb +4 -2
  34. data/{lib/joybox/cocos2d → motion/joybox}/actions/sequence.rb +3 -3
  35. data/{lib/joybox/cocos2d → motion/joybox}/actions/skew.rb +0 -0
  36. data/motion/joybox/actions/spawn.rb +22 -0
  37. data/motion/joybox/actions/tint.rb +37 -0
  38. data/motion/joybox/animations/animation.rb +60 -0
  39. data/{lib/joybox/cocos2d → motion/joybox}/common/color.rb +12 -1
  40. data/{lib/joybox/cocos2d → motion/joybox}/common/gc_size.rb +4 -4
  41. data/{lib/joybox/cocos2d → motion/joybox}/common/ns_set.rb +0 -0
  42. data/{lib/joybox/cocos2d → motion/joybox}/common/numeric.rb +0 -0
  43. data/{lib/joybox/cocos2d → motion/joybox}/common/screen.rb +4 -4
  44. data/motion/joybox/core/layer.rb +51 -0
  45. data/{lib/joybox/cocos2d → motion/joybox}/core/node.rb +0 -0
  46. data/{lib/joybox/cocos2d → motion/joybox}/core/scene.rb +0 -0
  47. data/{lib/joybox/cocos2d → motion/joybox}/core/sprite.rb +22 -3
  48. data/{lib/joybox/cocos2d → motion/joybox}/core/sprite_batch.rb +0 -0
  49. data/motion/joybox/core/sprite_frame_cache.rb +147 -0
  50. data/{lib/joybox/cocos2d/cocos2d.rb → motion/joybox/joybox.rb} +3 -1
  51. data/{lib/joybox/cocos2d → motion/joybox}/macros.rb +0 -0
  52. data/{lib/joybox/box2d → motion/joybox/physics}/body.rb +44 -17
  53. data/{lib/joybox/cocos2d/core → motion/joybox/physics}/physics_sprite.rb +1 -1
  54. data/motion/joybox/physics/world.rb +79 -0
  55. data/{lib/joybox/cocos2d → motion/joybox}/ui/label.rb +3 -2
  56. data/{lib/joybox/cocos2d → motion/joybox}/ui/menu.rb +0 -0
  57. data/{lib/joybox/cocos2d → motion/joybox}/ui/menu_image.rb +0 -0
  58. data/{lib/joybox/cocos2d → motion/joybox}/ui/menu_label.rb +0 -0
  59. data/{lib/joybox/cocos2d → motion/joybox}/ui/ui.rb +0 -0
  60. data/{lib/joybox/cocos2d → motion/joybox-ios}/common/cg_point.rb +9 -2
  61. data/{lib/joybox/cocos2d → motion/joybox-ios}/common/ui_touch.rb +1 -1
  62. data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/configuration.rb +0 -0
  63. data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/file_utils.rb +0 -3
  64. data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/gl_view.rb +0 -0
  65. data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/texture_2d.rb +0 -0
  66. data/{lib/joybox/cocos2d → motion/joybox-ios}/core/layer.rb +1 -45
  67. data/{lib/joybox/cocos2d → motion/joybox-ios}/director.rb +6 -6
  68. data/motion/joybox-osx/common/ats_point.rb +48 -0
  69. data/motion/joybox-osx/common/ns_event.rb +8 -0
  70. data/motion/joybox-osx/configuration/configuration.rb +46 -0
  71. data/motion/joybox-osx/configuration/gl_view.rb +57 -0
  72. data/motion/joybox-osx/core/layer.rb +135 -0
  73. data/motion/joybox-osx/director.rb +42 -0
  74. data/template/joybox-ios/files/Rakefile.erb +9 -0
  75. data/{app → template/joybox-ios/files/app}/app_delegate.rb +1 -5
  76. data/{resources → template/joybox-ios/files/resources}/fps_images-hd.png +0 -0
  77. data/{resources → template/joybox-ios/files/resources}/fps_images-ipadhd.png +0 -0
  78. data/{resources → template/joybox-ios/files/resources}/fps_images.png +0 -0
  79. data/template/joybox-ios/files/spec/main_spec.rb.erb +9 -0
  80. data/template/joybox-osx/files/Rakefile.erb +9 -0
  81. data/template/joybox-osx/files/app/app_delegate.rb +23 -0
  82. data/template/joybox-osx/files/app/layers/default_layer.rb +5 -0
  83. data/template/joybox-osx/files/app/menu.rb +51 -0
  84. data/template/joybox-osx/files/resources/Credits.rtf +29 -0
  85. data/template/joybox-osx/files/resources/fps_images-hd.png +0 -0
  86. data/template/joybox-osx/files/resources/fps_images-ipadhd.png +0 -0
  87. data/template/joybox-osx/files/resources/fps_images.png +0 -0
  88. data/template/joybox-osx/files/spec/main_spec.rb.erb +9 -0
  89. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Box2D +0 -0
  90. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Box2D.framework.bridgesupport +47 -37
  91. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Box2D +0 -0
  92. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/B2DContactListener.h +0 -0
  93. data/vendor/vendor-ios/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DCircleShape.h +16 -0
  94. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/Shapes/B2DEdgeShape.h +0 -0
  95. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/Shapes/B2DPolygonShape.h +0 -0
  96. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/Shapes/B2DShape.h +0 -0
  97. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Dynamics/B2DBody.h +6 -6
  98. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Dynamics/B2DWorld.h +0 -0
  99. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Resources/Box2DConfig.cmake +0 -0
  100. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Resources/CMakeLists.txt +0 -0
  101. data/vendor/vendor-ios/Box2D.framework/Versions/A/Resources/LICENSE +22 -0
  102. data/vendor/vendor-ios/cocos_2d/cocos_2d.bridgesupport +9154 -0
  103. data/vendor/vendor-ios/cocos_2d/cocos_2d_exceptions.bridgesupport +39 -0
  104. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAction.h +23 -23
  105. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionCamera.h +21 -19
  106. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionCatmullRom.h +18 -6
  107. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionEase.h +117 -31
  108. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionGrid.h +19 -17
  109. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionGrid3D.h +45 -42
  110. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionInstant.h +21 -13
  111. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionInterval.h +123 -81
  112. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionManager.h +2 -2
  113. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionPageTurn3D.h +2 -1
  114. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionProgressTimer.h +4 -4
  115. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionTiledGrid.h +46 -38
  116. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionTween.h +3 -3
  117. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAnimation.h +8 -8
  118. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAnimationCache.h +2 -2
  119. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAtlasNode.h +19 -17
  120. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCCamera.h +12 -12
  121. data/vendor/vendor-ios/cocos_2d/include/CCClippingNode.h +77 -0
  122. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCConfiguration.h +31 -13
  123. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCDirector.h +51 -42
  124. data/vendor/vendor-ios/cocos_2d/include/CCDrawNode.h +65 -0
  125. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCDrawingPrimitives.h +42 -8
  126. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCGLProgram.h +56 -21
  127. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCGrabber.h +2 -2
  128. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCGrid.h +29 -29
  129. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLabelAtlas.h +5 -2
  130. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLabelBMFont.h +56 -32
  131. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLabelTTF.h +20 -20
  132. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLayer.h +107 -79
  133. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCMenu.h +10 -14
  134. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCMenuItem.h +37 -32
  135. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCMotionStreak.h +18 -19
  136. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCNode+Debug.h +0 -0
  137. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCNode.h +87 -37
  138. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParallaxNode.h +2 -2
  139. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleBatchNode.h +2 -2
  140. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleExamples.h +22 -0
  141. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleSystem.h +51 -40
  142. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleSystemQuad.h +4 -4
  143. data/vendor/vendor-ios/cocos_2d/include/CCPhysicsDebugNode.h +58 -0
  144. data/vendor/vendor-ios/cocos_2d/include/CCPhysicsSprite.h +82 -0
  145. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCProgressTimer.h +9 -11
  146. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCProtocols.h +54 -26
  147. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCRenderTexture.h +29 -9
  148. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCScene.h +4 -0
  149. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCScheduler.h +94 -40
  150. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCShaderCache.h +1 -1
  151. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSprite.h +21 -28
  152. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSpriteBatchNode.h +16 -9
  153. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSpriteFrame.h +10 -10
  154. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSpriteFrameCache.h +6 -6
  155. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXLayer.h +16 -16
  156. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXObjectGroup.h +4 -4
  157. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXTiledMap.h +9 -9
  158. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXXMLParser.h +44 -33
  159. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTexture2D.h +17 -25
  160. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTextureAtlas.h +10 -10
  161. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTextureCache.h +4 -4
  162. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTexturePVR.h +25 -8
  163. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTileMapAtlas.h +6 -6
  164. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTransition.h +57 -12
  165. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTransitionPageTurn.h +2 -2
  166. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTransitionProgress.h +27 -5
  167. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms}/CCGL.h +4 -2
  168. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms}/CCNS.h +0 -0
  169. data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCDirectorMac.h +110 -0
  170. data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCEventDispatcher.h +343 -0
  171. data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCGLView.h +103 -0
  172. data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCWindow.h +41 -0
  173. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCDirectorIOS.h +12 -5
  174. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCES2Renderer.h +12 -12
  175. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCESRenderer.h +0 -0
  176. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCGLView.h +28 -13
  177. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCTouchDelegateProtocol.h +4 -4
  178. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCTouchDispatcher.h +2 -2
  179. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCTouchHandler.h +7 -7
  180. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CCArray.h +1 -1
  181. data/vendor/vendor-ios/cocos_2d/include/Support/CCFileUtils.h +394 -0
  182. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CCProfiling.h +0 -0
  183. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CCVertex.h +1 -1
  184. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CGPointExtension.h +4 -2
  185. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/NSThread+performBlock.h +0 -0
  186. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/OpenGL_Internal.h +0 -0
  187. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/TGAlib.h +0 -0
  188. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/TransformUtils.h +0 -0
  189. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/ZipUtils.h +4 -4
  190. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/base64.h +0 -0
  191. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/ccCArray.h +15 -15
  192. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/ccUtils.h +0 -0
  193. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/uthash.h +129 -184
  194. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/utlist.h +298 -55
  195. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccConfig.h +56 -9
  196. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccDeprecated.h +131 -0
  197. data/vendor/vendor-ios/cocos_2d/include/ccFPSImages.h +39 -0
  198. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccGLStateCache.h +44 -26
  199. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccMacros.h +9 -9
  200. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColorLengthTexture_frag.h +41 -0
  201. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColorLengthTexture_vert.h +47 -0
  202. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColor_frag.h +37 -0
  203. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColor_vert.h +40 -0
  204. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureA8Color_frag.h +41 -0
  205. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureA8Color_vert.h +45 -0
  206. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureColorAlphaTest_frag.h +47 -0
  207. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureColor_frag.h +39 -0
  208. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureColor_vert.h +45 -0
  209. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_frag.h +38 -0
  210. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_uColor_frag.h +41 -0
  211. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_uColor_vert.h +41 -0
  212. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_vert.h +41 -0
  213. data/vendor/vendor-ios/cocos_2d/include/ccShader_Position_uColor_frag.h +37 -0
  214. data/vendor/vendor-ios/cocos_2d/include/ccShader_Position_uColor_vert.h +43 -0
  215. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccShaders.h +11 -0
  216. data/vendor/vendor-ios/cocos_2d/include/ccTypes.h +392 -0
  217. data/vendor/vendor-ios/cocos_2d/include/cocos2d-ios-exceptions.bridgesupport +39 -0
  218. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/cocos2d.h +28 -3
  219. data/vendor/vendor-ios/cocos_2d/include/gen_cocos2d_bridgesupport.sh +17 -0
  220. data/vendor/vendor-ios/cocos_2d/include/gen_cocos2d_complement.sh +17 -0
  221. data/vendor/vendor-ios/cocos_2d/libcocos2d.a +0 -0
  222. data/vendor/vendor-osx/box_2d/box_2d.bridgesupport +176 -0
  223. data/vendor/vendor-osx/box_2d/include/B2DBody.h +46 -0
  224. data/vendor/vendor-osx/box_2d/include/B2DCircleShape.h +16 -0
  225. data/vendor/vendor-osx/box_2d/include/B2DContactListener.h +30 -0
  226. data/vendor/vendor-osx/box_2d/include/B2DEdgeShape.h +17 -0
  227. data/vendor/vendor-osx/box_2d/include/B2DPolygonShape.h +16 -0
  228. data/vendor/vendor-osx/box_2d/include/B2DShape.h +18 -0
  229. data/vendor/vendor-osx/box_2d/include/B2DWorld.h +44 -0
  230. data/vendor/vendor-osx/box_2d/libBox2D.a +0 -0
  231. data/vendor/vendor-osx/cocos_2d/cocos_2d.bridgesupport +8292 -0
  232. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAction.h +195 -0
  233. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionCamera.h +75 -0
  234. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionCatmullRom.h +151 -0
  235. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionEase.h +245 -0
  236. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionGrid.h +167 -0
  237. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionGrid3D.h +208 -0
  238. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionInstant.h +235 -0
  239. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionInterval.h +473 -0
  240. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionManager.h +113 -0
  241. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionPageTurn3D.h +43 -0
  242. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionProgressTimer.h +59 -0
  243. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionTiledGrid.h +219 -0
  244. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionTween.h +62 -0
  245. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAnimation.h +150 -0
  246. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAnimationCache.h +74 -0
  247. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAtlasNode.h +98 -0
  248. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCCamera.h +98 -0
  249. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCClippingNode.h +77 -0
  250. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCConfiguration.h +144 -0
  251. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCDirector.h +353 -0
  252. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCDrawNode.h +65 -0
  253. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCDrawingPrimitives.h +173 -0
  254. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCGLProgram.h +185 -0
  255. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCGrabber.h +44 -0
  256. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCGrid.h +130 -0
  257. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelAtlas.h +71 -0
  258. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelBMFont.h +240 -0
  259. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelTTF.h +132 -0
  260. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLayer.h +308 -0
  261. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMenu.h +96 -0
  262. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMenuItem.h +428 -0
  263. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMotionStreak.h +86 -0
  264. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCNode+Debug.h +39 -0
  265. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCNode.h +619 -0
  266. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParallaxNode.h +50 -0
  267. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleBatchNode.h +99 -0
  268. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleExamples.h +117 -0
  269. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleSystem.h +464 -0
  270. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleSystemQuad.h +73 -0
  271. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCPhysicsDebugNode.h +58 -0
  272. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCPhysicsSprite.h +82 -0
  273. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCProgressTimer.h +92 -0
  274. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCProtocols.h +160 -0
  275. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCRenderTexture.h +159 -0
  276. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCScene.h +47 -0
  277. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCScheduler.h +284 -0
  278. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCShaderCache.h +60 -0
  279. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSprite.h +281 -0
  280. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSpriteBatchNode.h +145 -0
  281. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSpriteFrame.h +126 -0
  282. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSpriteFrameCache.h +121 -0
  283. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXLayer.h +164 -0
  284. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXObjectGroup.h +67 -0
  285. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXTiledMap.h +145 -0
  286. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXXMLParser.h +228 -0
  287. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTexture2D.h +349 -0
  288. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTextureAtlas.h +188 -0
  289. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTextureCache.h +146 -0
  290. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTexturePVR.h +146 -0
  291. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTileMapAtlas.h +83 -0
  292. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTransition.h +341 -0
  293. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTransitionPageTurn.h +60 -0
  294. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTransitionProgress.h +84 -0
  295. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/CCGL.h +74 -0
  296. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/CCNS.h +54 -0
  297. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCDirectorMac.h +110 -0
  298. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCEventDispatcher.h +343 -0
  299. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCGLView.h +103 -0
  300. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCWindow.h +41 -0
  301. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCArray.h +119 -0
  302. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCFileUtils.h +394 -0
  303. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCProfiling.h +89 -0
  304. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCVertex.h +36 -0
  305. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CGPointExtension.h +346 -0
  306. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/NSThread+performBlock.h +22 -0
  307. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/OpenGL_Internal.h +86 -0
  308. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/TGAlib.h +55 -0
  309. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/TransformUtils.h +36 -0
  310. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/ZipUtils.h +91 -0
  311. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/base64.h +33 -0
  312. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/ccCArray.h +229 -0
  313. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/ccUtils.h +36 -0
  314. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/uthash.h +917 -0
  315. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/utlist.h +733 -0
  316. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccConfig.h +292 -0
  317. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccDeprecated.h +431 -0
  318. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccFPSImages.h +39 -0
  319. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccGLStateCache.h +156 -0
  320. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccMacros.h +353 -0
  321. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColorLengthTexture_frag.h +41 -0
  322. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColorLengthTexture_vert.h +47 -0
  323. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColor_frag.h +37 -0
  324. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColor_vert.h +40 -0
  325. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureA8Color_frag.h +41 -0
  326. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureA8Color_vert.h +45 -0
  327. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureColorAlphaTest_frag.h +47 -0
  328. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureColor_frag.h +39 -0
  329. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureColor_vert.h +45 -0
  330. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_frag.h +38 -0
  331. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_uColor_frag.h +41 -0
  332. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_uColor_vert.h +41 -0
  333. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_vert.h +41 -0
  334. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_Position_uColor_frag.h +37 -0
  335. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_Position_uColor_vert.h +43 -0
  336. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShaders.h +56 -0
  337. data/vendor/{Cocos2D/include → vendor-osx/cocos_2d/cocos_2d_include}/ccTypes.h +39 -35
  338. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/cocos2d.h +203 -0
  339. data/vendor/vendor-osx/cocos_2d/libcocos2d.a +0 -0
  340. metadata +363 -195
  341. data/app/layers/box2d_layer.rb +0 -109
  342. data/app/layers/cocos2d_layer.rb +0 -14
  343. data/app/layers/cocos_motion_layer.rb +0 -145
  344. data/app/layers/menu_layer.rb +0 -59
  345. data/lib/joybox/box2d/world.rb +0 -79
  346. data/resources/box2d/blocks_sprite_sheet.png +0 -0
  347. data/resources/cocos_motion/dot.png +0 -0
  348. data/resources/cocos_motion/dot_selected.png +0 -0
  349. data/resources/cocos_motion/grossini.png +0 -0
  350. data/resources/cocos_motion/grossinis_sister.png +0 -0
  351. data/resources/cocos_motion/grossinis_sister_two.png +0 -0
  352. data/resources/cocos_motion/left_arrow.png +0 -0
  353. data/resources/cocos_motion/left_arrow_selected.png +0 -0
  354. data/resources/cocos_motion/right_arrow.png +0 -0
  355. data/resources/cocos_motion/right_arrow_selected.png +0 -0
  356. data/vendor/Cocos2D/Cocos2D.bridgesupport +0 -7808
  357. data/vendor/Cocos2D/include/CCFileUtils.h +0 -188
  358. data/vendor/Cocos2D/include/CocosDenshion/CDAudioManager.h +0 -243
  359. data/vendor/Cocos2D/include/CocosDenshion/CDConfig.h +0 -60
  360. data/vendor/Cocos2D/include/CocosDenshion/CDOpenALSupport.h +0 -77
  361. data/vendor/Cocos2D/include/CocosDenshion/CDXPropertyModifierAction.h +0 -45
  362. data/vendor/Cocos2D/include/CocosDenshion/CocosDenshion.h +0 -440
  363. data/vendor/Cocos2D/include/CocosDenshion/SimpleAudioEngine.h +0 -90
  364. data/vendor/Cocos2D/include/RubyMotionSchedule.h +0 -7
  365. data/vendor/Cocos2D/include/ccShader_PositionColor_frag.h +0 -12
  366. data/vendor/Cocos2D/include/ccShader_PositionColor_vert.h +0 -17
  367. data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_frag.h +0 -16
  368. data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_vert.h +0 -21
  369. data/vendor/Cocos2D/include/ccShader_PositionTextureColorAlphaTest_frag.h +0 -23
  370. data/vendor/Cocos2D/include/ccShader_PositionTextureColor_frag.h +0 -14
  371. data/vendor/Cocos2D/include/ccShader_PositionTextureColor_vert.h +0 -22
  372. data/vendor/Cocos2D/include/ccShader_PositionTexture_frag.h +0 -13
  373. data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_frag.h +0 -16
  374. data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_vert.h +0 -18
  375. data/vendor/Cocos2D/include/ccShader_PositionTexture_vert.h +0 -17
  376. data/vendor/Cocos2D/include/ccShader_Position_uColor_frag.h +0 -12
  377. data/vendor/Cocos2D/include/ccShader_Position_uColor_vert.h +0 -19
  378. data/vendor/Cocos2D/include/kazmath/GL/mat4stack.h +0 -51
  379. data/vendor/Cocos2D/include/kazmath/GL/matrix.h +0 -58
  380. data/vendor/Cocos2D/include/kazmath/aabb.h +0 -53
  381. data/vendor/Cocos2D/include/kazmath/kazmath.h +0 -39
  382. data/vendor/Cocos2D/include/kazmath/mat3.h +0 -75
  383. data/vendor/Cocos2D/include/kazmath/mat4.h +0 -93
  384. data/vendor/Cocos2D/include/kazmath/neon_matrix_impl.h +0 -41
  385. data/vendor/Cocos2D/include/kazmath/plane.h +0 -70
  386. data/vendor/Cocos2D/include/kazmath/quaternion.h +0 -113
  387. data/vendor/Cocos2D/include/kazmath/ray2.h +0 -50
  388. data/vendor/Cocos2D/include/kazmath/utility.h +0 -74
  389. data/vendor/Cocos2D/include/kazmath/vec2.h +0 -64
  390. data/vendor/Cocos2D/include/kazmath/vec3.h +0 -68
  391. data/vendor/Cocos2D/include/kazmath/vec4.h +0 -68
  392. data/vendor/Cocos2D/libCocosDenshion.a +0 -0
  393. data/vendor/Cocos2D/libcocos2d.a +0 -0
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDk1YjUyNmUyNWVhZDU1ODlmOTFjMTQxNTQwNmE2MTBlNjFmZGYyZQ==
4
+ ODczNzk5MjM1YzkyNWM0NDJlZjAxZjkzNDdlOGNhYmNjYmNkODY2MQ==
5
5
  data.tar.gz: !binary |-
6
- NzNkYmJjM2M2OTE3NmQ3YmJmODY5NjdiZjQ2Y2RlNjJmNDMwMzE3Yw==
6
+ NWVjMjU5MjA5NDM4YjViY2UzZjJhODc3Y2IxNWYzNzNmYzYyY2E5Mg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- YTZmM2IzYTM3ZGMwOGZmZjFkMDVhYjQ2NDAwNjFhYjQxZmRlNWI0ODdjMjQw
10
- MWQyNjdjNDA3MzhkNmVhNGJlZTE1MjZiYjI3NmUyYTNmYjA4MjVlODI5MzUz
11
- M2Y2ZWNlNWNjMjcyYTY4ZTMzMjhkNWY4YTNmZTBjNWFmYjJkZjE=
9
+ ODEzZTdmNmY3MGYzZTk2YTA4NDNkMGY0NjNjNmI1NGI1YTg5NzM4Y2ZiYzVl
10
+ YWU1YTlkNWE3YTQ4NGNiN2EzYWRjZDkxNTFlYWM3NDEzMjI1ZWEzMTc5ZTIy
11
+ Nzg2ZDUzZWFkYjhmODJhNjJhMDE5ZTgyMmEyZDlhZDUwNDgxZDg=
12
12
  data.tar.gz: !binary |-
13
- NTc5NzE1NjZjYTA4OWJhMDUwOWRiYmE2OTI1MjAyNzJlNzJiNzgwOGU2Njkx
14
- N2U0YzgxZjY3NDkwY2IyYTdiMjYwMzBhOWM1Y2MxZDk4ODBiNTEwYTVlNjM4
15
- MzIyYjM2YzI2MTA5MTI3NTllZTUwZmZhNWQ2ZDQ2YzNiOWU3NDc=
13
+ YTQxZjMzMDQ5MmM5YTg4NWQzMDVlNWQ0NzExMjcxNGM3MjNlMWFlNjAyYTdh
14
+ NjE4N2E1ZDAwMjY4NTRkNTU4YTUyNzIxOGMxNzcwMjQ5NjE0NzZhYWQ5NWNh
15
+ MjQ0NmNiYWJiZmI2OGE2YmViYzQ3YWMyYTFmNTE3OGJlYjc4MzI=
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- joybox (0.0.4)
4
+ joybox (0.0.6)
5
5
  rake
6
6
 
7
7
  GEM
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013 Juan Jose Karam
1
+ Copyright (c) 2013 Juan Jose Karam and contributors
2
2
 
3
3
  MIT License
4
4
 
data/LICENSE_Box2D ADDED
@@ -0,0 +1,20 @@
1
+ http://box2d.org/
2
+
3
+ Copyright (c) 2006-2007 Erin Catto http://www.gphysics.com
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+
data/LICENSE_Cocos2D ADDED
@@ -0,0 +1,24 @@
1
+ cocos2d for iPhone: http://www.cocos2d-iphone.org
2
+
3
+ Copyright (c) 2008-2011 - Ricardo Quesada and contributors
4
+ Copyright (c) 2011-2012 - Zynga Inc. and contributors
5
+ (see each file to see the different copyright owners)
6
+
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ of this software and associated documentation files (the "Software"), to deal
10
+ in the Software without restriction, including without limitation the rights
11
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the Software is
13
+ furnished to do so, subject to the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be included in
16
+ all copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
+ THE SOFTWARE.
data/README.md CHANGED
@@ -1,71 +1,40 @@
1
1
  # Joybox
2
-
3
- Introduced at [#Inspect 2013](http://www.rubymotion.com/conference/),
4
- Joybox is the easiest way to build 2D games for iPhones and iPads
5
- using [RubyMotion](http://www.rubymotion.com/). Joybox combines the
6
- most popular and widely used 2D game engine for iOS,
7
- [Cocos2D](http://www.cocos2d-iphone.org/), folds in the amazing
8
- [Box2D](http://box2d.org/) physics engine, and then wraps them up into
9
- a clean Ruby API that will make game development faster and more
10
- enjoyable for both beginners and experts alike.
11
-
12
- For more information, see the presentation: [Cocos2D, an Easier
13
- Way](https://speakerdeck.com/curveberyl/cocos2d-an-easier-way).
2
+ Introduced at [#Inspect 2013](http://www.rubymotion.com/conference/), Joybox is the easiest way to build 2D games for iPhones and iPads using [RubyMotion](http://www.rubymotion.com/). Joybox combines the most popular and widely used 2D game engine for iOS, [Cocos2D](http://www.cocos2d-iphone.org/), folds in the amazing [Box2D](http://box2d.org/) physics engine, and then wraps them up into a clean Ruby API that will make game development faster and more enjoyable for both beginners and experts alike.
3
+
4
+ For more information, see the presentation: [Cocos2D, an Easier Way](https://speakerdeck.com/curveberyl/cocos2d-an-easier-way).
5
+
6
+ ## Latest version history (0.0.6)
7
+ * Added OSX development support. Use 'motion create --template=joybox-osx' to create
8
+ an OSX project.
9
+ * Added Ruby Motion Template support. Use 'joybox install' to install the templates (joybox-ios & joybox-osx)
10
+ * Added Ruby Motion Command support. Use 'motion joybox:generate <class> <name>' to generate Sprites, Layers and Scene subclases and their respective specs.
11
+ * Added Circle Shape to Box2D Fixtures. Thank you Kenichi Yonekawa!
12
+ * Added Sprite Batch & Sprite Frame Cache full support.
13
+ * Added Animations and Animate Action.
14
+ * Added Bezier, Blink, Fade, Jump, Place, Spawn, Tint action. Thanks Gabriel Sosa!
15
+ * Added Repeat.with actions:<array of actions> times:<number of times> method to Repeat class.
16
+ * IMPORTANT: Changed Sequence.new items:<array of actions> for Sequence.with actions:<array of actions> in Sequence class.
17
+ * IMPORTANT: Typo fix in the Body class, changing edge_fixure and polygon_fixure to edge_fixture and polygon_fixture.
18
+ * Better bridgesupport generation :D, thank you Laurent Sansonetti!
19
+ * Added: mouse and keyboard events to joybox-osx.
20
+ * Joybox is stopping the madness! **Thanks all** for your support!
21
+
22
+ ## Documentation and Getting Started
23
+ If you are looking for the installation process and the documentation, please visit: [joybox.io](http://joybox.io)
24
+
25
+ Also you can look at some examples in this repository: [Joybox - Examples](https://github.com/CurveBeryl/Joybox-Examples)
14
26
 
15
27
  ## Feedback and Help
28
+ For questions, feedback, bug reports, use the project's [Issue Tracker](https://github.com/rubymotion/Joybox/issues).
16
29
 
17
- For questions, feedback, bug reports, use the project's [Issue
18
- Tracker](https://github.com/rubymotion/Joybox/issues).
19
-
20
- ## Getting Started
21
-
22
- ### Installation with RubyGems
23
-
24
- First install Joybox from RubyGems. Run:
25
-
26
- gem install joybox
27
-
28
- Next, add to your Rakefile:
29
-
30
- require 'joybox'
31
-
32
- ### Installation with Bundler
33
-
34
- First, add to your Gemfile:
35
-
36
- gem 'joybox'
37
-
38
- Next, install the Joybox gem by running:
39
-
40
- bundle
41
-
42
- ## Core Classes
43
-
44
- For building games, the core classes are Director, Scene, Layer, and Sprite.
45
-
46
- For more info, see: [cocos2d Basic Concepts](http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:basic_concepts)
47
-
48
- ### Director
49
-
50
- The director presents scenes, manages flow from one scene to another,
51
- manages the game loop, and responds to interruptions.
52
-
53
- ### Scene
54
-
55
- A scene is composed of multiple layers. Examples of scenes are: menus,
56
- game levels, cut scenes, and high score screen.
57
-
58
- ### Layer
59
-
60
- Layers are primarily where a game's sprites are placed. Layers handle
61
- user interaction, for example screen touches or device orientation.
30
+ ## Contributions
62
31
 
63
- ### Sprite
32
+ If you wish to help us to stop the madness, there are some ways you can do it:
64
33
 
65
- Sprites are 2D images that have independent movement, such as
66
- rotation, scaling, translation and animation.
34
+ * Joybox Wrapper (Ruby): This repository ;)
35
+ * Box2D Wrapper (C++): [Joybox - Box2D](https://github.com/CurveBeryl/Joybox-Box2D)
36
+ * Documentation (markdown): [Joybox - Documentation](https://github.com/CurveBeryl/Joybox-Documentation)
67
37
 
68
- ## Contributions
69
38
 
70
39
  1. Fork it
71
40
  2. Create your feature branch (git checkout -b my-new-feature)
@@ -76,11 +45,10 @@ rotation, scaling, translation and animation.
76
45
  ## License
77
46
 
78
47
  Joybox is released under the MIT License.
48
+
79
49
 
80
50
  ## Authors
81
51
 
82
- [Juan Karam](https://github.com/CurveBeryl) [@JuanKaram](https://twitter.com/JuanKaram)
83
-
84
- ## Box 2D Wrapper
85
-
86
- If you wish to download or contribute to the Objective-C Box 2D wrapper, the repository URL is the following: https://github.com/CurveBeryl/Joybox-Box2D
52
+ **Cocos2D**: Ricardo Quesada, Zynga and contributors [cocos2d for iPhone](http://www.cocos2d-iphone.org)
53
+ **Box2D**: Erin Catto [Box2D | A 2D Physics Engine for Games](http://box2d.org)
54
+ **Joybox**: [Juan José Karam](https://github.com/CurveBeryl) [@JuanKaram](https://twitter.com/JuanKaram) and [Gabriel Sosa](https://github.com/mexinsane) [@mexinsane](https://twitter.com/mexinsane) and contributors
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  $:.unshift("/Library/RubyMotion/lib")
2
- require 'motion/project'
2
+ require 'motion/project/template/ios'
3
3
  require 'bundler'
4
4
  Bundler.require
5
5
 
@@ -7,8 +7,7 @@ Bundler.require
7
7
  Motion::Project::App.setup do |app|
8
8
  # Use `rake config' to see complete project settings.
9
9
  app.name = 'Joybox'
10
- app.identifier = 'curveberyl.joybox'
10
+ app.identifier = 'com.rubymotion.joybox'
11
11
  app.version = "0.0.1"
12
12
 
13
-
14
13
  end
data/bin/joybox ADDED
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'fileutils'
4
+
5
+ if ARGV.size != 1
6
+ $stderr.puts 'Usage: joybox <command> [<args...>]'
7
+ $stderr.puts 'Commands:'
8
+ $stderr.puts ' install '.ljust(15) + 'Installs the Joybox RubyMotion Templates and Commands'
9
+ $stderr.puts ' uninstall '.ljust(15) + 'Uninstall the Joybox RubyMotion Templates and Commands'
10
+ exit 1
11
+ end
12
+
13
+ if ARGV[0] == 'install'
14
+ ruby_motion_directory = File.expand_path('~/Library/RubyMotion')
15
+ template_directory = File.join(ruby_motion_directory, 'template')
16
+ command_directory = File.join(ruby_motion_directory, 'command')
17
+
18
+ FileUtils.mkdir_p(template_directory) unless File.directory?(template_directory)
19
+ FileUtils.mkdir_p(command_directory) unless File.directory?(command_directory)
20
+
21
+ joybox_template_directory = File.expand_path('../../template/', __FILE__)
22
+ FileUtils.cp_r(Dir.glob("#{joybox_template_directory}/*"), template_directory)
23
+
24
+ joybox_command_directory = File.expand_path('../../command', __FILE__)
25
+ FileUtils.cp_r(Dir.glob("#{joybox_command_directory}/*"), command_directory)
26
+
27
+ $stderr.puts 'Joybox RubyMotion Templates and Commands installed correctly'
28
+ end
29
+
30
+
31
+ if ARGV[0] == 'uninstall'
32
+ ruby_motion_directory = File.expand_path('~/Library/RubyMotion')
33
+ template_directory = File.join(ruby_motion_directory, 'template')
34
+ command_directory = File.join(ruby_motion_directory, 'command')
35
+
36
+ joybox_template_directory = File.expand_path('../../template', __FILE__)
37
+
38
+ Dir.glob("#{joybox_template_directory}/**").each do |directory|
39
+ directory = File.expand_path(File.basename(directory), template_directory)
40
+ FileUtils.rm_r(directory) if File.exists?(directory)
41
+ end
42
+
43
+ Dir.glob("#{joybox_command_directory}/*").each do |directory|
44
+ directory = File.expand_path(File.basename(directory), command_directory)
45
+ FileUtils.rm_r(directory) if File.exists?(directory)
46
+ end
47
+
48
+ $stderr.puts 'Joybox RubyMotion Templates and Commands uninstalled correctly'
49
+ end
@@ -0,0 +1,24 @@
1
+ Usage:
2
+ motion jb:generate <class-type> <class-name>
3
+
4
+ Options:
5
+ class-type # Class to be generated (Sprite, Scene, Layer)
6
+ class-name # Name of the class
7
+
8
+ Description:
9
+ Generates a new class according to the class type and name, those
10
+ parameters can be sended either CamelCased or snake_cased. Also a
11
+ test class will be generated and placed inside the spec folder.
12
+
13
+ Example:
14
+ 'motion jb:generate layer game'
15
+
16
+ This will generate a Layer class named 'GameLayer' with the
17
+ following files:
18
+ class: 'app/layers/game_layer.rb'
19
+ spec: 'spec/layers/game_layer_spec.rb'
20
+
21
+ The list of posible paths according to the class type:
22
+ Sprite: app/sprites/ - spec/sprites/
23
+ Layer: app/layers/ - spec/layers/
24
+ Scene: app/scenes/ - spec/scenes/
@@ -0,0 +1,11 @@
1
+ class <%= name %>Layer < Joybox::Core::Layer
2
+
3
+ def on_enter
4
+ # Set up
5
+ end
6
+
7
+ def on_exit
8
+ # Tear down
9
+ end
10
+
11
+ end
@@ -0,0 +1,3 @@
1
+ describe "Layer '<%= name %>'" do
2
+
3
+ end
@@ -0,0 +1,11 @@
1
+ class <%= name %>Scene < Joybox::Core::Scene
2
+
3
+ def on_enter
4
+ # Set up
5
+ end
6
+
7
+ def on_exit
8
+ # Tear down
9
+ end
10
+
11
+ end
@@ -0,0 +1,3 @@
1
+ describe "Scene '<%= name %>'" do
2
+
3
+ end
@@ -0,0 +1,11 @@
1
+ class <%= name %>Sprite < Joybox::Core::Sprite
2
+
3
+ def on_enter
4
+ # Set up
5
+ end
6
+
7
+ def on_exit
8
+ # Tear down
9
+ end
10
+
11
+ end
@@ -0,0 +1,3 @@
1
+ describe "Sprite '<%= name %>'" do
2
+
3
+ end
@@ -0,0 +1,114 @@
1
+ class String
2
+
3
+ def underscore
4
+ gsub(/::/, '/').
5
+ gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
6
+ gsub(/([a-z\d])([A-Z])/,'\1_\2').
7
+ tr("-", "_").
8
+ downcase
9
+ end
10
+
11
+ def titleize
12
+ gsub(/([A-Z])/, '_\1').split(/_/).map(&:capitalize).join
13
+ end
14
+
15
+ end
16
+
17
+
18
+ module Motion; module Project
19
+ class JoyboxGenerateCommand < Command
20
+
21
+ self.name = 'joybox:generate'
22
+ self.help = 'Joybox: Class Generator'
23
+
24
+ attr_reader :name
25
+
26
+ def run(args)
27
+
28
+ if args.empty? or args.size != 2
29
+ show_help
30
+ end
31
+
32
+ klass = args[0]
33
+ name = args[1]
34
+
35
+ template_class_file = File.expand_path("../joybox/templates/#{klass}.erb", __FILE__)
36
+ template_spec_file = File.expand_path("../joybox/templates/#{klass}_spec.erb", __FILE__)
37
+
38
+ unless File.exists?(template_class_file)
39
+ show_help
40
+ end
41
+
42
+ begin
43
+ app_directory = find_app_directory
44
+ spec_directory = find_spec_directory
45
+ rescue
46
+ die 'The command needs to run inside of a RubyMotion project'
47
+ end
48
+
49
+ class_file = File.join(app_directory, "#{klass}s/#{name.underscore}_#{klass}.rb")
50
+ test_file = File.join(spec_directory, "#{klass}s/#{name.underscore}_#{klass}_spec.rb")
51
+
52
+ if File.exists?(class_file) or File.exists?(test_file)
53
+ App.log 'Duplicate', "#{class_file} exists" if File.exists?(class_file)
54
+ App.log 'Duplicate', "#{test_file} exists" if File.exists?(test_file)
55
+ exit 1
56
+ end
57
+
58
+ create_directory(File.dirname(class_file))
59
+ create_directory(File.dirname(test_file))
60
+
61
+ @name = name.titleize
62
+ create_file(class_file, template_class_file)
63
+ create_file(test_file, template_spec_file)
64
+ end
65
+
66
+
67
+ def find_app_directory(directory = 'app')
68
+
69
+ finded_directories = Dir.glob(directory)
70
+
71
+ if finded_directories.size != 1
72
+
73
+ find_app_directory(File.join('..', directory))
74
+ else
75
+
76
+ finded_directories[0]
77
+ end
78
+ end
79
+
80
+
81
+ def find_spec_directory(directory = 'spec')
82
+
83
+ finded_directories = Dir.glob(directory)
84
+
85
+ if finded_directories.size != 1
86
+
87
+ find_app_directory(File.join('..', directory))
88
+ else
89
+
90
+ finded_directories[0]
91
+ end
92
+ end
93
+
94
+
95
+ def create_directory(directory)
96
+ FileUtils.mkdir_p(directory) unless File.directory?(directory)
97
+ end
98
+
99
+
100
+ def create_file(file_path, template_path)
101
+ File.open(file_path, "w") { |io|
102
+ io.print ERB.new(File.read(template_path)).result(binding)
103
+ }
104
+ App.log 'Create', "#{file_path}"
105
+ end
106
+
107
+
108
+ def show_help
109
+ usage_file = File.expand_path("../joybox/USAGE", __FILE__)
110
+ die File.read(usage_file)
111
+ end
112
+
113
+ end
114
+ end; end
data/joybox.gemspec CHANGED
@@ -14,6 +14,7 @@ Gem::Specification.new do |gem|
14
14
 
15
15
  gem.summary = 'A Cocos2D & Box2D DSL for RubyMotion'
16
16
  gem.homepage = 'http://joybox.io'
17
+ gem.license = 'MIT'
17
18
 
18
19
  gem.files = `git ls-files`.split($\)
19
20
  gem.require_paths = ['lib']
@@ -22,4 +23,47 @@ Gem::Specification.new do |gem|
22
23
  gem.add_dependency 'rake'
23
24
  gem.add_development_dependency 'rspec'
24
25
 
26
+ gem.executables = ["joybox"]
27
+
28
+ gem.post_install_message = <<-MESSAGE
29
+ ** Joybox 0.0.6 **
30
+
31
+ * Added OSX development support. Use 'motion create --template=joybox-osx' to create
32
+ an OSX project.
33
+ * Added Ruby Motion Template support. Use 'joybox install' to install the templates (joybox-ios & joybox-osx)
34
+ * Added Ruby Motion Command support. Use 'motion joybox:generate <class> <name>' to generate Sprites, Layers and Scene subclases and their respective specs.
35
+ * Added Circle Shape to Box2D Fixtures. Thank you Kenichi Yonekawa!
36
+ * Added Sprite Batch & Sprite Frame Cache full support.
37
+ * Added Animations and Animate Action.
38
+ * Added Bezier, Blink, Fade, Jump, Place, Spawn, Tint action. Thanks Gabriel Sosa!
39
+ * Added Repeat.with actions:<array of actions> times:<number of times> method to Repeat class.
40
+ * IMPORTANT: Changed Sequence.new items:<array of actions> for Sequence.with actions:<array of actions> in Sequence class.
41
+ * IMPORTANT: Typo fix in the Body class, changing edge_fixure and polygon_fixure to edge_fixture and polygon_fixture.
42
+ * Better bridgesupport generation :D, thank you Laurent Sansonetti!
43
+ * Added: mouse and keyboard events to joybox-osx.
44
+ * Joybox is stopping the madness! Thanks all for your support!
45
+
46
+ _+880_____________________________
47
+ _++88_____________________________
48
+ _++88_____________________________
49
+ __+880_________________________++
50
+ __+888________________________+88_
51
+ __++880______________________+88__
52
+ __++888_____+++88__________+++8___
53
+ __++8888__+++8880++88____+++88____
54
+ __+++8888+++8880++8888__++888_____
55
+ ___++888++8888+++888888++888______
56
+ ___++88++8888++8888888++888_______
57
+ ___++++++888888888888888888_______
58
+ ____++++++88888888888888888_______
59
+ ____++++++++000888888888888_______
60
+ _____+++++++000088888888888_______
61
+ ______+++++++00088888888888_______
62
+ _______+++++++088888888888________
63
+ _______+++++++088888888888________
64
+ ________+++++++8888888888_________
65
+ ________+++++++0088888888_________
66
+ ________++++++0088888888__________
67
+ MESSAGE
68
+
25
69
  end
@@ -0,0 +1,47 @@
1
+ Motion::Project::App.setup do |app|
2
+
3
+ # Extracted from Teacup: https://github.com/rubymotion/teacup
4
+ # Thanks Colin! (@colinta)
5
+ platform = app.respond_to?(:template) ? app.template : :ios
6
+
7
+ platform_joybox = File.expand_path(File.join(File.dirname(__FILE__), "../../motion/joybox-#{platform}"))
8
+ platform_vendor = File.expand_path(File.join(File.dirname(__FILE__), "../../vendor/vendor-#{platform}"))
9
+
10
+
11
+ app.frameworks += ["QuartzCore",
12
+ "CoreGraphics",
13
+ "Foundation",
14
+ "ApplicationServices",
15
+ "OpenAL",
16
+ "AVFoundation",
17
+ "AudioToolbox",
18
+ "QuartzCore"]
19
+
20
+ app.libs << "/usr/lib/libz.dylib"
21
+
22
+
23
+ cocos2d_vendor = File.expand_path(File.join(platform_vendor, "cocos_2d"))
24
+ box2d_vendor = File.expand_path(File.join(platform_vendor, "Box2D.framework"))
25
+
26
+ app.vendor_project(cocos2d_vendor,
27
+ :static,
28
+ :products => ["libcocos2d.a"],
29
+ :headers_dir => "include",
30
+ :bridgesupport_cflags => "-D__CC_PLATFORM_IOS -ISupport -IPlatforms -IPlatforms/iOS",
31
+ :bridgesupport_exceptions => ["cocos_2d_exceptions.bridgesupport"])
32
+
33
+ app.vendor_project(box2d_vendor,
34
+ :static,
35
+ :products => ['Box2D'],
36
+ :headers_dir => "Headers")
37
+
38
+
39
+ # Scans app.files until it finds app/ (the default)
40
+ # if found, it inserts just before those files, otherwise it will insert to
41
+ # the end of the list
42
+ insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
43
+
44
+ Dir.glob(File.join(platform_joybox, '**/*.rb')).reverse.each do |file|
45
+ app.files.insert(insert_point, file)
46
+ end
47
+ end
@@ -0,0 +1,47 @@
1
+ Motion::Project::App.setup do |app|
2
+
3
+ # Extracted from Teacup: https://github.com/rubymotion/teacup
4
+ # Thanks Colin! (@colinta)
5
+ platform = app.respond_to?(:template) ? app.template : :ios
6
+
7
+ platform_joybox = File.expand_path(File.join(File.dirname(__FILE__), "../../motion/joybox-#{platform}"))
8
+ platform_vendor = File.expand_path(File.join(File.dirname(__FILE__), "../../vendor/vendor-#{platform}"))
9
+
10
+
11
+ app.frameworks += ["Cocoa",
12
+ "OpenGL",
13
+ "QuartzCore",
14
+ "ApplicationServices",
15
+ "AppKit",
16
+ "CoreData",
17
+ "Foundation",
18
+ "JavaScriptCore",
19
+ "CoreGraphics"]
20
+
21
+ app.libs << "/usr/lib/libz.dylib"
22
+ app.libs << "/usr/lib/libffi.dylib"
23
+
24
+
25
+ cocos2d_vendor = File.expand_path(File.join(platform_vendor, "cocos_2d"))
26
+ box2d_vendor = File.expand_path(File.join(platform_vendor, "box_2d"))
27
+
28
+ app.vendor_project(cocos2d_vendor,
29
+ :static,
30
+ :products => ["libcocos2d.a"],
31
+ :bridgesupport_cflags => "-D__CC_PLATFORM_MAC -ISupport -IPlatforms -IPlatforms/Mac")
32
+
33
+ app.vendor_project(box2d_vendor,
34
+ :static,
35
+ :products => ['libBox2D.a'],
36
+ :bridgesupport_cflags => "-D__CC_PLATFORM_MAC -ISupport -IPlatforms -IPlatforms/Mac")
37
+
38
+
39
+ # Scans app.files until it finds app/ (the default)
40
+ # if found, it inserts just before those files, otherwise it will insert to
41
+ # the end of the list
42
+ insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
43
+
44
+ Dir.glob(File.join(platform_joybox, '**/*.rb')).reverse.each do |file|
45
+ app.files.insert(insert_point, file)
46
+ end
47
+ end
@@ -1,3 +1,3 @@
1
1
  module Joybox
2
- VERSION = '0.0.5' unless defined?(Joybox::VERSION)
2
+ VERSION = '0.0.6' unless defined?(Joybox::VERSION)
3
3
  end