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