joybox 0.0.5 → 0.0.6

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 (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