joybox 1.0.0 → 1.1.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.
- data/.travis.yml +3 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +4 -4
- data/README.md +66 -22
- data/Rakefile +22 -4
- data/app/ios/app_delegate.rb +48 -0
- data/app/osx/app_delegate.rb +26 -0
- data/app/osx/layers/game_layer.rb +5 -0
- data/app/osx/menu.rb +51 -0
- data/command/command/image.rb +26 -0
- data/command/command/string.rb +15 -0
- data/command/command/template.rb +59 -0
- data/command/command/tmx.rb +75 -0
- data/command/joybox_generate_command.rb +64 -110
- data/command/joybox_retina_command.rb +87 -0
- data/command/{joybox/templates → templates}/layer.erb +0 -0
- data/command/{joybox/templates → templates}/layer_spec.erb +0 -0
- data/command/{joybox/templates → templates}/scene.erb +0 -0
- data/command/{joybox/templates → templates}/scene_spec.erb +0 -0
- data/command/{joybox/templates → templates}/sprite.erb +0 -0
- data/command/{joybox/templates → templates}/sprite_spec.erb +0 -0
- data/ext/extconf.rb +34 -0
- data/joybox.gemspec +103 -50
- data/lib/joybox.rb +2 -0
- data/lib/joybox/joybox-ios.rb +18 -3
- data/lib/joybox/joybox-osx.rb +18 -2
- data/lib/joybox/version.rb +1 -1
- data/motion/joybox-ios/common/cg_point.rb +46 -16
- data/motion/joybox-ios/common/device.rb +56 -0
- data/motion/joybox-ios/common/ui_touch.rb +0 -2
- data/motion/joybox-ios/configuration/configuration.rb +10 -40
- data/motion/joybox-ios/configuration/file_utils.rb +0 -4
- data/motion/joybox-ios/configuration/gl_view.rb +14 -20
- data/motion/joybox-ios/configuration/texture_2d.rb +0 -4
- data/motion/joybox-ios/core/layer.rb +2 -8
- data/motion/joybox-ios/debug/proxy_view.rb +5 -5
- data/motion/joybox-ios/debug/{node.rb → repl.rb} +25 -19
- data/motion/joybox-ios/director.rb +15 -4
- data/motion/joybox-osx/common/ats_point.rb +45 -15
- data/motion/joybox-osx/common/device.rb +30 -0
- data/motion/joybox-osx/common/ns_event.rb +0 -1
- data/motion/joybox-osx/configuration/configuration.rb +6 -26
- data/motion/joybox-osx/configuration/gl_view.rb +16 -14
- data/motion/joybox-osx/core/layer.rb +45 -26
- data/motion/joybox-osx/debug/proxy_view.rb +5 -5
- data/motion/joybox-osx/debug/{node.rb → repl.rb} +13 -7
- data/motion/joybox-osx/director.rb +4 -3
- data/motion/joybox/actions/animate.rb +0 -1
- data/motion/joybox/actions/bezier.rb +2 -9
- data/motion/joybox/actions/blink.rb +1 -4
- data/motion/joybox/actions/callback.rb +19 -0
- data/motion/joybox/actions/d3/flip.rb +27 -0
- data/motion/joybox/actions/d3/jump.rb +30 -0
- data/motion/joybox/actions/d3/lens.rb +30 -0
- data/motion/joybox/actions/d3/shake.rb +32 -0
- data/motion/joybox/actions/d3/shatter.rb +30 -0
- data/motion/joybox/actions/d3/wave.rb +33 -0
- data/motion/joybox/actions/delay.rb +19 -0
- data/motion/joybox/actions/ease.rb +3 -21
- data/motion/joybox/actions/fade.rb +30 -6
- data/motion/joybox/actions/jump.rb +0 -5
- data/motion/joybox/actions/liquid.rb +28 -0
- data/motion/joybox/actions/move.rb +2 -9
- data/motion/joybox/actions/place.rb +0 -2
- data/motion/joybox/actions/repeat.rb +0 -2
- data/motion/joybox/actions/rotate.rb +2 -9
- data/motion/joybox/actions/scale.rb +2 -9
- data/motion/joybox/actions/sequence.rb +0 -1
- data/motion/joybox/actions/shuffle.rb +26 -0
- data/motion/joybox/actions/skew.rb +2 -11
- data/motion/joybox/actions/spawn.rb +0 -1
- data/motion/joybox/actions/split.rb +24 -0
- data/motion/joybox/actions/tint.rb +0 -5
- data/motion/joybox/actions/turn.rb +24 -0
- data/motion/joybox/actions/twirl.rb +30 -0
- data/motion/joybox/actions/visibility.rb +21 -0
- data/motion/joybox/actions/wave.rb +32 -0
- data/motion/joybox/animations/animation.rb +7 -11
- data/motion/joybox/audio/audio.rb +31 -0
- data/motion/joybox/audio/audio_effect.rb +69 -0
- data/motion/joybox/audio/background_audio.rb +77 -0
- data/motion/joybox/common/{gc_size.rb → cg_size.rb} +13 -12
- data/motion/joybox/common/color.rb +4 -13
- data/motion/joybox/common/initialize.rb +11 -0
- data/motion/joybox/common/ns_array.rb +15 -0
- data/motion/joybox/common/ns_string.rb +7 -0
- data/motion/joybox/common/numeric.rb +13 -4
- data/motion/joybox/common/screen.rb +4 -12
- data/motion/joybox/configuration/debug.rb +29 -0
- data/motion/joybox/core/layer.rb +0 -24
- data/motion/joybox/core/layer_color.rb +47 -0
- data/motion/joybox/core/node.rb +18 -8
- data/motion/joybox/core/scene.rb +0 -5
- data/motion/joybox/core/sprite.rb +43 -25
- data/motion/joybox/core/sprite_batch.rb +15 -6
- data/motion/joybox/core/sprite_frame_cache.rb +9 -58
- data/motion/joybox/debug/physics.rb +40 -0
- data/motion/joybox/debug/physics_draw.rb +191 -0
- data/motion/joybox/joybox.rb +9 -1
- data/motion/joybox/macros.rb +13 -13
- data/motion/joybox/physics/aabb.rb +28 -0
- data/motion/joybox/physics/body.rb +163 -68
- data/motion/joybox/physics/chain_shape.rb +71 -0
- data/motion/joybox/physics/circle_shape.rb +31 -0
- data/motion/joybox/physics/edge_shape.rb +37 -0
- data/motion/joybox/physics/filter.rb +17 -0
- data/motion/joybox/physics/fixture.rb +52 -0
- data/motion/joybox/physics/mass_data.rb +19 -0
- data/motion/joybox/physics/physics_sprite.rb +50 -16
- data/motion/joybox/physics/polygon_shape.rb +54 -0
- data/motion/joybox/physics/profile.rb +14 -0
- data/motion/joybox/physics/ray_cast_input.rb +30 -0
- data/motion/joybox/physics/ray_cast_output.rb +17 -0
- data/motion/joybox/physics/shape.rb +61 -0
- data/motion/joybox/physics/transform.rb +17 -0
- data/motion/joybox/physics/world.rb +101 -30
- data/motion/joybox/tmx/object_layer.rb +12 -0
- data/motion/joybox/tmx/tile_layer.rb +74 -0
- data/motion/joybox/tmx/tile_map.rb +112 -0
- data/motion/joybox/tmx/tile_set.rb +26 -0
- data/motion/joybox/tmx/tmx.rb +16 -0
- data/motion/joybox/ui/label.rb +44 -16
- data/motion/joybox/ui/menu.rb +7 -9
- data/motion/joybox/ui/menu_image.rb +11 -8
- data/motion/joybox/ui/menu_label.rb +14 -13
- data/resources/Default-568h@2x.png +0 -0
- data/resources/animation_frames-hd.plist +126 -0
- data/resources/animation_frames-ipadhd.plist +126 -0
- data/resources/animation_frames.plist +126 -0
- data/resources/animation_sprite_sheet-hd.png +0 -0
- data/resources/animation_sprite_sheet-ipadhd.png +0 -0
- data/resources/animation_sprite_sheet.png +0 -0
- data/resources/fps_images-hd.png +0 -0
- data/resources/fps_images-ipadhd.png +0 -0
- data/resources/fps_images.png +0 -0
- data/resources/sprite.png +0 -0
- data/resources/sprite_inverted.png +0 -0
- data/resources/sprite_sheet.png +0 -0
- data/spec/motion/joybox-ios/common/screen_spec.rb +21 -0
- data/spec/{main_spec.rb → motion/joybox-ios/main_spec.rb} +6 -2
- data/spec/motion/joybox-ios/ui/label_spec.rb +20 -0
- data/spec/motion/joybox-ios/ui/menu_label_spec.rb +15 -0
- data/spec/motion/joybox-ios/ui/menu_spec.rb +87 -0
- data/spec/motion/joybox-osx/common/screen_spec.rb +21 -0
- data/spec/motion/joybox-osx/main_spec.rb +13 -0
- data/spec/motion/joybox-osx/ui/label_spec.rb +18 -0
- data/spec/motion/joybox-osx/ui/menu_label_spec.rb +13 -0
- data/spec/motion/joybox-osx/ui/menu_spec.rb +87 -0
- data/spec/motion/joybox/actions/actions_spec.rb +11 -0
- data/spec/motion/joybox/actions/bezier_spec.rb +37 -0
- data/spec/motion/joybox/actions/blink_spec.rb +16 -0
- data/spec/motion/joybox/actions/fade_spec.rb +49 -0
- data/spec/motion/joybox/actions/jump_spec.rb +37 -0
- data/spec/motion/joybox/actions/move_spec.rb +37 -0
- data/spec/motion/joybox/actions/place_spec.rb +12 -0
- data/spec/motion/joybox/actions/rotate_spec.rb +35 -0
- data/spec/motion/joybox/actions/scale_spec.rb +43 -0
- data/spec/motion/joybox/actions/skew_spec.rb +43 -0
- data/spec/motion/joybox/common/cg_size_spec.rb +29 -0
- data/spec/motion/joybox/common/color_spec.rb +31 -0
- data/spec/motion/joybox/common/ns_string_spec.rb +8 -0
- data/spec/motion/joybox/common/numeric_spec.rb +13 -0
- data/spec/motion/joybox/core/node_spec.rb +36 -0
- data/spec/motion/joybox/core/sprite_batch_spec.rb +34 -0
- data/spec/motion/joybox/core/sprite_frame_cache_spec.rb +111 -0
- data/spec/motion/joybox/core/sprite_spec.rb +121 -0
- data/spec/motion/joybox/macros_spec.rb +280 -0
- data/spec/motion/joybox/physics/aabb_spec.rb +17 -0
- data/spec/motion/joybox/physics/body_spec.rb +318 -0
- data/spec/motion/joybox/physics/chain_shape_spec.rb +80 -0
- data/spec/motion/joybox/physics/circle_shape_spec.rb +63 -0
- data/spec/motion/joybox/physics/edge_shape_spec.rb +48 -0
- data/spec/motion/joybox/physics/fixture_spec.rb +106 -0
- data/spec/motion/joybox/physics/mass_data_spec.rb +13 -0
- data/spec/motion/joybox/physics/physics_sprite_spec.rb +50 -0
- data/spec/motion/joybox/physics/polygon_shape_spec.rb +92 -0
- data/spec/motion/joybox/physics/ray_cast_input_spec.rb +17 -0
- data/spec/motion/joybox/physics/ray_cast_output_spec.rb +13 -0
- data/spec/motion/joybox/physics/shape_spec.rb +50 -0
- data/spec/motion/joybox/physics/transform_spec.rb +13 -0
- data/spec/motion/joybox/physics/world_spec.rb +228 -0
- data/spec/motion/joybox/ui/label_spec.rb +53 -0
- data/spec/motion/joybox/ui/menu_image_spec.rb +51 -0
- data/spec/motion/joybox/ui/menu_label_spec.rb +68 -0
- data/spec/motion/joybox/ui/menu_spec.rb +26 -0
- data/spec/spec_helpers/cg_point.rb +5 -0
- data/spec/spec_helpers/cg_point_spec.rb +14 -0
- data/template/joybox-ios-example-repl/files/.gitignore +16 -0
- data/template/joybox-ios/files/.gitignore +16 -0
- data/template/joybox-osx-example-repl/files/.gitignore +16 -0
- data/template/joybox-osx/files/.gitignore +16 -0
- data/vendor/vendor-ios/box_2d/box_2d.bridgesupport +1201 -85
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DAABB.h +21 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DBody.h +58 -13
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DBodyDef.h +44 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DBodyTypes.h +20 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DChainShape.h +29 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DCircleShape.h +7 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DColor.h +23 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DContactFilter.h +24 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DContactListener.h +1 -1
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DDestructionListener.h +24 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DDraw.h +54 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DEdgeShape.h +13 -2
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DFilter.h +23 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DFixture.h +47 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DFixtureDef.h +29 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DMassData.h +23 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DPolygonShape.h +14 -1
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DProfile.h +31 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DQueryCallback.h +24 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DRayCastCallback.h +24 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DRayCastInput.h +23 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DRayCastOutput.h +21 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DShape.h +23 -3
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DShapeTypes.h +22 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DTransform.h +21 -0
- data/vendor/vendor-ios/box_2d/box_2d_include/B2DWorld.h +40 -19
- data/vendor/vendor-ios/box_2d/libBox2D.a +0 -0
- data/vendor/vendor-ios/cocos_2d/cocos_2d.bridgesupport +808 -1578
- data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCActionEase.h +47 -0
- data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCFontDefinition.h +85 -0
- data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCLabelTTF.h +54 -6
- data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCMenuItem.h +1 -0
- data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCTMXLayer.h +2 -2
- data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCTexture2D.h +4 -0
- data/vendor/vendor-ios/cocos_2d/cocos_2d_include/ccTypes.h +51 -1
- data/vendor/vendor-ios/cocos_2d/libcocos2d.a +0 -0
- data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader.bridgesupport +510 -0
- data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBAnimationManager.h +149 -0
- data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBKeyframe.h +40 -0
- data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBReader.h +176 -0
- data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBSequence.h +49 -0
- data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBSequenceProperty.h +38 -0
- data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCNode+CCBRelativePositioning.h +65 -0
- data/vendor/vendor-ios/cocos_builder_reader/libCocosBuilderReader.a +0 -0
- data/vendor/vendor-ios/cocos_denshion/cocos_denshion.bridgesupport +1001 -0
- data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDAudioManager.h +243 -0
- data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDConfig.h +60 -0
- data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDOpenALSupport.h +77 -0
- data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDXMacOSXSupport.h +232 -0
- data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDXPropertyModifierAction.h +45 -0
- data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CocosDenshion.h +440 -0
- data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/SimpleAudioEngine.h +90 -0
- data/vendor/vendor-ios/cocos_denshion/libCocosDenshion.a +0 -0
- data/vendor/vendor-ios/kazmath/kazmath.bridgesupport +865 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/GL/mat4stack.h +51 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/GL/matrix.h +58 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/aabb.h +53 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/kazmath.h +39 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/mat3.h +75 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/mat4.h +93 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/neon_matrix_impl.h +41 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/plane.h +70 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/quaternion.h +113 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/ray2.h +50 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/utility.h +74 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/vec2.h +64 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/vec3.h +68 -0
- data/vendor/vendor-ios/kazmath/kazmath_include/vec4.h +68 -0
- data/vendor/vendor-ios/kazmath/libkazmath.a +0 -0
- data/vendor/vendor-osx/box_2d/box_2d.bridgesupport +1199 -83
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DAABB.h +21 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DBody.h +58 -13
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DBodyDef.h +44 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DBodyTypes.h +20 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DChainShape.h +29 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DCircleShape.h +7 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DColor.h +23 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DContactFilter.h +24 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DContactListener.h +1 -1
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DDestructionListener.h +24 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DDraw.h +54 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DEdgeShape.h +13 -2
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DFilter.h +23 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DFixture.h +47 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DFixtureDef.h +29 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DMassData.h +23 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DPolygonShape.h +14 -1
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DProfile.h +31 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DQueryCallback.h +24 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DRayCastCallback.h +24 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DRayCastInput.h +23 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DRayCastOutput.h +21 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DShape.h +23 -3
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DShapeTypes.h +22 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DTransform.h +21 -0
- data/vendor/vendor-osx/box_2d/box_2d_include/B2DWorld.h +40 -19
- data/vendor/vendor-osx/box_2d/libBox2D.a +0 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d.bridgesupport +2820 -2633
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionEase.h +47 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCFontDefinition.h +85 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelTTF.h +54 -6
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMenuItem.h +1 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXLayer.h +2 -2
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTexture2D.h +4 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCDirectorIOS.h +111 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCES2Renderer.h +83 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCESRenderer.h +54 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCGLView.h +175 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCTouchDelegateProtocol.h +75 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCTouchDispatcher.h +120 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCTouchHandler.h +93 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccTypes.h +65 -1
- data/vendor/vendor-osx/cocos_2d/libcocos2d.a +0 -0
- data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader.bridgesupport +510 -0
- data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBAnimationManager.h +149 -0
- data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBKeyframe.h +40 -0
- data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBReader.h +176 -0
- data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBSequence.h +49 -0
- data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBSequenceProperty.h +38 -0
- data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCNode+CCBRelativePositioning.h +65 -0
- data/vendor/vendor-osx/cocos_builder_reader/libCocosBuilderReader.a +0 -0
- data/vendor/vendor-osx/cocos_denshion/cocos_denshion.bridgesupport +1001 -0
- data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDAudioManager.h +243 -0
- data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDConfig.h +60 -0
- data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDOpenALSupport.h +77 -0
- data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDXMacOSXSupport.h +232 -0
- data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDXPropertyModifierAction.h +45 -0
- data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CocosDenshion.h +440 -0
- data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/SimpleAudioEngine.h +90 -0
- data/vendor/vendor-osx/cocos_denshion/libCocosDenshion.a +0 -0
- data/vendor/vendor-osx/kazmath/kazmath.bridgesupport +865 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/GL/mat4stack.h +51 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/GL/matrix.h +58 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/aabb.h +53 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/kazmath.h +39 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/mat3.h +75 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/mat4.h +93 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/neon_matrix_impl.h +41 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/plane.h +70 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/quaternion.h +113 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/ray2.h +50 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/utility.h +74 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/vec2.h +64 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/vec3.h +68 -0
- data/vendor/vendor-osx/kazmath/kazmath_include/vec4.h +68 -0
- data/vendor/vendor-osx/kazmath/libkazmath.a +0 -0
- metadata +353 -57
- checksums.yaml +0 -15
- data/bin/joybox +0 -49
- data/command/joybox/USAGE +0 -24
- data/motion/joybox-ios/configuration/debug.rb +0 -27
- data/motion/joybox-ios/debug/debug.rb +0 -10
- data/motion/joybox-osx/configuration/debug.rb +0 -27
- data/motion/joybox-osx/configuration/sprite_view.rb +0 -91
- data/motion/joybox-osx/debug/debug.rb +0 -10
- data/motion/joybox/core/ns_object.rb +0 -8
- data/spec/lib/joybox/cocos2d/cocos2d_spec.rb +0 -7
- data/spec/lib/joybox/cocos2d/macros_spec.rb +0 -37
- data/vendor/vendor-ios/cocos_2d/cocos_2d_include/cocos2d-ios-exceptions.bridgesupport +0 -39
- data/vendor/vendor-ios/cocos_2d/cocos_2d_include/gen_cocos2d_bridgesupport.sh +0 -17
- data/vendor/vendor-ios/cocos_2d/cocos_2d_include/gen_cocos2d_complement.sh +0 -17
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Joybox::Physics::CircleShape = B2DCircleShape
|
|
2
|
+
|
|
3
|
+
class B2DCircleShape
|
|
4
|
+
|
|
5
|
+
extend Joybox::Common::Initialize
|
|
6
|
+
|
|
7
|
+
alias_method :vertices_count, :vertexCount
|
|
8
|
+
alias_method :metric_position, :position
|
|
9
|
+
|
|
10
|
+
def initialize(options = {})
|
|
11
|
+
initWithRadius(options[:radius].from_pixels)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def position
|
|
15
|
+
metric_position.to_pixel_coordinates
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def support_vertex_index_by_direction(direction)
|
|
19
|
+
direction = direction.to_point unless direction.is_a? (CGPoint)
|
|
20
|
+
getSupport(direction.from_pixel_coordinates)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def support_vertex_by_direction(direction)
|
|
24
|
+
direction = direction.to_point unless direction.is_a? (CGPoint)
|
|
25
|
+
getSupportVertex(direction.from_pixel_coordinates).to_pixel_coordinates
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def vertex_by_index(index)
|
|
29
|
+
getVertex(index).to_pixel_coordinates
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
Joybox::Physics::EdgeShape = B2DEdgeShape
|
|
2
|
+
|
|
3
|
+
class B2DEdgeShape
|
|
4
|
+
|
|
5
|
+
extend Joybox::Common::Initialize
|
|
6
|
+
|
|
7
|
+
alias_method :metric_start_point, :startVertex
|
|
8
|
+
alias_method :metric_end_point, :endVertex
|
|
9
|
+
alias_method :has_start_adjacent_point?, :hasStartAdjacentVertex
|
|
10
|
+
alias_method :metric_start_adjacent_point, :startAdjacentVertex
|
|
11
|
+
alias_method :has_end_adjacent_point?, :hasEndAdjacentVertex
|
|
12
|
+
alias_method :metric_end_adjacent_point, :endAdjacentVertex
|
|
13
|
+
|
|
14
|
+
def initialize(options = {})
|
|
15
|
+
start_point = CGPointMake(options[:start_point][0], options[:start_point][1])
|
|
16
|
+
end_point = CGPointMake(options[:end_point][0], options[:end_point][1])
|
|
17
|
+
|
|
18
|
+
initWithStartVertex(start_point.from_pixel_coordinates, endVertex: end_point.from_pixel_coordinates)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def start_point
|
|
22
|
+
self.startVertex.to_pixel_coordinates
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def end_point
|
|
26
|
+
self.endVertex.to_pixel_coordinates
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def start_adjacent_point
|
|
30
|
+
self.startAdjacentVertex.to_pixel_coordinates
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def end_adjacent_point
|
|
34
|
+
self.endAdjacentVertex.to_pixel_coordinates
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Joybox::Physics::Filter = B2DFilter
|
|
2
|
+
|
|
3
|
+
class B2DFilter
|
|
4
|
+
|
|
5
|
+
alias_method :category_bits, :categoryBits
|
|
6
|
+
alias_method :category_bits=, :setCategoryBits
|
|
7
|
+
alias_method :mask_bits, :maskBits
|
|
8
|
+
alias_method :mask_bits=, :setMaskBits
|
|
9
|
+
|
|
10
|
+
def group_index
|
|
11
|
+
groupIndex
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def group_index=(group_index)
|
|
15
|
+
setGroupIndex(group_index)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
Joybox::Physics::Fixture = B2DFixture
|
|
2
|
+
|
|
3
|
+
class B2DFixture
|
|
4
|
+
|
|
5
|
+
alias_method :sensor?, :isSensor
|
|
6
|
+
alias_method :mass_data, :massData
|
|
7
|
+
alias_method :metric_aabb, :aabb
|
|
8
|
+
|
|
9
|
+
CircleType = 0
|
|
10
|
+
EdgeType = 1
|
|
11
|
+
PolygonType = 2
|
|
12
|
+
ChainType = 3
|
|
13
|
+
CountType = 4
|
|
14
|
+
|
|
15
|
+
def filter_data
|
|
16
|
+
filterData
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def filter_data=(filter_data)
|
|
20
|
+
setFilterData(filter_data)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def contains_point?(point)
|
|
24
|
+
point = point.to_point.from_pixel_coordinates
|
|
25
|
+
testPoint(point)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def aabb(options = {})
|
|
29
|
+
unless [:child_index].all? { |k| options.has_key? k }
|
|
30
|
+
return # Todo print error message on the console
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
metric_aabb(options[:child_index])
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def ray_cast(options = {}, &block)
|
|
37
|
+
unless [:first_point, :second_point, :maximum_fraction, :child_index].all? { |k| options.has_key? k }
|
|
38
|
+
return # Todo print error message on the console
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
ray_cast_input = RayCastInput.new
|
|
42
|
+
ray_cast_input.first_point = options[:first_point]
|
|
43
|
+
ray_cast_input.second_point = options[:second_point]
|
|
44
|
+
ray_cast_input.maximum_fraction = options[:maximum_fraction]
|
|
45
|
+
|
|
46
|
+
ray_cast_output = RayCastOutput.new
|
|
47
|
+
|
|
48
|
+
hits = rayCastWithOutput(ray_cast_output, input:ray_cast_input, andChildIndex: options[:child_index])
|
|
49
|
+
block.call(hits, ray_cast_output.normal, ray_cast_output.fraction)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Joybox::Physics::MassData = B2DMassData
|
|
2
|
+
|
|
3
|
+
class B2DMassData
|
|
4
|
+
|
|
5
|
+
alias_method :rotational_inertia, :I
|
|
6
|
+
alias_method :rotational_inertia=, :setI
|
|
7
|
+
alias_method :metric_center, :centre
|
|
8
|
+
alias_method :metric_center=, :setCentre
|
|
9
|
+
|
|
10
|
+
def center
|
|
11
|
+
metric_center.to_pixel_coordinates
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def center=(center)
|
|
15
|
+
center = center.to_point unless center.is_a? (CGPoint)
|
|
16
|
+
self.metric_center = center.from_pixel_coordinates
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
# TODO: Revisar el nombre de esto
|
|
2
1
|
module Joybox
|
|
3
|
-
module
|
|
2
|
+
module Physics
|
|
4
3
|
|
|
5
|
-
class PhysicsSprite < Sprite
|
|
4
|
+
class PhysicsSprite < Joybox::Core::Sprite
|
|
6
5
|
|
|
7
6
|
attr_accessor :body
|
|
8
7
|
|
|
9
|
-
def
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
sprite
|
|
8
|
+
def initialize(options = {})
|
|
9
|
+
super
|
|
10
|
+
self.body = options.delete(:body) if options.has_key? :body
|
|
11
|
+
self.body[:sprite] = self
|
|
14
12
|
end
|
|
15
13
|
|
|
16
14
|
# We need this method to return true, so Cocos2d continue
|
|
@@ -19,22 +17,57 @@ module Joybox
|
|
|
19
17
|
true
|
|
20
18
|
end
|
|
21
19
|
|
|
20
|
+
def position
|
|
21
|
+
if @body and not self.running_actions?
|
|
22
|
+
@body.position
|
|
23
|
+
else
|
|
24
|
+
super
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
22
28
|
def position=(position)
|
|
23
|
-
@body
|
|
29
|
+
if @body and not self.running_actions?
|
|
30
|
+
@body.position = position
|
|
31
|
+
else
|
|
32
|
+
super
|
|
33
|
+
end
|
|
24
34
|
end
|
|
25
35
|
|
|
26
|
-
def
|
|
27
|
-
@body.
|
|
36
|
+
def rotation
|
|
37
|
+
if @body and not self.running_actions?
|
|
38
|
+
@body.rotation
|
|
39
|
+
else
|
|
40
|
+
super
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def rotation=(rotation)
|
|
45
|
+
if @body and not self.running_actions?
|
|
46
|
+
@body.rotation = rotation
|
|
47
|
+
else
|
|
48
|
+
super
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def run_action(action)
|
|
53
|
+
callback = Callback.with do
|
|
54
|
+
@body.position = self.position unless @body.nil?
|
|
55
|
+
@body.angle = self.rotation unless @body.nil?
|
|
56
|
+
end
|
|
57
|
+
sequence = Sequence.with actions: [action, callback]
|
|
58
|
+
super(sequence)
|
|
59
|
+
|
|
60
|
+
self.position = @body.position unless @body.nil?
|
|
28
61
|
end
|
|
29
62
|
|
|
30
63
|
def nodeToParentTransform
|
|
31
|
-
return super if @body.nil?
|
|
64
|
+
return super if @body.nil? or self.running_actions?
|
|
32
65
|
|
|
33
66
|
super
|
|
34
67
|
|
|
35
|
-
position = @body.position
|
|
68
|
+
position = @body.position
|
|
36
69
|
position = position + anchorPointInPoints if ignoreAnchorPointForPosition
|
|
37
|
-
angle = @body.
|
|
70
|
+
angle = @body.radian_angle
|
|
38
71
|
|
|
39
72
|
x = position.x
|
|
40
73
|
y = position.y
|
|
@@ -46,10 +79,11 @@ module Joybox
|
|
|
46
79
|
y = y + sine * -anchorPointInPoints.x + cosine * -anchorPointInPoints.y
|
|
47
80
|
end
|
|
48
81
|
|
|
49
|
-
CGAffineTransformMake(cosine, sine, -sine, cosine, x, y)
|
|
82
|
+
rotated_transform = CGAffineTransformMake(cosine, sine, -sine, cosine, x, y)
|
|
83
|
+
CGAffineTransformScale(rotated_transform, self.scaleX, self.scaleY)
|
|
50
84
|
end
|
|
51
85
|
|
|
52
86
|
end
|
|
53
87
|
|
|
54
88
|
end
|
|
55
|
-
end
|
|
89
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
Joybox::Physics::PolygonShape = B2DPolygonShape
|
|
2
|
+
|
|
3
|
+
class B2DPolygonShape
|
|
4
|
+
|
|
5
|
+
extend Joybox::Common::Initialize
|
|
6
|
+
|
|
7
|
+
alias_method :vertices_count, :vertexCount
|
|
8
|
+
alias_method :metric_centroid, :centroid
|
|
9
|
+
alias_method :metric_vertices, :vertices
|
|
10
|
+
alias_method :metric_normals, :normals
|
|
11
|
+
|
|
12
|
+
def initialize(options = {})
|
|
13
|
+
initialize_with_box(options) if options.has_key? :box
|
|
14
|
+
initialize_with_vertices(options) if options.has_key? :vertices
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def initialize_with_box(options = {})
|
|
18
|
+
half_width = (options[:box][0]).from_pixels
|
|
19
|
+
half_height = (options[:box][1]).from_pixels
|
|
20
|
+
|
|
21
|
+
initWithHalfWidth(half_width,
|
|
22
|
+
andHalfHeight: half_height) unless options.has_key? :center
|
|
23
|
+
initWithHalfWidth(half_width,
|
|
24
|
+
halfHeight: half_height,
|
|
25
|
+
center: options[:center],
|
|
26
|
+
andAngle: options[:angle]) if options.has_key? :center
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def initialize_with_vertices(options = {})
|
|
30
|
+
vertices = Pointer.new(CGPoint.type, options[:vertices].size)
|
|
31
|
+
options[:vertices].each_with_index do |vertex, index|
|
|
32
|
+
vertices[index] = CGPointMake(vertex[0], vertex[1]).from_pixel_coordinates
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
initWithVertices(vertices, andVertexCount: options[:vertices].size)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def centroid
|
|
39
|
+
metric_centroid.to_pixel_coordinates
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def vertices
|
|
43
|
+
Array.new(vertices_count){ |i| metric_vertices[i].to_pixel_coordinates }
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def normals
|
|
47
|
+
Array.new(vertices_count){ |i| metric_normals[i].to_pixel_coordinates }
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def vertex_by_index(index)
|
|
51
|
+
getVertex(index).to_pixel_coordinates
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Joybox::Physics::Profile = B2DProfile
|
|
2
|
+
|
|
3
|
+
class B2DProfile
|
|
4
|
+
|
|
5
|
+
alias_method :solve_init, :solveInit
|
|
6
|
+
alias_method :solve_init=, :setSolveInit
|
|
7
|
+
alias_method :solve_velocity, :solveVelocity
|
|
8
|
+
alias_method :solve_velocity=, :setSolveVelocity
|
|
9
|
+
alias_method :solve_position, :solvePosition
|
|
10
|
+
alias_method :solve_position=, :setSolvePosition
|
|
11
|
+
alias_method :solve_TOI, :solveTOI
|
|
12
|
+
alias_method :solve_TOI=, :setSolveTOI
|
|
13
|
+
|
|
14
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
Joybox::Physics::RayCastInput = B2DRayCastInput
|
|
2
|
+
|
|
3
|
+
class B2DRayCastInput
|
|
4
|
+
|
|
5
|
+
alias_method :metric_first_point, :point1
|
|
6
|
+
alias_method :metric_first_point=, :setPoint1
|
|
7
|
+
alias_method :metric_second_point, :point2
|
|
8
|
+
alias_method :metric_second_point=, :setPoint2
|
|
9
|
+
alias_method :maximum_fraction, :maxFraction
|
|
10
|
+
alias_method :maximum_fraction=, :setMaxFraction
|
|
11
|
+
|
|
12
|
+
def first_point
|
|
13
|
+
metric_first_point.to_pixel_coordinates
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def first_point=(point)
|
|
17
|
+
point = point.to_point unless point.is_a? (CGPoint)
|
|
18
|
+
self.metric_first_point = point.from_pixel_coordinates
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def second_point
|
|
22
|
+
metric_second_point.to_pixel_coordinates
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def second_point=(point)
|
|
26
|
+
point = point.to_point unless point.is_a? (CGPoint)
|
|
27
|
+
self.metric_second_point = point.from_pixel_coordinates
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Joybox::Physics::RayCastOutput = B2DRayCastOutput
|
|
2
|
+
|
|
3
|
+
class B2DRayCastOutput
|
|
4
|
+
|
|
5
|
+
alias_method :metric_normal, :normal
|
|
6
|
+
alias_method :metric_normal=, :setNormal
|
|
7
|
+
|
|
8
|
+
def normal
|
|
9
|
+
metric_normal.to_pixel_coordinates
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def normal=(normal)
|
|
13
|
+
normal = normal.to_point unless normal.is_a? (CGPoint)
|
|
14
|
+
self.metric_normal = normal.from_pixel_coordinates
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
Joybox::Physics::Shape = B2DMassData
|
|
2
|
+
|
|
3
|
+
class B2DShape
|
|
4
|
+
|
|
5
|
+
alias_method :child_count, :childCount
|
|
6
|
+
alias_method :metric_radius, :radius
|
|
7
|
+
|
|
8
|
+
CircleType = 0
|
|
9
|
+
EdgeType = 1
|
|
10
|
+
PolygonType = 2
|
|
11
|
+
ChainType = 3
|
|
12
|
+
CountType = 4
|
|
13
|
+
|
|
14
|
+
def radius
|
|
15
|
+
metric_radius.to_pixels
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def contains_point?(point)
|
|
19
|
+
point = point.to_point unless point.is_a? (CGPoint)
|
|
20
|
+
testPointWithTransform(Transform.new, andPoint: point.from_pixel_coordinates)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def ray_cast(options = {}, &block)
|
|
24
|
+
unless [:first_point, :second_point, :maximum_fraction, :child_index].all? { |k| options.has_key? k }
|
|
25
|
+
return # Todo print error message on the console
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
ray_cast_input = RayCastInput.new
|
|
29
|
+
ray_cast_input.first_point = options[:first_point]
|
|
30
|
+
ray_cast_input.second_point = options[:second_point]
|
|
31
|
+
ray_cast_input.maximum_fraction = options[:maximum_fraction]
|
|
32
|
+
|
|
33
|
+
ray_cast_output = RayCastOutput.new
|
|
34
|
+
|
|
35
|
+
hits = rayCastWithOutput(ray_cast_output,
|
|
36
|
+
input: ray_cast_input,
|
|
37
|
+
transform: Transform.new,
|
|
38
|
+
andChildren: options[:child_index])
|
|
39
|
+
block.call(hits, ray_cast_output.normal, ray_cast_output.fraction)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def compute_aabb(options = {})
|
|
43
|
+
unless options.has_key? :child_index
|
|
44
|
+
return # Todo print error message on the console
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
aabb = AABB.new
|
|
48
|
+
computeAABB(aabb, withTransform: Transform.new, andChildIndex: options[:child_index])
|
|
49
|
+
aabb
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def compute_mass(options = {})
|
|
53
|
+
unless options.has_key? :density
|
|
54
|
+
return # Todo print error message on the console
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
mass_data = MassData.new
|
|
58
|
+
computeMass(mass_data, withDensity: options[:density])
|
|
59
|
+
mass_data
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Joybox::Physics::Transform = B2DTransform
|
|
2
|
+
|
|
3
|
+
class B2DTransform
|
|
4
|
+
|
|
5
|
+
alias_method :metric_position, :point
|
|
6
|
+
alias_method :metric_position=, :setPoint
|
|
7
|
+
|
|
8
|
+
def position
|
|
9
|
+
metric_position.to_pixel_coordinates
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def position=(point)
|
|
13
|
+
point = point.to_point unless point.is_a? (CGPoint)
|
|
14
|
+
self.metric_position = point.from_pixel_coordinates
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|