joybox 0.0.6 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|