joybox 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/Gemfile.lock +1 -1
- data/LICENSE +1 -1
- data/LICENSE_Box2D +20 -0
- data/LICENSE_Cocos2D +24 -0
- data/README.md +34 -66
- data/Rakefile +2 -3
- data/bin/joybox +49 -0
- data/command/joybox/USAGE +24 -0
- data/command/joybox/templates/layer.erb +11 -0
- data/command/joybox/templates/layer_spec.erb +3 -0
- data/command/joybox/templates/scene.erb +11 -0
- data/command/joybox/templates/scene_spec.erb +3 -0
- data/command/joybox/templates/sprite.erb +11 -0
- data/command/joybox/templates/sprite_spec.erb +3 -0
- data/command/joybox_generate_command.rb +114 -0
- data/joybox.gemspec +44 -0
- data/lib/joybox/joybox-ios.rb +47 -0
- data/lib/joybox/joybox-osx.rb +47 -0
- data/lib/joybox/version.rb +1 -1
- data/lib/joybox.rb +18 -36
- data/{lib/joybox/cocos2d → motion/joybox}/actions/actions.rb +0 -0
- data/motion/joybox/actions/animate.rb +22 -0
- data/motion/joybox/actions/bezier.rb +33 -0
- data/motion/joybox/actions/blink.rb +24 -0
- data/motion/joybox/actions/ease.rb +149 -0
- data/motion/joybox/actions/fade.rb +38 -0
- data/motion/joybox/actions/jump.rb +39 -0
- data/{lib/joybox/cocos2d → motion/joybox}/actions/move.rb +4 -2
- data/motion/joybox/actions/place.rb +22 -0
- data/{lib/joybox/cocos2d → motion/joybox}/actions/repeat.rb +10 -1
- data/{lib/joybox/cocos2d → motion/joybox}/actions/rotate.rb +4 -2
- data/{lib/joybox/cocos2d → motion/joybox}/actions/scale.rb +4 -2
- data/{lib/joybox/cocos2d → motion/joybox}/actions/sequence.rb +3 -3
- data/{lib/joybox/cocos2d → motion/joybox}/actions/skew.rb +0 -0
- data/motion/joybox/actions/spawn.rb +22 -0
- data/motion/joybox/actions/tint.rb +37 -0
- data/motion/joybox/animations/animation.rb +60 -0
- data/{lib/joybox/cocos2d → motion/joybox}/common/color.rb +12 -1
- data/{lib/joybox/cocos2d → motion/joybox}/common/gc_size.rb +4 -4
- data/{lib/joybox/cocos2d → motion/joybox}/common/ns_set.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/common/numeric.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/common/screen.rb +4 -4
- data/motion/joybox/core/layer.rb +51 -0
- data/{lib/joybox/cocos2d → motion/joybox}/core/node.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/core/scene.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/core/sprite.rb +22 -3
- data/{lib/joybox/cocos2d → motion/joybox}/core/sprite_batch.rb +0 -0
- data/motion/joybox/core/sprite_frame_cache.rb +147 -0
- data/{lib/joybox/cocos2d/cocos2d.rb → motion/joybox/joybox.rb} +3 -1
- data/{lib/joybox/cocos2d → motion/joybox}/macros.rb +0 -0
- data/{lib/joybox/box2d → motion/joybox/physics}/body.rb +44 -17
- data/{lib/joybox/cocos2d/core → motion/joybox/physics}/physics_sprite.rb +1 -1
- data/motion/joybox/physics/world.rb +79 -0
- data/{lib/joybox/cocos2d → motion/joybox}/ui/label.rb +3 -2
- data/{lib/joybox/cocos2d → motion/joybox}/ui/menu.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/ui/menu_image.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/ui/menu_label.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/ui/ui.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox-ios}/common/cg_point.rb +9 -2
- data/{lib/joybox/cocos2d → motion/joybox-ios}/common/ui_touch.rb +1 -1
- data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/configuration.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/file_utils.rb +0 -3
- data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/gl_view.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/texture_2d.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox-ios}/core/layer.rb +1 -45
- data/{lib/joybox/cocos2d → motion/joybox-ios}/director.rb +6 -6
- data/motion/joybox-osx/common/ats_point.rb +48 -0
- data/motion/joybox-osx/common/ns_event.rb +8 -0
- data/motion/joybox-osx/configuration/configuration.rb +46 -0
- data/motion/joybox-osx/configuration/gl_view.rb +57 -0
- data/motion/joybox-osx/core/layer.rb +135 -0
- data/motion/joybox-osx/director.rb +42 -0
- data/template/joybox-ios/files/Rakefile.erb +9 -0
- data/{app → template/joybox-ios/files/app}/app_delegate.rb +1 -5
- data/{resources → template/joybox-ios/files/resources}/fps_images-hd.png +0 -0
- data/{resources → template/joybox-ios/files/resources}/fps_images-ipadhd.png +0 -0
- data/{resources → template/joybox-ios/files/resources}/fps_images.png +0 -0
- data/template/joybox-ios/files/spec/main_spec.rb.erb +9 -0
- data/template/joybox-osx/files/Rakefile.erb +9 -0
- data/template/joybox-osx/files/app/app_delegate.rb +23 -0
- data/template/joybox-osx/files/app/layers/default_layer.rb +5 -0
- data/template/joybox-osx/files/app/menu.rb +51 -0
- data/template/joybox-osx/files/resources/Credits.rtf +29 -0
- data/template/joybox-osx/files/resources/fps_images-hd.png +0 -0
- data/template/joybox-osx/files/resources/fps_images-ipadhd.png +0 -0
- data/template/joybox-osx/files/resources/fps_images.png +0 -0
- data/template/joybox-osx/files/spec/main_spec.rb.erb +9 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Box2D +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Box2D.framework.bridgesupport +47 -37
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Box2D +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/B2DContactListener.h +0 -0
- data/vendor/vendor-ios/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DCircleShape.h +16 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/Shapes/B2DEdgeShape.h +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/Shapes/B2DPolygonShape.h +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/Shapes/B2DShape.h +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Dynamics/B2DBody.h +6 -6
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Dynamics/B2DWorld.h +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Resources/Box2DConfig.cmake +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Resources/CMakeLists.txt +0 -0
- data/vendor/vendor-ios/Box2D.framework/Versions/A/Resources/LICENSE +22 -0
- data/vendor/vendor-ios/cocos_2d/cocos_2d.bridgesupport +9154 -0
- data/vendor/vendor-ios/cocos_2d/cocos_2d_exceptions.bridgesupport +39 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAction.h +23 -23
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionCamera.h +21 -19
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionCatmullRom.h +18 -6
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionEase.h +117 -31
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionGrid.h +19 -17
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionGrid3D.h +45 -42
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionInstant.h +21 -13
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionInterval.h +123 -81
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionManager.h +2 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionPageTurn3D.h +2 -1
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionProgressTimer.h +4 -4
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionTiledGrid.h +46 -38
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionTween.h +3 -3
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAnimation.h +8 -8
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAnimationCache.h +2 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAtlasNode.h +19 -17
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCCamera.h +12 -12
- data/vendor/vendor-ios/cocos_2d/include/CCClippingNode.h +77 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCConfiguration.h +31 -13
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCDirector.h +51 -42
- data/vendor/vendor-ios/cocos_2d/include/CCDrawNode.h +65 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCDrawingPrimitives.h +42 -8
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCGLProgram.h +56 -21
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCGrabber.h +2 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCGrid.h +29 -29
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLabelAtlas.h +5 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLabelBMFont.h +56 -32
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLabelTTF.h +20 -20
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLayer.h +107 -79
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCMenu.h +10 -14
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCMenuItem.h +37 -32
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCMotionStreak.h +18 -19
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCNode+Debug.h +0 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCNode.h +87 -37
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParallaxNode.h +2 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleBatchNode.h +2 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleExamples.h +22 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleSystem.h +51 -40
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleSystemQuad.h +4 -4
- data/vendor/vendor-ios/cocos_2d/include/CCPhysicsDebugNode.h +58 -0
- data/vendor/vendor-ios/cocos_2d/include/CCPhysicsSprite.h +82 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCProgressTimer.h +9 -11
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCProtocols.h +54 -26
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCRenderTexture.h +29 -9
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCScene.h +4 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCScheduler.h +94 -40
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCShaderCache.h +1 -1
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSprite.h +21 -28
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSpriteBatchNode.h +16 -9
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSpriteFrame.h +10 -10
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSpriteFrameCache.h +6 -6
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXLayer.h +16 -16
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXObjectGroup.h +4 -4
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXTiledMap.h +9 -9
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXXMLParser.h +44 -33
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTexture2D.h +17 -25
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTextureAtlas.h +10 -10
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTextureCache.h +4 -4
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTexturePVR.h +25 -8
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTileMapAtlas.h +6 -6
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTransition.h +57 -12
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTransitionPageTurn.h +2 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTransitionProgress.h +27 -5
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms}/CCGL.h +4 -2
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms}/CCNS.h +0 -0
- data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCDirectorMac.h +110 -0
- data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCEventDispatcher.h +343 -0
- data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCGLView.h +103 -0
- data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCWindow.h +41 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCDirectorIOS.h +12 -5
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCES2Renderer.h +12 -12
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCESRenderer.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCGLView.h +28 -13
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCTouchDelegateProtocol.h +4 -4
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCTouchDispatcher.h +2 -2
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCTouchHandler.h +7 -7
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CCArray.h +1 -1
- data/vendor/vendor-ios/cocos_2d/include/Support/CCFileUtils.h +394 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CCProfiling.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CCVertex.h +1 -1
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CGPointExtension.h +4 -2
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/NSThread+performBlock.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/OpenGL_Internal.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/TGAlib.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/TransformUtils.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/ZipUtils.h +4 -4
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/base64.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/ccCArray.h +15 -15
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/ccUtils.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/uthash.h +129 -184
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/utlist.h +298 -55
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccConfig.h +56 -9
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccDeprecated.h +131 -0
- data/vendor/vendor-ios/cocos_2d/include/ccFPSImages.h +39 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccGLStateCache.h +44 -26
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccMacros.h +9 -9
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColorLengthTexture_frag.h +41 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColorLengthTexture_vert.h +47 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColor_frag.h +37 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColor_vert.h +40 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureA8Color_frag.h +41 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureA8Color_vert.h +45 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureColorAlphaTest_frag.h +47 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureColor_frag.h +39 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureColor_vert.h +45 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_frag.h +38 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_uColor_frag.h +41 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_uColor_vert.h +41 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_vert.h +41 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_Position_uColor_frag.h +37 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_Position_uColor_vert.h +43 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccShaders.h +11 -0
- data/vendor/vendor-ios/cocos_2d/include/ccTypes.h +392 -0
- data/vendor/vendor-ios/cocos_2d/include/cocos2d-ios-exceptions.bridgesupport +39 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/cocos2d.h +28 -3
- data/vendor/vendor-ios/cocos_2d/include/gen_cocos2d_bridgesupport.sh +17 -0
- data/vendor/vendor-ios/cocos_2d/include/gen_cocos2d_complement.sh +17 -0
- data/vendor/vendor-ios/cocos_2d/libcocos2d.a +0 -0
- data/vendor/vendor-osx/box_2d/box_2d.bridgesupport +176 -0
- data/vendor/vendor-osx/box_2d/include/B2DBody.h +46 -0
- data/vendor/vendor-osx/box_2d/include/B2DCircleShape.h +16 -0
- data/vendor/vendor-osx/box_2d/include/B2DContactListener.h +30 -0
- data/vendor/vendor-osx/box_2d/include/B2DEdgeShape.h +17 -0
- data/vendor/vendor-osx/box_2d/include/B2DPolygonShape.h +16 -0
- data/vendor/vendor-osx/box_2d/include/B2DShape.h +18 -0
- data/vendor/vendor-osx/box_2d/include/B2DWorld.h +44 -0
- data/vendor/vendor-osx/box_2d/libBox2D.a +0 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d.bridgesupport +8292 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAction.h +195 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionCamera.h +75 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionCatmullRom.h +151 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionEase.h +245 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionGrid.h +167 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionGrid3D.h +208 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionInstant.h +235 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionInterval.h +473 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionManager.h +113 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionPageTurn3D.h +43 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionProgressTimer.h +59 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionTiledGrid.h +219 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionTween.h +62 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAnimation.h +150 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAnimationCache.h +74 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAtlasNode.h +98 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCCamera.h +98 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCClippingNode.h +77 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCConfiguration.h +144 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCDirector.h +353 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCDrawNode.h +65 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCDrawingPrimitives.h +173 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCGLProgram.h +185 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCGrabber.h +44 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCGrid.h +130 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelAtlas.h +71 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelBMFont.h +240 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelTTF.h +132 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLayer.h +308 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMenu.h +96 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMenuItem.h +428 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMotionStreak.h +86 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCNode+Debug.h +39 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCNode.h +619 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParallaxNode.h +50 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleBatchNode.h +99 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleExamples.h +117 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleSystem.h +464 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleSystemQuad.h +73 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCPhysicsDebugNode.h +58 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCPhysicsSprite.h +82 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCProgressTimer.h +92 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCProtocols.h +160 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCRenderTexture.h +159 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCScene.h +47 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCScheduler.h +284 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCShaderCache.h +60 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSprite.h +281 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSpriteBatchNode.h +145 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSpriteFrame.h +126 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSpriteFrameCache.h +121 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXLayer.h +164 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXObjectGroup.h +67 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXTiledMap.h +145 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXXMLParser.h +228 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTexture2D.h +349 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTextureAtlas.h +188 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTextureCache.h +146 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTexturePVR.h +146 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTileMapAtlas.h +83 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTransition.h +341 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTransitionPageTurn.h +60 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTransitionProgress.h +84 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/CCGL.h +74 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/CCNS.h +54 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCDirectorMac.h +110 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCEventDispatcher.h +343 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCGLView.h +103 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCWindow.h +41 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCArray.h +119 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCFileUtils.h +394 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCProfiling.h +89 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCVertex.h +36 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CGPointExtension.h +346 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/NSThread+performBlock.h +22 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/OpenGL_Internal.h +86 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/TGAlib.h +55 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/TransformUtils.h +36 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/ZipUtils.h +91 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/base64.h +33 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/ccCArray.h +229 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/ccUtils.h +36 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/uthash.h +917 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/utlist.h +733 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccConfig.h +292 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccDeprecated.h +431 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccFPSImages.h +39 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccGLStateCache.h +156 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccMacros.h +353 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColorLengthTexture_frag.h +41 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColorLengthTexture_vert.h +47 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColor_frag.h +37 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColor_vert.h +40 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureA8Color_frag.h +41 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureA8Color_vert.h +45 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureColorAlphaTest_frag.h +47 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureColor_frag.h +39 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureColor_vert.h +45 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_frag.h +38 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_uColor_frag.h +41 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_uColor_vert.h +41 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_vert.h +41 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_Position_uColor_frag.h +37 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_Position_uColor_vert.h +43 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShaders.h +56 -0
- data/vendor/{Cocos2D/include → vendor-osx/cocos_2d/cocos_2d_include}/ccTypes.h +39 -35
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/cocos2d.h +203 -0
- data/vendor/vendor-osx/cocos_2d/libcocos2d.a +0 -0
- metadata +363 -195
- data/app/layers/box2d_layer.rb +0 -109
- data/app/layers/cocos2d_layer.rb +0 -14
- data/app/layers/cocos_motion_layer.rb +0 -145
- data/app/layers/menu_layer.rb +0 -59
- data/lib/joybox/box2d/world.rb +0 -79
- data/resources/box2d/blocks_sprite_sheet.png +0 -0
- data/resources/cocos_motion/dot.png +0 -0
- data/resources/cocos_motion/dot_selected.png +0 -0
- data/resources/cocos_motion/grossini.png +0 -0
- data/resources/cocos_motion/grossinis_sister.png +0 -0
- data/resources/cocos_motion/grossinis_sister_two.png +0 -0
- data/resources/cocos_motion/left_arrow.png +0 -0
- data/resources/cocos_motion/left_arrow_selected.png +0 -0
- data/resources/cocos_motion/right_arrow.png +0 -0
- data/resources/cocos_motion/right_arrow_selected.png +0 -0
- data/vendor/Cocos2D/Cocos2D.bridgesupport +0 -7808
- data/vendor/Cocos2D/include/CCFileUtils.h +0 -188
- data/vendor/Cocos2D/include/CocosDenshion/CDAudioManager.h +0 -243
- data/vendor/Cocos2D/include/CocosDenshion/CDConfig.h +0 -60
- data/vendor/Cocos2D/include/CocosDenshion/CDOpenALSupport.h +0 -77
- data/vendor/Cocos2D/include/CocosDenshion/CDXPropertyModifierAction.h +0 -45
- data/vendor/Cocos2D/include/CocosDenshion/CocosDenshion.h +0 -440
- data/vendor/Cocos2D/include/CocosDenshion/SimpleAudioEngine.h +0 -90
- data/vendor/Cocos2D/include/RubyMotionSchedule.h +0 -7
- data/vendor/Cocos2D/include/ccShader_PositionColor_frag.h +0 -12
- data/vendor/Cocos2D/include/ccShader_PositionColor_vert.h +0 -17
- data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_frag.h +0 -16
- data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_vert.h +0 -21
- data/vendor/Cocos2D/include/ccShader_PositionTextureColorAlphaTest_frag.h +0 -23
- data/vendor/Cocos2D/include/ccShader_PositionTextureColor_frag.h +0 -14
- data/vendor/Cocos2D/include/ccShader_PositionTextureColor_vert.h +0 -22
- data/vendor/Cocos2D/include/ccShader_PositionTexture_frag.h +0 -13
- data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_frag.h +0 -16
- data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_vert.h +0 -18
- data/vendor/Cocos2D/include/ccShader_PositionTexture_vert.h +0 -17
- data/vendor/Cocos2D/include/ccShader_Position_uColor_frag.h +0 -12
- data/vendor/Cocos2D/include/ccShader_Position_uColor_vert.h +0 -19
- data/vendor/Cocos2D/include/kazmath/GL/mat4stack.h +0 -51
- data/vendor/Cocos2D/include/kazmath/GL/matrix.h +0 -58
- data/vendor/Cocos2D/include/kazmath/aabb.h +0 -53
- data/vendor/Cocos2D/include/kazmath/kazmath.h +0 -39
- data/vendor/Cocos2D/include/kazmath/mat3.h +0 -75
- data/vendor/Cocos2D/include/kazmath/mat4.h +0 -93
- data/vendor/Cocos2D/include/kazmath/neon_matrix_impl.h +0 -41
- data/vendor/Cocos2D/include/kazmath/plane.h +0 -70
- data/vendor/Cocos2D/include/kazmath/quaternion.h +0 -113
- data/vendor/Cocos2D/include/kazmath/ray2.h +0 -50
- data/vendor/Cocos2D/include/kazmath/utility.h +0 -74
- data/vendor/Cocos2D/include/kazmath/vec2.h +0 -64
- data/vendor/Cocos2D/include/kazmath/vec3.h +0 -68
- data/vendor/Cocos2D/include/kazmath/vec4.h +0 -68
- data/vendor/Cocos2D/libCocosDenshion.a +0 -0
- data/vendor/Cocos2D/libcocos2d.a +0 -0
@@ -12,25 +12,25 @@ module Joybox
|
|
12
12
|
|
13
13
|
def self.width
|
14
14
|
|
15
|
-
|
15
|
+
Joybox.director.winSize.width
|
16
16
|
end
|
17
17
|
|
18
18
|
|
19
19
|
def self.half_width
|
20
20
|
|
21
|
-
|
21
|
+
Joybox.director.winSize.width / 2
|
22
22
|
end
|
23
23
|
|
24
24
|
|
25
25
|
def self.height
|
26
26
|
|
27
|
-
|
27
|
+
Joybox.director.winSize.height
|
28
28
|
end
|
29
29
|
|
30
30
|
|
31
31
|
def self.half_height
|
32
32
|
|
33
|
-
|
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 ||=
|
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.
|
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
|
File without changes
|
@@ -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
|
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
|
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
|
35
|
+
def edge_fixture(*hash)
|
36
36
|
|
37
37
|
options = hash.pop
|
38
|
-
options = options.nil? ?
|
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
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
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
|
56
|
+
def polygon_fixture(*hash)
|
57
57
|
|
58
58
|
options = hash.pop
|
59
|
-
options = options.nil? ?
|
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
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
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
|
-
|
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.
|
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
|
-
|
23
|
-
|
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
|
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
|
-
|
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)
|
File without changes
|
@@ -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])
|
File without changes
|
File without changes
|
@@ -9,56 +9,12 @@ module Joybox
|
|
9
9
|
|
10
10
|
define_method("on_touches_#{touch_state}") do |&block|
|
11
11
|
|
12
|
-
self.
|
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
|
30
|
-
director.displayStats = options
|
31
|
-
director.animationInterval = options
|
32
|
-
director.projection = options
|
33
|
-
director.enableRetinaDisplay(options
|
34
|
-
director.delegate = options
|
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
|
|