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
|
@@ -0,0 +1,51 @@
|
|
|
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.node = self
|
|
13
|
+
Joybox.director.view.addSubview(@proxy_view)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def cleanup
|
|
17
|
+
@proxy_view.removeFromSuperview
|
|
18
|
+
super
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def translated_bounding_box
|
|
22
|
+
boundingBox
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def setPosition(position)
|
|
26
|
+
super
|
|
27
|
+
update_bounding_box
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def setContentSize(size)
|
|
31
|
+
super
|
|
32
|
+
@proxy_view.removeFromSuperview if boundingBox.size.width == Screen.width
|
|
33
|
+
update_bounding_box
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def nodeToParentTransform
|
|
37
|
+
update_bounding_box
|
|
38
|
+
super
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
private
|
|
43
|
+
|
|
44
|
+
def update_bounding_box
|
|
45
|
+
@proxy_view.frame = translated_bounding_box unless @proxy_view.nil?
|
|
46
|
+
@bounding_box_layer.frame = @proxy_view.bounds unless @bounding_box_layer.nil?
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module Joybox
|
|
2
|
+
module Debug
|
|
3
|
+
|
|
4
|
+
class ProxyView < NSView
|
|
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
|
|
@@ -25,11 +25,9 @@ module Joybox
|
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
def self.to(options = {})
|
|
28
|
-
p "========================="
|
|
29
28
|
options = options.nil? ? defaults : defaults.merge!(options)
|
|
30
|
-
p options
|
|
31
29
|
|
|
32
|
-
CCFadeTo.actionWithDuration(options[:duration],
|
|
30
|
+
CCFadeTo.actionWithDuration(options[:duration],
|
|
33
31
|
opacity: options[:opacity])
|
|
34
32
|
end
|
|
35
33
|
|
|
@@ -3,61 +3,67 @@ module Joybox
|
|
|
3
3
|
|
|
4
4
|
class Sprite < CCSprite
|
|
5
5
|
|
|
6
|
+
include Joybox::Common
|
|
7
|
+
|
|
6
8
|
alias_method :run_action, :runAction
|
|
7
9
|
alias_method :stop_action, :stopAction
|
|
8
10
|
alias_method :stop_all_actions, :stopAllActions
|
|
11
|
+
alias_method :bounding_box, :boundingBox
|
|
9
12
|
|
|
10
|
-
def self.new(options = {})
|
|
11
13
|
|
|
14
|
+
def self.new(options = {})
|
|
12
15
|
sprite ||= new_with_file_name(options) if options.has_key? (:file_name)
|
|
13
16
|
sprite ||= new_with_texture(options) if options.has_key? (:texture)
|
|
14
17
|
sprite ||= new_with_frame_name(options) if options.has_key? (:frame_name)
|
|
15
18
|
|
|
16
19
|
sprite.position = options[:position] if options.has_key? (:position)
|
|
17
|
-
|
|
18
20
|
sprite
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
def file_name=(file_name)
|
|
22
|
-
|
|
23
24
|
texture = CCTextureCache.sharedTextureCache.addImage(file_name)
|
|
24
25
|
self.setTexture(texture)
|
|
25
26
|
end
|
|
26
|
-
|
|
27
27
|
|
|
28
28
|
# Review this in another version, because I dont still quite convinced
|
|
29
29
|
# that this is the correct approach. The alternative is two methods
|
|
30
30
|
# flip_x and flip_y, but I dont like them either.
|
|
31
31
|
def flip(options = {})
|
|
32
|
-
|
|
33
32
|
self.flipX = options[:x] if options.include?(:x)
|
|
34
33
|
self.flipY = options[:y] if options.include?(:y)
|
|
35
34
|
end
|
|
36
35
|
|
|
36
|
+
def setPosition(position)
|
|
37
|
+
super
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def setContentSize(size)
|
|
41
|
+
super
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def nodeToParentTransform
|
|
45
|
+
super
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def boundingBox
|
|
49
|
+
super
|
|
50
|
+
end
|
|
37
51
|
|
|
38
52
|
private
|
|
39
53
|
|
|
40
54
|
def self.new_with_file_name(options = {})
|
|
41
|
-
|
|
42
55
|
spriteWithFile(options[:file_name])
|
|
43
56
|
end
|
|
44
57
|
|
|
45
|
-
|
|
46
58
|
def self.new_with_texture(options = {})
|
|
47
|
-
|
|
48
59
|
if options.has_key? (:rect)
|
|
49
|
-
|
|
50
60
|
spriteWithTexture(options[:texture], rect: options[:rect])
|
|
51
61
|
else
|
|
52
|
-
|
|
53
62
|
spriteWithTexture(options:[:texture])
|
|
54
63
|
end
|
|
55
|
-
|
|
56
64
|
end
|
|
57
65
|
|
|
58
|
-
|
|
59
66
|
def self.new_with_frame_name(options = {})
|
|
60
|
-
|
|
61
67
|
spriteWithSpriteFrameName(options[:frame_name])
|
|
62
68
|
end
|
|
63
69
|
|
data/motion/joybox/macros.rb
CHANGED
|
@@ -84,18 +84,18 @@ module Joybox
|
|
|
84
84
|
end
|
|
85
85
|
|
|
86
86
|
# Distance between point an origin
|
|
87
|
-
def
|
|
87
|
+
def jbpLength(point)
|
|
88
88
|
Math.sqrt(jbpLengthSQ(point))
|
|
89
89
|
end
|
|
90
90
|
|
|
91
91
|
# Distance between two points
|
|
92
92
|
def jbpDistance(first_point, second_point)
|
|
93
|
-
|
|
93
|
+
jbpLength(jbpSub(first_point, second_point))
|
|
94
94
|
end
|
|
95
95
|
|
|
96
96
|
# Point multiplied to a lenght of 1
|
|
97
97
|
def jbpNormalize(point)
|
|
98
|
-
jbpMult(point, 1.0 /
|
|
98
|
+
jbpMult(point, 1.0 / jbpLength(point))
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
# Converts radians to a normalized vector
|
|
@@ -7,27 +7,33 @@ module Joybox
|
|
|
7
7
|
attr_accessor :body
|
|
8
8
|
|
|
9
9
|
def self.new(options = {})
|
|
10
|
-
|
|
11
10
|
sprite = super
|
|
12
11
|
sprite.body = options[:body] if options.include? :body
|
|
13
12
|
|
|
14
13
|
sprite
|
|
15
14
|
end
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
# We need this method to return true, so Cocos2d continue
|
|
17
|
+
# to call the nodeToParentTransform method
|
|
18
18
|
def dirty
|
|
19
|
+
true
|
|
20
|
+
end
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
def position=(position)
|
|
23
|
+
@body.position = position
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def position
|
|
27
|
+
@body.position.from_pixel_coordinates
|
|
21
28
|
end
|
|
22
29
|
|
|
23
|
-
# We need this method to return true, so Cocos2d continue
|
|
24
|
-
# to call the nodeToParentTransform method
|
|
25
30
|
def nodeToParentTransform
|
|
31
|
+
return super if @body.nil?
|
|
26
32
|
|
|
33
|
+
super
|
|
34
|
+
|
|
27
35
|
position = @body.position.from_pixel_coordinates
|
|
28
|
-
|
|
29
36
|
position = position + anchorPointInPoints if ignoreAnchorPointForPosition
|
|
30
|
-
|
|
31
37
|
angle = @body.angle
|
|
32
38
|
|
|
33
39
|
x = position.x
|
|
@@ -35,18 +41,15 @@ module Joybox
|
|
|
35
41
|
cosine = Math.cos(angle)
|
|
36
42
|
sine = Math.sin(angle)
|
|
37
43
|
|
|
38
|
-
|
|
39
44
|
unless anchorPointInPoints == CGPointZero
|
|
40
|
-
|
|
41
45
|
x = x + cosine * -anchorPointInPoints.x + -sine * -anchorPointInPoints.y
|
|
42
46
|
y = y + sine * -anchorPointInPoints.x + cosine * -anchorPointInPoints.y
|
|
43
47
|
end
|
|
44
48
|
|
|
45
|
-
|
|
46
49
|
CGAffineTransformMake(cosine, sine, -sine, cosine, x, y)
|
|
47
50
|
end
|
|
48
51
|
|
|
49
52
|
end
|
|
50
53
|
|
|
51
54
|
end
|
|
52
|
-
end
|
|
55
|
+
end
|
|
@@ -7,7 +7,7 @@ module Joybox
|
|
|
7
7
|
{
|
|
8
8
|
gravity: [0, 0],
|
|
9
9
|
allows_sleeping: true,
|
|
10
|
-
|
|
10
|
+
continuous_physics: true
|
|
11
11
|
}
|
|
12
12
|
end
|
|
13
13
|
|
|
@@ -16,11 +16,11 @@ module Joybox
|
|
|
16
16
|
|
|
17
17
|
options = options.nil? ? defaults : defaults.merge!(options)
|
|
18
18
|
|
|
19
|
-
world = World.alloc.init
|
|
19
|
+
world = World.alloc.init
|
|
20
20
|
|
|
21
21
|
world.gravity = options[:gravity]
|
|
22
22
|
world.allowsSleeping = options[:allows_sleeping]
|
|
23
|
-
world.
|
|
23
|
+
world.continuousPhysics = options[:continuous_physics]
|
|
24
24
|
|
|
25
25
|
world
|
|
26
26
|
end
|
|
@@ -38,7 +38,7 @@ module Joybox
|
|
|
38
38
|
|
|
39
39
|
options = options.nil? ? step_defaults : step_defaults.merge!(options)
|
|
40
40
|
|
|
41
|
-
stepWithDelta(options[:delta],
|
|
41
|
+
stepWithDelta(options[:delta],
|
|
42
42
|
velocityInteractions: options[:velocity_interactions],
|
|
43
43
|
positionInteractions: options[:position_interactions])
|
|
44
44
|
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Joybox - REPL Support Example
|
|
2
|
+
# Art By:Daniel Cook - Lost Garden http://www.lostgarden.com/2007/05/dancs-miraculously-flexible-game.html
|
|
3
|
+
# Authors: Joybox Swarm
|
|
4
|
+
# Joybox REPL Support Example
|
|
5
|
+
# Includes:
|
|
6
|
+
# => Scene & Sprites
|
|
7
|
+
# => REPL Support
|
|
8
|
+
class AppDelegate
|
|
9
|
+
|
|
10
|
+
def application(application, didFinishLaunchingWithOptions:launchOptions)
|
|
11
|
+
|
|
12
|
+
@director = Joybox::Configuration.setup do
|
|
13
|
+
director display_stats: true
|
|
14
|
+
debug repl:true
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
@navigation_controller = UINavigationController.alloc.initWithRootViewController(@director)
|
|
18
|
+
@navigation_controller.navigationBarHidden = true
|
|
19
|
+
|
|
20
|
+
@window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
|
|
21
|
+
@window.setRootViewController(@navigation_controller)
|
|
22
|
+
@window.makeKeyAndVisible
|
|
23
|
+
|
|
24
|
+
@director << GameScene.new
|
|
25
|
+
true
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def applicationWillResignActive(app)
|
|
29
|
+
@director.pause if @navigation_controller.visibleViewController == @director
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def applicationDidBecomeActive(app)
|
|
33
|
+
@director.resume if @navigation_controller.visibleViewController == @director
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def applicationDidEnterBackground(app)
|
|
37
|
+
@director.stop_animation if @navigation_controller.visibleViewController == @director
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def applicationWillEnterForeground(app)
|
|
41
|
+
@director.start_animation if @navigation_controller.visibleViewController == @director
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def applicationWillTerminate(app)
|
|
45
|
+
@director.end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def applicationDidReceiveMemoryWarning(app)
|
|
49
|
+
@director.purge_cached_data
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def applicationSignificantTimeChange(app)
|
|
53
|
+
@director.set_next_delta_time_zero true
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
class ActionsLayer < Joybox::Core::Layer
|
|
2
|
+
|
|
3
|
+
def on_enter
|
|
4
|
+
layout_characters
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def layout_characters
|
|
8
|
+
@first_character = Sprite.new file_name: 'sprites/character_horn_girl.png',
|
|
9
|
+
position: [210, 190]
|
|
10
|
+
self << @first_character
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
end
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|