joybox 0.0.6 → 1.0.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 (202) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +18 -2
  3. data/Rakefile +1 -2
  4. data/joybox.gemspec +34 -35
  5. data/lib/joybox/joybox-ios.rb +2 -4
  6. data/lib/joybox/version.rb +1 -1
  7. data/motion/joybox-ios/configuration/configuration.rb +12 -1
  8. data/motion/joybox-ios/configuration/debug.rb +27 -0
  9. data/motion/joybox-ios/debug/debug.rb +10 -0
  10. data/motion/joybox-ios/debug/node.rb +66 -0
  11. data/motion/joybox-ios/debug/proxy_view.rb +31 -0
  12. data/motion/joybox-osx/configuration/configuration.rb +11 -0
  13. data/motion/joybox-osx/configuration/debug.rb +27 -0
  14. data/motion/joybox-osx/configuration/sprite_view.rb +91 -0
  15. data/motion/joybox-osx/debug/debug.rb +10 -0
  16. data/motion/joybox-osx/debug/node.rb +51 -0
  17. data/motion/joybox-osx/debug/proxy_view.rb +31 -0
  18. data/motion/joybox/actions/fade.rb +1 -3
  19. data/motion/joybox/core/ns_object.rb +8 -0
  20. data/motion/joybox/core/sprite.rb +19 -13
  21. data/motion/joybox/macros.rb +3 -3
  22. data/motion/joybox/physics/body.rb +0 -1
  23. data/motion/joybox/physics/physics_sprite.rb +14 -11
  24. data/motion/joybox/physics/world.rb +4 -4
  25. data/template/joybox-ios-example-repl/files/Rakefile.erb +9 -0
  26. data/template/joybox-ios-example-repl/files/app/app_delegate.rb +55 -0
  27. data/template/joybox-ios-example-repl/files/app/layers/actions_layer.rb +13 -0
  28. data/template/joybox-ios-example-repl/files/app/layers/background_layer.rb +9 -0
  29. data/template/joybox-ios-example-repl/files/app/scenes/game_scene.rb +11 -0
  30. data/template/joybox-ios-example-repl/files/resources/fps_images-hd.png +0 -0
  31. data/template/joybox-ios-example-repl/files/resources/fps_images-ipadhd.png +0 -0
  32. data/template/joybox-ios-example-repl/files/resources/fps_images.png +0 -0
  33. data/template/joybox-ios-example-repl/files/resources/images/background.png +0 -0
  34. data/template/joybox-ios-example-repl/files/resources/sprites/character_boy.png +0 -0
  35. data/template/joybox-ios-example-repl/files/resources/sprites/character_horn_girl.png +0 -0
  36. data/template/joybox-ios-example-repl/files/resources/sprites/character_pink_girl.png +0 -0
  37. data/template/joybox-ios-example-repl/files/spec/layers/actions_layer_spec.rb +3 -0
  38. data/template/joybox-ios-example-repl/files/spec/layers/background_layer_spec.rb +3 -0
  39. data/template/joybox-ios-example-repl/files/spec/main_spec.rb +9 -0
  40. data/template/joybox-ios-example-repl/files/spec/scenes/game_scene_spec.rb +3 -0
  41. data/template/joybox-ios/files/resources/Default-568h@2x.png +0 -0
  42. data/template/joybox-osx-example-repl/files/Rakefile.erb +9 -0
  43. data/template/joybox-osx-example-repl/files/app/app_delegate.rb +32 -0
  44. data/template/joybox-osx-example-repl/files/app/layers/actions_layer.rb +20 -0
  45. data/template/joybox-osx-example-repl/files/app/layers/background_layer.rb +9 -0
  46. data/template/joybox-osx-example-repl/files/app/menu.rb +51 -0
  47. data/template/joybox-osx-example-repl/files/app/scenes/game_scene.rb +11 -0
  48. data/template/joybox-osx-example-repl/files/readme.md +12 -0
  49. data/template/joybox-osx-example-repl/files/resources/fps_images-hd.png +0 -0
  50. data/template/joybox-osx-example-repl/files/resources/fps_images-ipadhd.png +0 -0
  51. data/template/joybox-osx-example-repl/files/resources/fps_images.png +0 -0
  52. data/template/joybox-osx-example-repl/files/resources/images/background.png +0 -0
  53. data/template/joybox-osx-example-repl/files/resources/sprites/character_boy.png +0 -0
  54. data/template/joybox-osx-example-repl/files/resources/sprites/character_horn_girl.png +0 -0
  55. data/template/joybox-osx-example-repl/files/resources/sprites/character_pink_girl.png +0 -0
  56. data/template/joybox-osx-example-repl/files/spec/layers/actions_layer_spec.rb +3 -0
  57. data/template/joybox-osx-example-repl/files/spec/layers/background_layer_spec.rb +3 -0
  58. data/template/joybox-osx-example-repl/files/spec/main_spec.rb +9 -0
  59. data/template/joybox-osx-example-repl/files/spec/scenes/game_scene_spec.rb +3 -0
  60. data/template/joybox-osx/files/app/layers/default_layer.rb +2 -4
  61. data/vendor/vendor-ios/box_2d/box_2d.bridgesupport +176 -0
  62. data/vendor/{vendor-osx/box_2d/include → vendor-ios/box_2d/box_2d_include}/B2DBody.h +1 -1
  63. data/vendor/vendor-ios/{Box2D.framework/Versions/A/Headers/Collision/Shapes → box_2d/box_2d_include}/B2DCircleShape.h +1 -1
  64. data/vendor/{vendor-osx/box_2d/include → vendor-ios/box_2d/box_2d_include}/B2DContactListener.h +1 -2
  65. data/vendor/{vendor-osx/box_2d/include → vendor-ios/box_2d/box_2d_include}/B2DEdgeShape.h +1 -1
  66. data/vendor/{vendor-osx/box_2d/include → vendor-ios/box_2d/box_2d_include}/B2DPolygonShape.h +1 -1
  67. data/vendor/{vendor-osx/box_2d/include → vendor-ios/box_2d/box_2d_include}/B2DShape.h +1 -1
  68. data/vendor/{vendor-osx/box_2d/include → vendor-ios/box_2d/box_2d_include}/B2DWorld.h +5 -4
  69. data/vendor/vendor-ios/box_2d/libBox2D.a +0 -0
  70. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCAction.h +0 -0
  71. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCActionCamera.h +0 -0
  72. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCActionCatmullRom.h +0 -0
  73. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCActionEase.h +0 -0
  74. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCActionGrid.h +0 -0
  75. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCActionGrid3D.h +0 -0
  76. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCActionInstant.h +0 -0
  77. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCActionInterval.h +0 -0
  78. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCActionManager.h +0 -0
  79. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCActionPageTurn3D.h +0 -0
  80. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCActionProgressTimer.h +0 -0
  81. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCActionTiledGrid.h +0 -0
  82. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCActionTween.h +0 -0
  83. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCAnimation.h +0 -0
  84. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCAnimationCache.h +0 -0
  85. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCAtlasNode.h +0 -0
  86. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCCamera.h +0 -0
  87. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCClippingNode.h +0 -0
  88. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCConfiguration.h +0 -0
  89. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCDirector.h +0 -0
  90. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCDrawNode.h +0 -0
  91. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCDrawingPrimitives.h +0 -0
  92. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCGLProgram.h +0 -0
  93. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCGrabber.h +0 -0
  94. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCGrid.h +0 -0
  95. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCLabelAtlas.h +0 -0
  96. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCLabelBMFont.h +0 -0
  97. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCLabelTTF.h +0 -0
  98. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCLayer.h +0 -0
  99. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCMenu.h +0 -0
  100. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCMenuItem.h +0 -0
  101. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCMotionStreak.h +0 -0
  102. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCNode+Debug.h +0 -0
  103. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCNode.h +0 -0
  104. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCParallaxNode.h +0 -0
  105. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCParticleBatchNode.h +0 -0
  106. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCParticleExamples.h +0 -0
  107. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCParticleSystem.h +0 -0
  108. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCParticleSystemQuad.h +0 -0
  109. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCPhysicsDebugNode.h +0 -0
  110. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCPhysicsSprite.h +0 -0
  111. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCProgressTimer.h +0 -0
  112. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCProtocols.h +0 -0
  113. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCRenderTexture.h +0 -0
  114. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCScene.h +0 -0
  115. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCScheduler.h +0 -0
  116. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCShaderCache.h +0 -0
  117. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCSprite.h +0 -0
  118. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCSpriteBatchNode.h +0 -0
  119. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCSpriteFrame.h +0 -0
  120. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCSpriteFrameCache.h +0 -0
  121. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCTMXLayer.h +0 -0
  122. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCTMXObjectGroup.h +0 -0
  123. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCTMXTiledMap.h +0 -0
  124. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCTMXXMLParser.h +0 -0
  125. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCTexture2D.h +0 -0
  126. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCTextureAtlas.h +0 -0
  127. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCTextureCache.h +0 -0
  128. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCTexturePVR.h +0 -0
  129. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCTileMapAtlas.h +0 -0
  130. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCTransition.h +0 -0
  131. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCTransitionPageTurn.h +0 -0
  132. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/CCTransitionProgress.h +0 -0
  133. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/CCGL.h +0 -0
  134. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/CCNS.h +0 -0
  135. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/Mac/CCDirectorMac.h +0 -0
  136. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/Mac/CCEventDispatcher.h +0 -0
  137. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/Mac/CCGLView.h +0 -0
  138. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/Mac/CCWindow.h +0 -0
  139. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/iOS/CCDirectorIOS.h +0 -0
  140. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/iOS/CCES2Renderer.h +0 -0
  141. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/iOS/CCESRenderer.h +0 -0
  142. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/iOS/CCGLView.h +0 -0
  143. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/iOS/CCTouchDelegateProtocol.h +0 -0
  144. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/iOS/CCTouchDispatcher.h +0 -0
  145. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Platforms/iOS/CCTouchHandler.h +0 -0
  146. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/CCArray.h +0 -0
  147. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/CCFileUtils.h +0 -0
  148. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/CCProfiling.h +0 -0
  149. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/CCVertex.h +0 -0
  150. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/CGPointExtension.h +0 -0
  151. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/NSThread+performBlock.h +0 -0
  152. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/OpenGL_Internal.h +0 -0
  153. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/TGAlib.h +0 -0
  154. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/TransformUtils.h +0 -0
  155. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/ZipUtils.h +0 -0
  156. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/base64.h +0 -0
  157. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/ccCArray.h +0 -0
  158. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/ccUtils.h +0 -0
  159. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/uthash.h +0 -0
  160. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/Support/utlist.h +0 -0
  161. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccConfig.h +0 -0
  162. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccDeprecated.h +0 -0
  163. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccFPSImages.h +0 -0
  164. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccGLStateCache.h +0 -0
  165. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccMacros.h +0 -0
  166. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionColorLengthTexture_frag.h +0 -0
  167. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionColorLengthTexture_vert.h +0 -0
  168. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionColor_frag.h +0 -0
  169. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionColor_vert.h +0 -0
  170. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionTextureA8Color_frag.h +0 -0
  171. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionTextureA8Color_vert.h +0 -0
  172. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionTextureColorAlphaTest_frag.h +0 -0
  173. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionTextureColor_frag.h +0 -0
  174. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionTextureColor_vert.h +0 -0
  175. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionTexture_frag.h +0 -0
  176. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionTexture_uColor_frag.h +0 -0
  177. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionTexture_uColor_vert.h +0 -0
  178. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_PositionTexture_vert.h +0 -0
  179. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_Position_uColor_frag.h +0 -0
  180. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShader_Position_uColor_vert.h +0 -0
  181. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccShaders.h +0 -0
  182. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/ccTypes.h +0 -0
  183. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/cocos2d-ios-exceptions.bridgesupport +0 -0
  184. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/cocos2d.h +0 -0
  185. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/gen_cocos2d_bridgesupport.sh +0 -0
  186. data/vendor/vendor-ios/cocos_2d/{include → cocos_2d_include}/gen_cocos2d_complement.sh +0 -0
  187. data/vendor/vendor-osx/box_2d/box_2d.bridgesupport +87 -87
  188. data/vendor/{vendor-ios/Box2D.framework/Versions/A/Headers/Dynamics → vendor-osx/box_2d/box_2d_include}/B2DBody.h +5 -2
  189. data/vendor/vendor-osx/box_2d/{include → box_2d_include}/B2DCircleShape.h +1 -1
  190. data/vendor/{vendor-ios/Box2D.framework/Versions/A/Headers/Collision → vendor-osx/box_2d/box_2d_include}/B2DContactListener.h +6 -2
  191. data/vendor/{vendor-ios/Box2D.framework/Versions/A/Headers/Collision/Shapes → vendor-osx/box_2d/box_2d_include}/B2DEdgeShape.h +1 -1
  192. data/vendor/{vendor-ios/Box2D.framework/Versions/A/Headers/Collision/Shapes → vendor-osx/box_2d/box_2d_include}/B2DPolygonShape.h +1 -1
  193. data/vendor/{vendor-ios/Box2D.framework/Versions/A/Headers/Collision/Shapes → vendor-osx/box_2d/box_2d_include}/B2DShape.h +5 -2
  194. data/vendor/{vendor-ios/Box2D.framework/Versions/A/Headers/Dynamics → vendor-osx/box_2d/box_2d_include}/B2DWorld.h +9 -5
  195. data/vendor/vendor-osx/box_2d/libBox2D.a +0 -0
  196. metadata +199 -165
  197. data/vendor/vendor-ios/Box2D.framework/Box2D +0 -0
  198. data/vendor/vendor-ios/Box2D.framework/Box2D.framework.bridgesupport +0 -176
  199. data/vendor/vendor-ios/Box2D.framework/Versions/A/Box2D +0 -0
  200. data/vendor/vendor-ios/Box2D.framework/Versions/A/Resources/Box2DConfig.cmake +0 -3
  201. data/vendor/vendor-ios/Box2D.framework/Versions/A/Resources/CMakeLists.txt +0 -205
  202. data/vendor/vendor-ios/Box2D.framework/Versions/A/Resources/LICENSE +0 -22
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ODczNzk5MjM1YzkyNWM0NDJlZjAxZjkzNDdlOGNhYmNjYmNkODY2MQ==
4
+ NmVlNDc5NzkzNDc5M2M5ZDg2ZDk5ZDM4YmU5OGU2NTI4M2QzMDgwNg==
5
5
  data.tar.gz: !binary |-
6
- NWVjMjU5MjA5NDM4YjViY2UzZjJhODc3Y2IxNWYzNzNmYzYyY2E5Mg==
6
+ NmJjN2MwMGI0ODRmYTI4YWIwOTc2YTYzYmZiMGY5NTExZTIwY2U2OQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ODEzZTdmNmY3MGYzZTk2YTA4NDNkMGY0NjNjNmI1NGI1YTg5NzM4Y2ZiYzVl
10
- YWU1YTlkNWE3YTQ4NGNiN2EzYWRjZDkxNTFlYWM3NDEzMjI1ZWEzMTc5ZTIy
11
- Nzg2ZDUzZWFkYjhmODJhNjJhMDE5ZTgyMmEyZDlhZDUwNDgxZDg=
9
+ ZTRjMTJjNmMwM2JlY2NkODE3OGY4ZDI4MmViY2JhNThmMWJlZDIxMmE5ZDNk
10
+ YjY1NmE1YjI5ZjlmNzc3MDU5NTczOWJkZTQ0NjI3NmY5ZWQ1MDlhMjhkMTQ3
11
+ Y2FjMmE0N2YyY2M4ZjMzMDYwMmM4ODRiNTJhYjQ2NmZiZDBmYTA=
12
12
  data.tar.gz: !binary |-
13
- YTQxZjMzMDQ5MmM5YTg4NWQzMDVlNWQ0NzExMjcxNGM3MjNlMWFlNjAyYTdh
14
- NjE4N2E1ZDAwMjY4NTRkNTU4YTUyNzIxOGMxNzcwMjQ5NjE0NzZhYWQ5NWNh
15
- MjQ0NmNiYWJiZmI2OGE2YmViYzQ3YWMyYTFmNTE3OGJlYjc4MzI=
13
+ N2ViYmFhZmNhNmY3ODE2ZjE0ZGVmZjM3ODJiZmE5YTEwYmY4MWQzOTdlNTkz
14
+ MGI1NTcxZWE2YjcyMjBmNWI3MTQ2MTZhYjY0MGIzNzViNjMxZDUxZThhYzM4
15
+ MWVlM2Q4NDMyN2U2OWVhYWJmOWQyNWQ0NDlhNjBkN2FmNTE0Nzc=
data/README.md CHANGED
@@ -3,7 +3,7 @@ Introduced at [#Inspect 2013](http://www.rubymotion.com/conference/), Joybox is
3
3
 
4
4
  For more information, see the presentation: [Cocos2D, an Easier Way](https://speakerdeck.com/curveberyl/cocos2d-an-easier-way).
5
5
 
6
- ## Latest version history (0.0.6)
6
+ ## Latest version (0.0.6)
7
7
  * Added OSX development support. Use 'motion create --template=joybox-osx' to create
8
8
  an OSX project.
9
9
  * Added Ruby Motion Template support. Use 'joybox install' to install the templates (joybox-ios & joybox-osx)
@@ -16,7 +16,8 @@ For more information, see the presentation: [Cocos2D, an Easier Way](https://spe
16
16
  * IMPORTANT: Changed Sequence.new items:<array of actions> for Sequence.with actions:<array of actions> in Sequence class.
17
17
  * IMPORTANT: Typo fix in the Body class, changing edge_fixure and polygon_fixure to edge_fixture and polygon_fixture.
18
18
  * Better bridgesupport generation :D, thank you Laurent Sansonetti!
19
- * Added: mouse and keyboard events to joybox-osx.
19
+ * Added: mouse and keyboard events to joybox-osx.
20
+ * Added: Bug fixes in the Website! Thanks Francisco Granados!
20
21
  * Joybox is stopping the madness! **Thanks all** for your support!
21
22
 
22
23
  ## Documentation and Getting Started
@@ -24,6 +25,20 @@ If you are looking for the installation process and the documentation, please vi
24
25
 
25
26
  Also you can look at some examples in this repository: [Joybox - Examples](https://github.com/CurveBeryl/Joybox-Examples)
26
27
 
28
+ ## Troubleshoot Installation
29
+ If you run into troubles running your Joybox game, please do the following, in the root folder of your project:
30
+ ```
31
+ gem uninstall joybox -a
32
+
33
+ gem install joybox
34
+
35
+ rm .repl_history
36
+
37
+ rake clean
38
+
39
+ rake
40
+ ```
41
+
27
42
  ## Feedback and Help
28
43
  For questions, feedback, bug reports, use the project's [Issue Tracker](https://github.com/rubymotion/Joybox/issues).
29
44
 
@@ -35,6 +50,7 @@ If you wish to help us to stop the madness, there are some ways you can do it:
35
50
  * Box2D Wrapper (C++): [Joybox - Box2D](https://github.com/CurveBeryl/Joybox-Box2D)
36
51
  * Documentation (markdown): [Joybox - Documentation](https://github.com/CurveBeryl/Joybox-Documentation)
37
52
 
53
+ To contribute just:
38
54
 
39
55
  1. Fork it
40
56
  2. Create your feature branch (git checkout -b my-new-feature)
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  $:.unshift("/Library/RubyMotion/lib")
2
- require 'motion/project/template/ios'
2
+ require 'motion/project/template/osx'
3
3
  require 'bundler'
4
4
  Bundler.require
5
5
 
@@ -9,5 +9,4 @@ Motion::Project::App.setup do |app|
9
9
  app.name = 'Joybox'
10
10
  app.identifier = 'com.rubymotion.joybox'
11
11
  app.version = "0.0.1"
12
-
13
12
  end
@@ -26,44 +26,43 @@ Gem::Specification.new do |gem|
26
26
  gem.executables = ["joybox"]
27
27
 
28
28
  gem.post_install_message = <<-MESSAGE
29
- ** Joybox 0.0.6 **
29
+ ** Joybox 1.0.0 **
30
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.
31
+ * Added REPL Support for iOS and OSX :D
32
+ * NOTE: If the iOS simulator starts on landscape orientation, please rotate and return it.
33
+ (cmd + => and cmd + <=)
34
+ * Added REPL Example Template. Use 'motion create --template=joybox-ios-example-repl <name>' or
35
+ 'motion create --template=joybox-osx-example-repl <name>'
36
+ * IMPORTANT: Typo fix in World class (Joybox, Box2D and Website), changing to continuous_physics the configuration, thank you David Czarnecki!
37
+ * IMPORTANT: Typo fix in Macros, changing jbpLenght to jpbLength, thank you David Czarnecki!
38
+ * Added: Clear extra lines in iOS Template. Thank you Willrax!
39
+ * Added: Examples iPhone 5 support
40
+ * Added: iOS Template iPhone 5 support
44
41
  * Joybox is stopping the madness! Thanks all for your support!
45
42
 
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__________
43
+ 0
44
+ 101
45
+ 01010
46
+ 1010101
47
+ 010101010
48
+ 10101010101
49
+ 0101010101010
50
+ 101010101010101
51
+ 01010101010101010
52
+ 1010101010101010101
53
+ 010101010101010101010
54
+ 1 1
55
+ 010 010
56
+ 10101 10101
57
+ 0101010 0101010
58
+ 101010101 101010101
59
+ 01010101010 01010101010
60
+ 1010101010101 1010101010101
61
+ 010101010101010 010101010101010
62
+ 10101010101010101 10101010101010101
63
+ 0101010101010101010 0101010101010101010
64
+ 1010101010101010101011101010101010101010101
65
+
67
66
  MESSAGE
68
67
 
69
68
  end
@@ -21,19 +21,17 @@ Motion::Project::App.setup do |app|
21
21
 
22
22
 
23
23
  cocos2d_vendor = File.expand_path(File.join(platform_vendor, "cocos_2d"))
24
- box2d_vendor = File.expand_path(File.join(platform_vendor, "Box2D.framework"))
24
+ box2d_vendor = File.expand_path(File.join(platform_vendor, "box_2d"))
25
25
 
26
26
  app.vendor_project(cocos2d_vendor,
27
27
  :static,
28
28
  :products => ["libcocos2d.a"],
29
- :headers_dir => "include",
30
29
  :bridgesupport_cflags => "-D__CC_PLATFORM_IOS -ISupport -IPlatforms -IPlatforms/iOS",
31
30
  :bridgesupport_exceptions => ["cocos_2d_exceptions.bridgesupport"])
32
31
 
33
32
  app.vendor_project(box2d_vendor,
34
33
  :static,
35
- :products => ['Box2D'],
36
- :headers_dir => "Headers")
34
+ :products => ['libBox2D.a'])
37
35
 
38
36
 
39
37
  # Scans app.files until it finds app/ (the default)
@@ -1,3 +1,3 @@
1
1
  module Joybox
2
- VERSION = '0.0.6' unless defined?(Joybox::VERSION)
2
+ VERSION = '1.0.0' unless defined?(Joybox::VERSION)
3
3
  end
@@ -1,6 +1,6 @@
1
1
  module Joybox
2
2
  module Configuration
3
-
3
+
4
4
  module_function
5
5
 
6
6
  def setup(&block)
@@ -18,6 +18,7 @@ module Joybox
18
18
  opengl_view unless @is_opengl_view_configured
19
19
  texture_2d unless @is_texture_2d_configured
20
20
  file_utils unless @is_file_utils_configured
21
+ debug unless @is_debug_configured
21
22
  end
22
23
 
23
24
 
@@ -64,5 +65,15 @@ module Joybox
64
65
  @is_file_utils_configured = true
65
66
  end
66
67
 
68
+
69
+ def debug(*hash)
70
+
71
+ hash = hash.pop
72
+
73
+ Debug.configure(hash)
74
+
75
+ @is_debug_configured = true
76
+ end
77
+
67
78
  end
68
79
  end
@@ -0,0 +1,27 @@
1
+ module Joybox
2
+ module Configuration
3
+
4
+ class Debug
5
+
6
+ def self.default_configuration
7
+ {
8
+ repl: false,
9
+ bounding_box: false
10
+ }
11
+ end
12
+
13
+ def self.configure(options = {})
14
+ options = options.nil? ? default_configuration : default_configuration.merge!(options)
15
+ options[:repl] = true if options[:bounding_box]
16
+
17
+ Object.send(:include, Joybox) if options[:repl]
18
+ Sprite.send(:include, Joybox::Debug::Node) if options[:repl]
19
+
20
+ Joybox::Debug.repl = options[:repl]
21
+ Joybox::Debug.bounding_box = options[:bounding_box]
22
+ end
23
+
24
+ end
25
+
26
+ end
27
+ end
@@ -0,0 +1,10 @@
1
+ module Joybox
2
+ module Debug
3
+
4
+ class << self
5
+ attr_accessor :repl
6
+ attr_accessor :bounding_box
7
+ end
8
+
9
+ end
10
+ end
@@ -0,0 +1,66 @@
1
+ module Joybox
2
+ module Debug
3
+ module Node
4
+
5
+ def self.included(base)
6
+ base.send(:attr_accessor, :proxy_view)
7
+ base.send(:attr_accessor, :bounding_box_layer)
8
+ end
9
+
10
+ def initialize
11
+ @proxy_view = ProxyView.alloc.initWithFrame(translated_bounding_box)
12
+ @proxy_view.userInteractionEnabled = false
13
+ @proxy_view.node = self
14
+ Joybox.director.view.addSubview(@proxy_view)
15
+
16
+ initialize_bounding_box_layer if Joybox::Debug.bounding_box
17
+ end
18
+
19
+ def initialize_bounding_box_layer
20
+ @bounding_box_layer = CALayer.layer
21
+ @bounding_box_layer.borderColor = UIColor.greenColor.CGColor
22
+ @bounding_box_layer.borderWidth = 2
23
+ @bounding_box_layer.frame = translated_bounding_box
24
+
25
+ @proxy_view.layer.addSublayer(@bounding_box_layer)
26
+ end
27
+
28
+ def cleanup
29
+ @proxy_view.removeFromSuperview
30
+ super
31
+ end
32
+
33
+ def translated_bounding_box
34
+ bounding_box = boundingBox
35
+ bounding_box.origin = bounding_box.origin.from_opengl_coordinates
36
+ bounding_box.origin.y = bounding_box.origin.y - bounding_box.size.height
37
+ bounding_box
38
+ end
39
+
40
+ def setPosition(position)
41
+ super
42
+ update_bounding_box
43
+ end
44
+
45
+ def setContentSize(size)
46
+ super
47
+ @proxy_view.removeFromSuperview if boundingBox.size.width == Screen.width
48
+ update_bounding_box
49
+ end
50
+
51
+ def nodeToParentTransform
52
+ update_bounding_box
53
+ super
54
+ end
55
+
56
+
57
+ private
58
+
59
+ def update_bounding_box
60
+ @proxy_view.frame = translated_bounding_box unless @proxy_view.nil?
61
+ @bounding_box_layer.frame = @proxy_view.bounds unless @bounding_box_layer.nil?
62
+ end
63
+
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,31 @@
1
+ module Joybox
2
+ module Debug
3
+
4
+ class ProxyView < UIView
5
+
6
+ attr_accessor :node
7
+
8
+ def to_s
9
+ @node.to_s
10
+ end
11
+
12
+ def position
13
+ @node.position
14
+ end
15
+
16
+ def position=(position)
17
+ @node.position = position
18
+ end
19
+
20
+ def method_missing(method, *args, &block)
21
+ if @node.respond_to?(method)
22
+ @node.send(method, *args, &block)
23
+ else
24
+ raise NoMethodError
25
+ end
26
+ end
27
+
28
+ end
29
+
30
+ end
31
+ end
@@ -16,6 +16,7 @@ module Joybox
16
16
 
17
17
  director unless @is_director_configured
18
18
  opengl_view unless @is_opengl_view_configured
19
+ debug unless @is_debug_configured
19
20
  end
20
21
 
21
22
 
@@ -42,5 +43,15 @@ module Joybox
42
43
  @is_opengl_view_configured = true
43
44
  end
44
45
 
46
+
47
+ def debug(*hash)
48
+
49
+ hash = hash.pop
50
+
51
+ Debug.configure(hash)
52
+
53
+ @is_debug_configured = true
54
+ end
55
+
45
56
  end
46
57
  end
@@ -0,0 +1,27 @@
1
+ module Joybox
2
+ module Configuration
3
+
4
+ class Debug
5
+
6
+ def self.default_configuration
7
+ {
8
+ repl: false,
9
+ bounding_box: false
10
+ }
11
+ end
12
+
13
+ def self.configure(options = {})
14
+ options = options.nil? ? default_configuration : default_configuration.merge!(options)
15
+ options[:repl] = true if options[:bounding_box]
16
+
17
+ Object.send(:include, Joybox) if options[:repl]
18
+ Sprite.send(:include, Joybox::Debug::Node) if options[:repl]
19
+
20
+ Joybox::Debug.repl = options[:repl]
21
+ Joybox::Debug.bounding_box = options[:bounding_box]
22
+ end
23
+
24
+ end
25
+
26
+ end
27
+ end
@@ -0,0 +1,91 @@
1
+ module Joybox
2
+ module Core
3
+
4
+ class Sprites < CCSprite
5
+
6
+ attr_accessor :view
7
+
8
+ class << self
9
+ alias_method :old_new, :new
10
+ end
11
+
12
+
13
+ alias_method :old_nodeToParentTransform, :nodeToParentTransform
14
+
15
+ def self.new(options={})
16
+
17
+ sprite = old_new(options)
18
+
19
+ if sprite.boundingBox.size.width < Screen.width
20
+
21
+ view = SpriteView.alloc.initWithFrame(sprite.boundingBox)
22
+ view.sprite = sprite
23
+
24
+ sprite.view = view
25
+
26
+ Object.send(:include, Joybox)
27
+
28
+ Joybox.director.view.addSubview(view)
29
+
30
+ end
31
+
32
+ sprite
33
+ end
34
+
35
+ def setPosition(position)
36
+ super
37
+
38
+ unless @view.nil?
39
+ @view.frame = self.boundingBox
40
+ end
41
+ end
42
+
43
+
44
+ def setContentSize(size)
45
+ super
46
+
47
+ unless @view.nil?
48
+ @view.frame = self.boundingBox
49
+ end
50
+ end
51
+
52
+
53
+ def nodeToParentTransform
54
+ return super if @body.nil?
55
+ setPosition(@body.position)
56
+ end
57
+
58
+ end
59
+
60
+
61
+ class SpriteView < NSView
62
+
63
+ attr_accessor :sprite
64
+
65
+ def to_s
66
+ @sprite.to_s
67
+ end
68
+
69
+
70
+ def forwardInvocation(invocation)
71
+ if @sprite.respondsToSelector(invocation.selector)
72
+ invocation.invokeWithTarget(@sprite)
73
+ else
74
+ super
75
+ end
76
+ end
77
+
78
+
79
+ def methodSignatureForSelector(selector)
80
+ if @sprite.respondsToSelector(selector)
81
+ p @sprite.class
82
+ Sprite.class.instanceMethodSignatureForSelector(selector) or @sprite.class.instanceMethodSignatureForSelector(selector)
83
+ else
84
+ super
85
+ end
86
+ end
87
+
88
+ end
89
+
90
+ end
91
+ end