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
@@ -12,25 +12,25 @@ module Joybox
12
12
 
13
13
  def self.width
14
14
 
15
- CCDirector.sharedDirector.winSize.width
15
+ Joybox.director.winSize.width
16
16
  end
17
17
 
18
18
 
19
19
  def self.half_width
20
20
 
21
- CCDirector.sharedDirector.winSize.width / 2
21
+ Joybox.director.winSize.width / 2
22
22
  end
23
23
 
24
24
 
25
25
  def self.height
26
26
 
27
- CCDirector.sharedDirector.winSize.height
27
+ Joybox.director.winSize.height
28
28
  end
29
29
 
30
30
 
31
31
  def self.half_height
32
32
 
33
- CCDirector.sharedDirector.winSize.height / 2
33
+ Joybox.director.winSize.height / 2
34
34
  end
35
35
 
36
36
  end
@@ -0,0 +1,51 @@
1
+ module Joybox
2
+ module Core
3
+
4
+ class Layer < CCLayer
5
+
6
+ def self.scene
7
+
8
+ define_singleton_method(:scene) do
9
+
10
+ scene = CCScene.new
11
+
12
+ menu_layer = self.new
13
+
14
+ scene << menu_layer
15
+ end
16
+ end
17
+
18
+
19
+ def onEnter
20
+
21
+ super
22
+
23
+ on_enter if defined? (on_enter)
24
+ end
25
+
26
+
27
+ def onExit
28
+
29
+ super
30
+
31
+ on_exit if defined? (on_exit)
32
+ end
33
+
34
+
35
+ def schedule_update(&block)
36
+
37
+ @schedule_update_block = block if block_given?
38
+
39
+ scheduleUpdate
40
+ end
41
+
42
+
43
+ def update(dt)
44
+
45
+ @schedule_update_block.call(dt) if @schedule_update_block
46
+ end
47
+
48
+ end
49
+
50
+ end
51
+ end
File without changes
File without changes
@@ -3,13 +3,15 @@ module Joybox
3
3
 
4
4
  class Sprite < CCSprite
5
5
 
6
- alias_method :stop_all_actions, :stopAllActions
7
6
  alias_method :run_action, :runAction
7
+ alias_method :stop_action, :stopAction
8
+ alias_method :stop_all_actions, :stopAllActions
8
9
 
9
10
  def self.new(options = {})
10
11
 
11
- sprite ||= new_with_file(options) if options.has_key? (:file_name)
12
+ sprite ||= new_with_file_name(options) if options.has_key? (:file_name)
12
13
  sprite ||= new_with_texture(options) if options.has_key? (:texture)
14
+ sprite ||= new_with_frame_name(options) if options.has_key? (:frame_name)
13
15
 
14
16
  sprite.position = options[:position] if options.has_key? (:position)
15
17
 
@@ -22,9 +24,20 @@ module Joybox
22
24
  self.setTexture(texture)
23
25
  end
24
26
 
27
+
28
+ # Review this in another version, because I dont still quite convinced
29
+ # that this is the correct approach. The alternative is two methods
30
+ # flip_x and flip_y, but I dont like them either.
31
+ def flip(options = {})
32
+
33
+ self.flipX = options[:x] if options.include?(:x)
34
+ self.flipY = options[:y] if options.include?(:y)
35
+ end
36
+
37
+
25
38
  private
26
39
 
27
- def self.new_with_file(options = {})
40
+ def self.new_with_file_name(options = {})
28
41
 
29
42
  spriteWithFile(options[:file_name])
30
43
  end
@@ -42,6 +55,12 @@ module Joybox
42
55
 
43
56
  end
44
57
 
58
+
59
+ def self.new_with_frame_name(options = {})
60
+
61
+ spriteWithSpriteFrameName(options[:frame_name])
62
+ end
63
+
45
64
  end
46
65
 
47
66
  end
@@ -0,0 +1,147 @@
1
+ module Joybox
2
+ module Core
3
+
4
+ class SpriteFrameCache < CCSpriteFrameCache
5
+
6
+ # Class Method Alias Method
7
+ class << self
8
+
9
+ alias_method :frames, :sharedSpriteFrameCache
10
+ alias_method :purge, :purgeSharedSpriteFrameCache
11
+
12
+ end
13
+
14
+ end
15
+
16
+ end
17
+ end
18
+
19
+ # Open the CCSpriteFrameCache Class because of the singleton pattern
20
+ class CCSpriteFrameCache
21
+
22
+ alias_method :remove_all, :removeSpriteFrames
23
+ alias_method :remove_unused_frames, :removeUnusedSpriteFrames
24
+
25
+
26
+ def add(options = {})
27
+
28
+ add_frame_with_name(options) if options.has_key? (:name)
29
+ add_frames_with_file(options) if options.has_key? (:file_name)
30
+
31
+ # Check if it should fail silently or crash if any of the options
32
+ # above are sended
33
+ end
34
+
35
+
36
+ def add_frame_with_name(options = {})
37
+
38
+ if options.has_key? (:frame)
39
+
40
+ addSpriteFrame(options[:frame], name: options[:name])
41
+ end
42
+
43
+ # Check if it should fail silently or crash if any of the options
44
+ # above are sended
45
+ end
46
+
47
+
48
+ def add_frames_with_file(options = {})
49
+
50
+ if options.has_key? (:texture)
51
+
52
+ addSpriteFramesWithFile(options[:file_name], texture: options[:texture])
53
+
54
+ elsif options.has_key? (:texture_file_name)
55
+
56
+ addSpriteFramesWithFile(options[:file_name], textureFilename: options[:texture_file_name])
57
+ else
58
+
59
+ addSpriteFramesWithFile(options[:file_name])
60
+ end
61
+
62
+ end
63
+
64
+
65
+ def remove(options = {})
66
+
67
+ remove_frame_by_name(options) if options.has_key? (:name)
68
+ remove_frame_from_file(options) if options.has_key? (:file_name)
69
+ remove_frame_from_texture(options) if options.has_key? (:texture)
70
+
71
+ # Check if it should fail silently or crash if any of the options
72
+ # above are sended
73
+ end
74
+
75
+
76
+ def remove_frame_by_name(options = {})
77
+
78
+ removeSpriteFrameByName(options[:name])
79
+ end
80
+
81
+
82
+ def remove_frame_from_file(options = {})
83
+
84
+ removeSpriteFramesFromFile(options[:file_name])
85
+ end
86
+
87
+
88
+ def remove_frame_from_texture(options = {})
89
+
90
+ removeSpriteFramesFromTexture(options[:texture])
91
+ end
92
+
93
+
94
+ def [](name)
95
+
96
+ spriteFrameByName(name)
97
+ end
98
+
99
+
100
+ def []=(name, frame)
101
+
102
+ addSpriteFrame(frame, name: name)
103
+ end
104
+
105
+
106
+ def default_where
107
+ {
108
+ from: 0,
109
+ to: nil
110
+ }
111
+ end
112
+
113
+
114
+ def where(options = {})
115
+
116
+ options = options.nil? ? default_where : default_where.merge!(options)
117
+
118
+ frame_prefix = options[:prefix]
119
+ frame_suffix = options[:suffix]
120
+
121
+ frames = Array.new
122
+
123
+ from_frame = options[:from]
124
+ to_frame = options[:to]
125
+
126
+
127
+ frame = nil
128
+
129
+ # Yukihiro Matsumoto recomends using loop instead of while or until statements
130
+ # http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/6745
131
+ loop do
132
+
133
+ frame_name = "#{frame_prefix}#{from_frame}#{frame_suffix}"
134
+
135
+ frame = self[frame_name]
136
+
137
+ frames << frame unless frame.nil?
138
+
139
+ from_frame = from_frame + 1
140
+
141
+ break if frame.nil? or (from_frame > to_frame unless to_frame.nil?)
142
+ end
143
+
144
+ frames
145
+ end
146
+
147
+ end
@@ -3,9 +3,11 @@ module Joybox
3
3
  include Joybox::Common
4
4
  include Joybox::Core
5
5
  include Joybox::Actions
6
+ include Joybox::Animations
6
7
  include Joybox::UI
7
8
  include Joybox::Macros
8
-
9
+ include Joybox::Physics
10
+
9
11
  module_function
10
12
 
11
13
  def director
File without changes
@@ -1,4 +1,4 @@
1
- Joybox::Body = B2DBody
1
+ Joybox::Physics::Body = B2DBody
2
2
 
3
3
  class B2DBody
4
4
 
@@ -22,7 +22,7 @@ class B2DBody
22
22
  end
23
23
 
24
24
 
25
- def fixure_defaults
25
+ def fixture_defaults
26
26
  {
27
27
  friction: 0.2,
28
28
  restitution: 0,
@@ -32,10 +32,10 @@ class B2DBody
32
32
  end
33
33
 
34
34
 
35
- def edge_fixure(*hash)
35
+ def edge_fixture(*hash)
36
36
 
37
37
  options = hash.pop
38
- options = options.nil? ? fixure_defaults : fixure_defaults.merge!(options)
38
+ options = options.nil? ? fixture_defaults : fixture_defaults.merge!(options)
39
39
 
40
40
  # The following lines are needed to ensure that the start_point and
41
41
  # end_points are CGPoints
@@ -45,29 +45,55 @@ class B2DBody
45
45
  edge_shape = B2DEdgeShape.alloc.initWithStartPoint(start_point.to_pixel_coordinates,
46
46
  endPoint: end_point.to_pixel_coordinates)
47
47
 
48
- addFixureForShape(edge_shape,
49
- friction: options[:friction],
50
- restitution: options[:restitution],
51
- density: options[:density],
52
- isSensor: options[:is_sensor])
48
+ addFixtureForShape(edge_shape,
49
+ friction: options[:friction],
50
+ restitution: options[:restitution],
51
+ density: options[:density],
52
+ isSensor: options[:is_sensor])
53
53
  end
54
54
 
55
55
 
56
- def polygon_fixure(*hash)
56
+ def polygon_fixture(*hash)
57
57
 
58
58
  options = hash.pop
59
- options = options.nil? ? fixure_defaults : fixure_defaults.merge!(options)
59
+ options = options.nil? ? fixture_defaults : fixture_defaults.merge!(options)
60
60
 
61
61
  # This line is needed to ensure that the box is a CGSize
62
62
  box_size = CGSizeMake(options[:box][0], options[:box][1])
63
63
 
64
64
  polygon_shape = B2DPolygonShape.alloc.initWithBoxSize(box_size.to_pixel_coordinates)
65
65
 
66
- addFixureForShape(polygon_shape,
67
- friction: options[:friction],
68
- restitution: options[:restitution],
69
- density: options[:density],
70
- isSensor: options[:is_sensor])
66
+ addFixtureForShape(polygon_shape,
67
+ friction: options[:friction],
68
+ restitution: options[:restitution],
69
+ density: options[:density],
70
+ isSensor: options[:is_sensor])
71
+ end
72
+
73
+
74
+ def position=(position)
75
+
76
+ # This line is needed to ensure that the position is a CGPoint
77
+ position = CGPointMake(position[0], position[1])
78
+
79
+ # Coordinate system conversion
80
+ position = position.to_opengl_coordinates
81
+ position = position.to_pixel_coordinates
82
+
83
+ self.setPosition(position)
84
+ end
85
+
86
+
87
+ def circle_fixture(*hash)
88
+ options = hash.pop
89
+ options = options.nil? ? fixture_defaults : fixture_defaults.merge!(options)
90
+
91
+ circle_shape = B2DCircleShape.alloc.initWithRadius(options[:radius].to_pixels)
92
+ addFixtureForShape(circle_shape,
93
+ friction: options[:friction],
94
+ restitution: options[:restitution],
95
+ density: options[:density],
96
+ isSensor: options[:is_sensor])
71
97
  end
72
98
 
73
99
 
@@ -106,4 +132,5 @@ class B2DBody
106
132
  applyTorque(options[:torque],
107
133
  asImpulse: options[:as_impulse])
108
134
  end
109
- end
135
+
136
+ end
@@ -24,7 +24,7 @@ module Joybox
24
24
  # to call the nodeToParentTransform method
25
25
  def nodeToParentTransform
26
26
 
27
- position = @body.position.to_uikit_coordinates
27
+ position = @body.position.from_pixel_coordinates
28
28
 
29
29
  position = position + anchorPointInPoints if ignoreAnchorPointForPosition
30
30
 
@@ -0,0 +1,79 @@
1
+ module Joybox
2
+ module Physics
3
+
4
+ class World < B2DWorld
5
+
6
+ def self.defaults
7
+ {
8
+ gravity: [0, 0],
9
+ allows_sleeping: true,
10
+ continuos_physics: true
11
+ }
12
+ end
13
+
14
+
15
+ def self.new(options)
16
+
17
+ options = options.nil? ? defaults : defaults.merge!(options)
18
+
19
+ world = World.alloc.init
20
+
21
+ world.gravity = options[:gravity]
22
+ world.allowsSleeping = options[:allows_sleeping]
23
+ world.continuosPhysics = options[:continuos_physics]
24
+
25
+ world
26
+ end
27
+
28
+
29
+ def step_defaults
30
+ {
31
+ velocity_interactions: 8,
32
+ position_interactions: 1
33
+ }
34
+ end
35
+
36
+
37
+ def step(options = {})
38
+
39
+ options = options.nil? ? step_defaults : step_defaults.merge!(options)
40
+
41
+ stepWithDelta(options[:delta],
42
+ velocityInteractions: options[:velocity_interactions],
43
+ positionInteractions: options[:position_interactions])
44
+ end
45
+
46
+
47
+ def new_body(options = {}, &block)
48
+ body = Body.new(self, options)
49
+ body.instance_eval(&block) if block
50
+ body
51
+ end
52
+
53
+
54
+ def setup_collision_listener
55
+
56
+ @contact_listener = B2DContactListener.new
57
+ addContactListener(@contact_listener)
58
+
59
+ @listening_bodies = Hash.new
60
+
61
+ @contact_listener.beginContact = lambda { | first_body, second_body, is_touching |
62
+
63
+ @listening_bodies[first_body].call(second_body, is_touching) if @listening_bodies.include? first_body
64
+ @listening_bodies[second_body].call(first_body, is_touching) if @listening_bodies.include? second_body
65
+ }
66
+ end
67
+
68
+
69
+ def when_collide(body, &block)
70
+
71
+ setup_collision_listener unless @contact_listener
72
+
73
+ @listening_bodies[body] = block
74
+ end
75
+
76
+ end
77
+
78
+ end
79
+ end
@@ -8,6 +8,7 @@ module Joybox
8
8
 
9
9
  def self.defaults
10
10
  {
11
+ text: '',
11
12
  font_name: 'Marker Felt',
12
13
  font_size: 12
13
14
  }
@@ -19,8 +20,8 @@ module Joybox
19
20
  options = options.nil? ? defaults : defaults.merge!(options)
20
21
 
21
22
  label = Label.labelWithString(options[:text],
22
- fontName: options[:font_name],
23
- fontSize: options[:font_size])
23
+ fontName: options[:font_name],
24
+ fontSize: options[:font_size])
24
25
 
25
26
  label.position = options[:position] if options.has_key? (:position)
26
27
  label.color = options[:color] if options.has_key? (:color)
File without changes
File without changes
@@ -5,9 +5,10 @@ class CGPoint
5
5
  Joybox.director.convertToGL(self)
6
6
  end
7
7
 
8
- def to_uikit_coordinates
9
8
 
10
- CGPointMake(self.x.from_pixels, self.y.from_pixels)
9
+ def from_opengl_coordinates
10
+
11
+ Joybox.director.convertToUI(self)
11
12
  end
12
13
 
13
14
 
@@ -17,6 +18,12 @@ class CGPoint
17
18
  end
18
19
 
19
20
 
21
+ def from_pixel_coordinates
22
+
23
+ CGPointMake(self.x.from_pixels, self.y.from_pixels)
24
+ end
25
+
26
+
20
27
  def == (point)
21
28
 
22
29
  point.is_a?(CGPoint) && CGPointEqualToPoint(self, point)
@@ -9,7 +9,7 @@ class UITouch
9
9
 
10
10
  def location
11
11
 
12
- locationInView(self.view).to_opengl_coordinates
12
+ Joybox.director.convertTouchToGL(self)
13
13
  end
14
14
 
15
15
  end
@@ -5,8 +5,6 @@ module Joybox
5
5
 
6
6
  def self.default_configuration
7
7
  {
8
-
9
- enable_fallback_suffixes: false,
10
8
  set_iphone_retina_display_suffix: "-hd",
11
9
  set_ipad_suffix: "-ipad",
12
10
  set_ipad_retina_display_suffix: "-ipadhd"
@@ -21,7 +19,6 @@ module Joybox
21
19
 
22
20
  file_utils = FileUtils.sharedFileUtils
23
21
 
24
- file_utils.setEnableFallbackSuffixes(options[:enable_fallback_suffixes])
25
22
  file_utils.setiPhoneRetinaDisplaySuffix(options[:set_iphone_retina_display_suffix])
26
23
  file_utils.setiPadSuffix(options[:set_ipad_suffix])
27
24
  file_utils.setiPadRetinaDisplaySuffix(options[:set_ipad_retina_display_suffix])
@@ -9,56 +9,12 @@ module Joybox
9
9
 
10
10
  define_method("on_touches_#{touch_state}") do |&block|
11
11
 
12
- self.isTouchEnabled = true if block_given?
12
+ self.touchEnabled = true if block_given?
13
13
 
14
14
  instance_variable_set("@on_touches_#{touch_state}_block", block)
15
15
  end
16
16
  end
17
17
 
18
-
19
- def self.scene
20
-
21
- define_singleton_method(:scene) do
22
-
23
- scene = CCScene.new
24
-
25
- menu_layer = self.new
26
-
27
- scene << menu_layer
28
- end
29
- end
30
-
31
-
32
- def onEnter
33
-
34
- super
35
-
36
- on_enter if defined? (on_enter)
37
- end
38
-
39
-
40
- def onExit
41
-
42
- super
43
-
44
- on_exit if defined? (on_exit)
45
- end
46
-
47
-
48
- def schedule_update(&block)
49
-
50
- @schedule_update_block = block if block_given?
51
-
52
- scheduleUpdate
53
- end
54
-
55
-
56
- def update(dt)
57
-
58
- @schedule_update_block.call(dt) if @schedule_update_block
59
- end
60
-
61
-
62
18
  # These methods can't be autogenerated using metaprogramming
63
19
  # because Objective-C will call them
64
20
  def ccTouchesBegan(touches, withEvent: event)
@@ -26,12 +26,12 @@ module Joybox
26
26
 
27
27
  director = Director.sharedDirector
28
28
 
29
- director.wantsFullScreenLayout = options.fetch(:wants_full_screen_layout)
30
- director.displayStats = options.fetch(:display_stats)
31
- director.animationInterval = options.fetch(:animation_interval)
32
- director.projection = options.fetch(:projection)
33
- director.enableRetinaDisplay(options.fetch(:enable_retina_display))
34
- director.delegate = options.fetch(:delegate)
29
+ director.wantsFullScreenLayout = options[:wants_full_screen_layout]
30
+ director.displayStats = options[:display_stats]
31
+ director.animationInterval = options[:animation_interval]
32
+ director.projection = options[:projection]
33
+ director.enableRetinaDisplay(options[:enable_retina_display])
34
+ director.delegate = options[:delegate]
35
35
  end
36
36
 
37
37