joybox 0.0.5 → 0.0.6
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/Gemfile.lock +1 -1
- data/LICENSE +1 -1
- data/LICENSE_Box2D +20 -0
- data/LICENSE_Cocos2D +24 -0
- data/README.md +34 -66
- data/Rakefile +2 -3
- data/bin/joybox +49 -0
- data/command/joybox/USAGE +24 -0
- data/command/joybox/templates/layer.erb +11 -0
- data/command/joybox/templates/layer_spec.erb +3 -0
- data/command/joybox/templates/scene.erb +11 -0
- data/command/joybox/templates/scene_spec.erb +3 -0
- data/command/joybox/templates/sprite.erb +11 -0
- data/command/joybox/templates/sprite_spec.erb +3 -0
- data/command/joybox_generate_command.rb +114 -0
- data/joybox.gemspec +44 -0
- data/lib/joybox/joybox-ios.rb +47 -0
- data/lib/joybox/joybox-osx.rb +47 -0
- data/lib/joybox/version.rb +1 -1
- data/lib/joybox.rb +18 -36
- data/{lib/joybox/cocos2d → motion/joybox}/actions/actions.rb +0 -0
- data/motion/joybox/actions/animate.rb +22 -0
- data/motion/joybox/actions/bezier.rb +33 -0
- data/motion/joybox/actions/blink.rb +24 -0
- data/motion/joybox/actions/ease.rb +149 -0
- data/motion/joybox/actions/fade.rb +38 -0
- data/motion/joybox/actions/jump.rb +39 -0
- data/{lib/joybox/cocos2d → motion/joybox}/actions/move.rb +4 -2
- data/motion/joybox/actions/place.rb +22 -0
- data/{lib/joybox/cocos2d → motion/joybox}/actions/repeat.rb +10 -1
- data/{lib/joybox/cocos2d → motion/joybox}/actions/rotate.rb +4 -2
- data/{lib/joybox/cocos2d → motion/joybox}/actions/scale.rb +4 -2
- data/{lib/joybox/cocos2d → motion/joybox}/actions/sequence.rb +3 -3
- data/{lib/joybox/cocos2d → motion/joybox}/actions/skew.rb +0 -0
- data/motion/joybox/actions/spawn.rb +22 -0
- data/motion/joybox/actions/tint.rb +37 -0
- data/motion/joybox/animations/animation.rb +60 -0
- data/{lib/joybox/cocos2d → motion/joybox}/common/color.rb +12 -1
- data/{lib/joybox/cocos2d → motion/joybox}/common/gc_size.rb +4 -4
- data/{lib/joybox/cocos2d → motion/joybox}/common/ns_set.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/common/numeric.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/common/screen.rb +4 -4
- data/motion/joybox/core/layer.rb +51 -0
- data/{lib/joybox/cocos2d → motion/joybox}/core/node.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/core/scene.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/core/sprite.rb +22 -3
- data/{lib/joybox/cocos2d → motion/joybox}/core/sprite_batch.rb +0 -0
- data/motion/joybox/core/sprite_frame_cache.rb +147 -0
- data/{lib/joybox/cocos2d/cocos2d.rb → motion/joybox/joybox.rb} +3 -1
- data/{lib/joybox/cocos2d → motion/joybox}/macros.rb +0 -0
- data/{lib/joybox/box2d → motion/joybox/physics}/body.rb +44 -17
- data/{lib/joybox/cocos2d/core → motion/joybox/physics}/physics_sprite.rb +1 -1
- data/motion/joybox/physics/world.rb +79 -0
- data/{lib/joybox/cocos2d → motion/joybox}/ui/label.rb +3 -2
- data/{lib/joybox/cocos2d → motion/joybox}/ui/menu.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/ui/menu_image.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/ui/menu_label.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox}/ui/ui.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox-ios}/common/cg_point.rb +9 -2
- data/{lib/joybox/cocos2d → motion/joybox-ios}/common/ui_touch.rb +1 -1
- data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/configuration.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/file_utils.rb +0 -3
- data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/gl_view.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/texture_2d.rb +0 -0
- data/{lib/joybox/cocos2d → motion/joybox-ios}/core/layer.rb +1 -45
- data/{lib/joybox/cocos2d → motion/joybox-ios}/director.rb +6 -6
- data/motion/joybox-osx/common/ats_point.rb +48 -0
- data/motion/joybox-osx/common/ns_event.rb +8 -0
- data/motion/joybox-osx/configuration/configuration.rb +46 -0
- data/motion/joybox-osx/configuration/gl_view.rb +57 -0
- data/motion/joybox-osx/core/layer.rb +135 -0
- data/motion/joybox-osx/director.rb +42 -0
- data/template/joybox-ios/files/Rakefile.erb +9 -0
- data/{app → template/joybox-ios/files/app}/app_delegate.rb +1 -5
- data/{resources → template/joybox-ios/files/resources}/fps_images-hd.png +0 -0
- data/{resources → template/joybox-ios/files/resources}/fps_images-ipadhd.png +0 -0
- data/{resources → template/joybox-ios/files/resources}/fps_images.png +0 -0
- data/template/joybox-ios/files/spec/main_spec.rb.erb +9 -0
- data/template/joybox-osx/files/Rakefile.erb +9 -0
- data/template/joybox-osx/files/app/app_delegate.rb +23 -0
- data/template/joybox-osx/files/app/layers/default_layer.rb +5 -0
- data/template/joybox-osx/files/app/menu.rb +51 -0
- data/template/joybox-osx/files/resources/Credits.rtf +29 -0
- data/template/joybox-osx/files/resources/fps_images-hd.png +0 -0
- data/template/joybox-osx/files/resources/fps_images-ipadhd.png +0 -0
- data/template/joybox-osx/files/resources/fps_images.png +0 -0
- data/template/joybox-osx/files/spec/main_spec.rb.erb +9 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Box2D +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Box2D.framework.bridgesupport +47 -37
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Box2D +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/B2DContactListener.h +0 -0
- data/vendor/vendor-ios/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DCircleShape.h +16 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/Shapes/B2DEdgeShape.h +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/Shapes/B2DPolygonShape.h +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/Shapes/B2DShape.h +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Dynamics/B2DBody.h +6 -6
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Dynamics/B2DWorld.h +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Resources/Box2DConfig.cmake +0 -0
- data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Resources/CMakeLists.txt +0 -0
- data/vendor/vendor-ios/Box2D.framework/Versions/A/Resources/LICENSE +22 -0
- data/vendor/vendor-ios/cocos_2d/cocos_2d.bridgesupport +9154 -0
- data/vendor/vendor-ios/cocos_2d/cocos_2d_exceptions.bridgesupport +39 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAction.h +23 -23
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionCamera.h +21 -19
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionCatmullRom.h +18 -6
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionEase.h +117 -31
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionGrid.h +19 -17
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionGrid3D.h +45 -42
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionInstant.h +21 -13
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionInterval.h +123 -81
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionManager.h +2 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionPageTurn3D.h +2 -1
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionProgressTimer.h +4 -4
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionTiledGrid.h +46 -38
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionTween.h +3 -3
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAnimation.h +8 -8
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAnimationCache.h +2 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAtlasNode.h +19 -17
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCCamera.h +12 -12
- data/vendor/vendor-ios/cocos_2d/include/CCClippingNode.h +77 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCConfiguration.h +31 -13
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCDirector.h +51 -42
- data/vendor/vendor-ios/cocos_2d/include/CCDrawNode.h +65 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCDrawingPrimitives.h +42 -8
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCGLProgram.h +56 -21
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCGrabber.h +2 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCGrid.h +29 -29
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLabelAtlas.h +5 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLabelBMFont.h +56 -32
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLabelTTF.h +20 -20
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLayer.h +107 -79
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCMenu.h +10 -14
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCMenuItem.h +37 -32
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCMotionStreak.h +18 -19
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCNode+Debug.h +0 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCNode.h +87 -37
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParallaxNode.h +2 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleBatchNode.h +2 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleExamples.h +22 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleSystem.h +51 -40
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleSystemQuad.h +4 -4
- data/vendor/vendor-ios/cocos_2d/include/CCPhysicsDebugNode.h +58 -0
- data/vendor/vendor-ios/cocos_2d/include/CCPhysicsSprite.h +82 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCProgressTimer.h +9 -11
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCProtocols.h +54 -26
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCRenderTexture.h +29 -9
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCScene.h +4 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCScheduler.h +94 -40
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCShaderCache.h +1 -1
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSprite.h +21 -28
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSpriteBatchNode.h +16 -9
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSpriteFrame.h +10 -10
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSpriteFrameCache.h +6 -6
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXLayer.h +16 -16
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXObjectGroup.h +4 -4
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXTiledMap.h +9 -9
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXXMLParser.h +44 -33
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTexture2D.h +17 -25
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTextureAtlas.h +10 -10
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTextureCache.h +4 -4
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTexturePVR.h +25 -8
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTileMapAtlas.h +6 -6
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTransition.h +57 -12
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTransitionPageTurn.h +2 -2
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTransitionProgress.h +27 -5
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms}/CCGL.h +4 -2
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms}/CCNS.h +0 -0
- data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCDirectorMac.h +110 -0
- data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCEventDispatcher.h +343 -0
- data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCGLView.h +103 -0
- data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCWindow.h +41 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCDirectorIOS.h +12 -5
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCES2Renderer.h +12 -12
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCESRenderer.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCGLView.h +28 -13
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCTouchDelegateProtocol.h +4 -4
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCTouchDispatcher.h +2 -2
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCTouchHandler.h +7 -7
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CCArray.h +1 -1
- data/vendor/vendor-ios/cocos_2d/include/Support/CCFileUtils.h +394 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CCProfiling.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CCVertex.h +1 -1
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CGPointExtension.h +4 -2
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/NSThread+performBlock.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/OpenGL_Internal.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/TGAlib.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/TransformUtils.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/ZipUtils.h +4 -4
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/base64.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/ccCArray.h +15 -15
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/ccUtils.h +0 -0
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/uthash.h +129 -184
- data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/utlist.h +298 -55
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccConfig.h +56 -9
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccDeprecated.h +131 -0
- data/vendor/vendor-ios/cocos_2d/include/ccFPSImages.h +39 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccGLStateCache.h +44 -26
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccMacros.h +9 -9
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColorLengthTexture_frag.h +41 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColorLengthTexture_vert.h +47 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColor_frag.h +37 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColor_vert.h +40 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureA8Color_frag.h +41 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureA8Color_vert.h +45 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureColorAlphaTest_frag.h +47 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureColor_frag.h +39 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureColor_vert.h +45 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_frag.h +38 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_uColor_frag.h +41 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_uColor_vert.h +41 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_vert.h +41 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_Position_uColor_frag.h +37 -0
- data/vendor/vendor-ios/cocos_2d/include/ccShader_Position_uColor_vert.h +43 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccShaders.h +11 -0
- data/vendor/vendor-ios/cocos_2d/include/ccTypes.h +392 -0
- data/vendor/vendor-ios/cocos_2d/include/cocos2d-ios-exceptions.bridgesupport +39 -0
- data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/cocos2d.h +28 -3
- data/vendor/vendor-ios/cocos_2d/include/gen_cocos2d_bridgesupport.sh +17 -0
- data/vendor/vendor-ios/cocos_2d/include/gen_cocos2d_complement.sh +17 -0
- data/vendor/vendor-ios/cocos_2d/libcocos2d.a +0 -0
- data/vendor/vendor-osx/box_2d/box_2d.bridgesupport +176 -0
- data/vendor/vendor-osx/box_2d/include/B2DBody.h +46 -0
- data/vendor/vendor-osx/box_2d/include/B2DCircleShape.h +16 -0
- data/vendor/vendor-osx/box_2d/include/B2DContactListener.h +30 -0
- data/vendor/vendor-osx/box_2d/include/B2DEdgeShape.h +17 -0
- data/vendor/vendor-osx/box_2d/include/B2DPolygonShape.h +16 -0
- data/vendor/vendor-osx/box_2d/include/B2DShape.h +18 -0
- data/vendor/vendor-osx/box_2d/include/B2DWorld.h +44 -0
- data/vendor/vendor-osx/box_2d/libBox2D.a +0 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d.bridgesupport +8292 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAction.h +195 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionCamera.h +75 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionCatmullRom.h +151 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionEase.h +245 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionGrid.h +167 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionGrid3D.h +208 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionInstant.h +235 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionInterval.h +473 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionManager.h +113 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionPageTurn3D.h +43 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionProgressTimer.h +59 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionTiledGrid.h +219 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionTween.h +62 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAnimation.h +150 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAnimationCache.h +74 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAtlasNode.h +98 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCCamera.h +98 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCClippingNode.h +77 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCConfiguration.h +144 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCDirector.h +353 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCDrawNode.h +65 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCDrawingPrimitives.h +173 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCGLProgram.h +185 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCGrabber.h +44 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCGrid.h +130 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelAtlas.h +71 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelBMFont.h +240 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelTTF.h +132 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLayer.h +308 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMenu.h +96 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMenuItem.h +428 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMotionStreak.h +86 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCNode+Debug.h +39 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCNode.h +619 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParallaxNode.h +50 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleBatchNode.h +99 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleExamples.h +117 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleSystem.h +464 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleSystemQuad.h +73 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCPhysicsDebugNode.h +58 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCPhysicsSprite.h +82 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCProgressTimer.h +92 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCProtocols.h +160 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCRenderTexture.h +159 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCScene.h +47 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCScheduler.h +284 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCShaderCache.h +60 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSprite.h +281 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSpriteBatchNode.h +145 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSpriteFrame.h +126 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSpriteFrameCache.h +121 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXLayer.h +164 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXObjectGroup.h +67 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXTiledMap.h +145 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXXMLParser.h +228 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTexture2D.h +349 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTextureAtlas.h +188 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTextureCache.h +146 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTexturePVR.h +146 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTileMapAtlas.h +83 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTransition.h +341 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTransitionPageTurn.h +60 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTransitionProgress.h +84 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/CCGL.h +74 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/CCNS.h +54 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCDirectorMac.h +110 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCEventDispatcher.h +343 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCGLView.h +103 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCWindow.h +41 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCArray.h +119 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCFileUtils.h +394 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCProfiling.h +89 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCVertex.h +36 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CGPointExtension.h +346 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/NSThread+performBlock.h +22 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/OpenGL_Internal.h +86 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/TGAlib.h +55 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/TransformUtils.h +36 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/ZipUtils.h +91 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/base64.h +33 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/ccCArray.h +229 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/ccUtils.h +36 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/uthash.h +917 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/utlist.h +733 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccConfig.h +292 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccDeprecated.h +431 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccFPSImages.h +39 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccGLStateCache.h +156 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccMacros.h +353 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColorLengthTexture_frag.h +41 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColorLengthTexture_vert.h +47 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColor_frag.h +37 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColor_vert.h +40 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureA8Color_frag.h +41 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureA8Color_vert.h +45 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureColorAlphaTest_frag.h +47 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureColor_frag.h +39 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureColor_vert.h +45 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_frag.h +38 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_uColor_frag.h +41 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_uColor_vert.h +41 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_vert.h +41 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_Position_uColor_frag.h +37 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_Position_uColor_vert.h +43 -0
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShaders.h +56 -0
- data/vendor/{Cocos2D/include → vendor-osx/cocos_2d/cocos_2d_include}/ccTypes.h +39 -35
- data/vendor/vendor-osx/cocos_2d/cocos_2d_include/cocos2d.h +203 -0
- data/vendor/vendor-osx/cocos_2d/libcocos2d.a +0 -0
- metadata +363 -195
- data/app/layers/box2d_layer.rb +0 -109
- data/app/layers/cocos2d_layer.rb +0 -14
- data/app/layers/cocos_motion_layer.rb +0 -145
- data/app/layers/menu_layer.rb +0 -59
- data/lib/joybox/box2d/world.rb +0 -79
- data/resources/box2d/blocks_sprite_sheet.png +0 -0
- data/resources/cocos_motion/dot.png +0 -0
- data/resources/cocos_motion/dot_selected.png +0 -0
- data/resources/cocos_motion/grossini.png +0 -0
- data/resources/cocos_motion/grossinis_sister.png +0 -0
- data/resources/cocos_motion/grossinis_sister_two.png +0 -0
- data/resources/cocos_motion/left_arrow.png +0 -0
- data/resources/cocos_motion/left_arrow_selected.png +0 -0
- data/resources/cocos_motion/right_arrow.png +0 -0
- data/resources/cocos_motion/right_arrow_selected.png +0 -0
- data/vendor/Cocos2D/Cocos2D.bridgesupport +0 -7808
- data/vendor/Cocos2D/include/CCFileUtils.h +0 -188
- data/vendor/Cocos2D/include/CocosDenshion/CDAudioManager.h +0 -243
- data/vendor/Cocos2D/include/CocosDenshion/CDConfig.h +0 -60
- data/vendor/Cocos2D/include/CocosDenshion/CDOpenALSupport.h +0 -77
- data/vendor/Cocos2D/include/CocosDenshion/CDXPropertyModifierAction.h +0 -45
- data/vendor/Cocos2D/include/CocosDenshion/CocosDenshion.h +0 -440
- data/vendor/Cocos2D/include/CocosDenshion/SimpleAudioEngine.h +0 -90
- data/vendor/Cocos2D/include/RubyMotionSchedule.h +0 -7
- data/vendor/Cocos2D/include/ccShader_PositionColor_frag.h +0 -12
- data/vendor/Cocos2D/include/ccShader_PositionColor_vert.h +0 -17
- data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_frag.h +0 -16
- data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_vert.h +0 -21
- data/vendor/Cocos2D/include/ccShader_PositionTextureColorAlphaTest_frag.h +0 -23
- data/vendor/Cocos2D/include/ccShader_PositionTextureColor_frag.h +0 -14
- data/vendor/Cocos2D/include/ccShader_PositionTextureColor_vert.h +0 -22
- data/vendor/Cocos2D/include/ccShader_PositionTexture_frag.h +0 -13
- data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_frag.h +0 -16
- data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_vert.h +0 -18
- data/vendor/Cocos2D/include/ccShader_PositionTexture_vert.h +0 -17
- data/vendor/Cocos2D/include/ccShader_Position_uColor_frag.h +0 -12
- data/vendor/Cocos2D/include/ccShader_Position_uColor_vert.h +0 -19
- data/vendor/Cocos2D/include/kazmath/GL/mat4stack.h +0 -51
- data/vendor/Cocos2D/include/kazmath/GL/matrix.h +0 -58
- data/vendor/Cocos2D/include/kazmath/aabb.h +0 -53
- data/vendor/Cocos2D/include/kazmath/kazmath.h +0 -39
- data/vendor/Cocos2D/include/kazmath/mat3.h +0 -75
- data/vendor/Cocos2D/include/kazmath/mat4.h +0 -93
- data/vendor/Cocos2D/include/kazmath/neon_matrix_impl.h +0 -41
- data/vendor/Cocos2D/include/kazmath/plane.h +0 -70
- data/vendor/Cocos2D/include/kazmath/quaternion.h +0 -113
- data/vendor/Cocos2D/include/kazmath/ray2.h +0 -50
- data/vendor/Cocos2D/include/kazmath/utility.h +0 -74
- data/vendor/Cocos2D/include/kazmath/vec2.h +0 -64
- data/vendor/Cocos2D/include/kazmath/vec3.h +0 -68
- data/vendor/Cocos2D/include/kazmath/vec4.h +0 -68
- data/vendor/Cocos2D/libCocosDenshion.a +0 -0
- data/vendor/Cocos2D/libcocos2d.a +0 -0
@@ -0,0 +1,65 @@
|
|
1
|
+
/* Copyright (c) 2012 Scott Lembcke and Howling Moon Software
|
2
|
+
*
|
3
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
* of this software and associated documentation files (the "Software"), to deal
|
5
|
+
* in the Software without restriction, including without limitation the rights
|
6
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
* copies of the Software, and to permit persons to whom the Software is
|
8
|
+
* furnished to do so, subject to the following conditions:
|
9
|
+
*
|
10
|
+
* The above copyright notice and this permission notice shall be included in
|
11
|
+
* all copies or substantial portions of the Software.
|
12
|
+
*
|
13
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
19
|
+
* SOFTWARE.
|
20
|
+
*/
|
21
|
+
|
22
|
+
/*
|
23
|
+
* Code copied & pasted from SpacePatrol game https://github.com/slembcke/SpacePatrol
|
24
|
+
*
|
25
|
+
* Renamed and added some changes for cocos2d
|
26
|
+
*
|
27
|
+
*/
|
28
|
+
|
29
|
+
#import "CCNode.h"
|
30
|
+
|
31
|
+
/** CCDrawNode
|
32
|
+
Node that draws dots, segments and polygons.
|
33
|
+
Faster than the "drawing primitives" since they it draws everything in one single batch.
|
34
|
+
|
35
|
+
@since v2.1
|
36
|
+
*/
|
37
|
+
@interface CCDrawNode : CCNode
|
38
|
+
{
|
39
|
+
GLuint _vao;
|
40
|
+
GLuint _vbo;
|
41
|
+
|
42
|
+
NSUInteger _bufferCapacity;
|
43
|
+
GLsizei _bufferCount;
|
44
|
+
ccV2F_C4B_T2F *_buffer;
|
45
|
+
|
46
|
+
ccBlendFunc _blendFunc;
|
47
|
+
|
48
|
+
BOOL _dirty;
|
49
|
+
}
|
50
|
+
|
51
|
+
@property(nonatomic, assign) ccBlendFunc blendFunc;
|
52
|
+
|
53
|
+
/** draw a dot at a position, with a given radius and color */
|
54
|
+
-(void)drawDot:(CGPoint)pos radius:(CGFloat)radius color:(ccColor4F)color;
|
55
|
+
|
56
|
+
/** draw a segment with a radius and color */
|
57
|
+
-(void)drawSegmentFrom:(CGPoint)a to:(CGPoint)b radius:(CGFloat)radius color:(ccColor4F)color;
|
58
|
+
|
59
|
+
/** draw a polygon with a fill color and line color */
|
60
|
+
-(void)drawPolyWithVerts:(CGPoint*)verts count:(NSUInteger)count fillColor:(ccColor4F)fill borderWidth:(CGFloat)width borderColor:(ccColor4F)line;
|
61
|
+
|
62
|
+
/** Clear the geometry in the node's buffer. */
|
63
|
+
-(void)clear;
|
64
|
+
|
65
|
+
@end
|
@@ -0,0 +1,173 @@
|
|
1
|
+
/*
|
2
|
+
* cocos2d for iPhone: http://www.cocos2d-iphone.org
|
3
|
+
*
|
4
|
+
* Copyright (c) 2008-2010 Ricardo Quesada
|
5
|
+
* Copyright (c) 2011 Zynga Inc.
|
6
|
+
* Copyright (c) 2013 Nader Eloshaiker
|
7
|
+
*
|
8
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
9
|
+
* of this software and associated documentation files (the "Software"), to deal
|
10
|
+
* in the Software without restriction, including without limitation the rights
|
11
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
12
|
+
* copies of the Software, and to permit persons to whom the Software is
|
13
|
+
* furnished to do so, subject to the following conditions:
|
14
|
+
*
|
15
|
+
* The above copyright notice and this permission notice shall be included in
|
16
|
+
* all copies or substantial portions of the Software.
|
17
|
+
*
|
18
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
19
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
20
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
21
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
22
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
23
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
24
|
+
* THE SOFTWARE.
|
25
|
+
*/
|
26
|
+
|
27
|
+
|
28
|
+
/*
|
29
|
+
*
|
30
|
+
* IMPORTANT IMPORTANT IMPORTANT IMPORTANT
|
31
|
+
*
|
32
|
+
*
|
33
|
+
* LEGACY FUNCTIONS
|
34
|
+
*
|
35
|
+
* USE CCDrawNode instead
|
36
|
+
*
|
37
|
+
*/
|
38
|
+
|
39
|
+
#ifndef __CC_DRAWING_PRIMITIVES_H
|
40
|
+
#define __CC_DRAWING_PRIMITIVES_H
|
41
|
+
|
42
|
+
#import <Foundation/Foundation.h>
|
43
|
+
|
44
|
+
#import "ccTypes.h"
|
45
|
+
#import "ccMacros.h"
|
46
|
+
|
47
|
+
#ifdef __CC_PLATFORM_IOS
|
48
|
+
#import <CoreGraphics/CGGeometry.h> // for CGPoint
|
49
|
+
#endif
|
50
|
+
|
51
|
+
|
52
|
+
#ifdef __cplusplus
|
53
|
+
extern "C" {
|
54
|
+
#endif
|
55
|
+
|
56
|
+
@class CCPointArray;
|
57
|
+
|
58
|
+
|
59
|
+
/**
|
60
|
+
@file
|
61
|
+
Drawing OpenGL ES primitives.
|
62
|
+
- ccDrawPoint, ccDrawPoints
|
63
|
+
- ccDrawLine
|
64
|
+
- ccDrawRect, ccDrawSolidRect
|
65
|
+
- ccDrawPoly, ccDrawSolidPoly
|
66
|
+
- ccDrawCircle, ccDrawSolidCircle
|
67
|
+
- ccDrawArc, ccDrawSolidArc
|
68
|
+
- ccDrawQuadBezier
|
69
|
+
- ccDrawCubicBezier
|
70
|
+
- ccDrawCatmullRom
|
71
|
+
- ccDrawCardinalSpline
|
72
|
+
|
73
|
+
You can change the color, point size, width by calling:
|
74
|
+
- ccDrawColor4B(), ccDrawColor4F()
|
75
|
+
- ccPointSize()
|
76
|
+
- glLineWidth()
|
77
|
+
|
78
|
+
@warning These functions draws the Line, Point, Polygon, immediately. They aren't batched. If you are going to make a game that depends on these primitives, I suggest creating a batch. Instead you should use CCDrawNode
|
79
|
+
|
80
|
+
*/
|
81
|
+
|
82
|
+
|
83
|
+
/** Initializes the drawing primitives */
|
84
|
+
void ccDrawInit(void);
|
85
|
+
|
86
|
+
/** Frees allocated resources by the drawing primitives */
|
87
|
+
void ccDrawFree(void);
|
88
|
+
|
89
|
+
/** draws a point given x and y coordinate measured in points. */
|
90
|
+
void ccDrawPoint( CGPoint point );
|
91
|
+
|
92
|
+
/** draws an array of points.
|
93
|
+
@since v0.7.2
|
94
|
+
*/
|
95
|
+
void ccDrawPoints( const CGPoint *points, NSUInteger numberOfPoints );
|
96
|
+
|
97
|
+
/** draws a line given the origin and destination point measured in points. */
|
98
|
+
void ccDrawLine( CGPoint origin, CGPoint destination );
|
99
|
+
|
100
|
+
/** draws a rectangle given the origin and destination point measured in points. */
|
101
|
+
void ccDrawRect( CGPoint origin, CGPoint destination );
|
102
|
+
|
103
|
+
/** draws a solid rectangle given the origin and destination point measured in points.
|
104
|
+
@since 1.1
|
105
|
+
*/
|
106
|
+
void ccDrawSolidRect( CGPoint origin, CGPoint destination, ccColor4F color );
|
107
|
+
|
108
|
+
/** draws a polygon given a pointer to CGPoint coordinates and the number of vertices measured in points.
|
109
|
+
The polygon can be closed or open
|
110
|
+
*/
|
111
|
+
void ccDrawPoly( const CGPoint *vertices, NSUInteger numOfVertices, BOOL closePolygon );
|
112
|
+
|
113
|
+
/** draws a solid polygon given a pointer to CGPoint coordinates, the number of vertices measured in points, and a color.
|
114
|
+
*/
|
115
|
+
void ccDrawSolidPoly( const CGPoint *poli, NSUInteger numberOfPoints, ccColor4F color );
|
116
|
+
|
117
|
+
/** draws a circle given the center, radius and number of segments measured in points */
|
118
|
+
void ccDrawCircle( CGPoint center, float radius, float angle, NSUInteger segments, BOOL drawLineToCenter);
|
119
|
+
|
120
|
+
/** draws a solid circle given the center, radius and number of segments measured in points */
|
121
|
+
void ccDrawSolidCircle( CGPoint center, float radius, NSUInteger segments);
|
122
|
+
|
123
|
+
/** draws a arc given the center, radius, arc length and number of segments measured in points */
|
124
|
+
void ccDrawArc(CGPoint center, CGFloat r, CGFloat a, CGFloat arcLength, NSUInteger segs, BOOL drawLineToCenter);
|
125
|
+
|
126
|
+
/** draws a solid arc given the center, radius, arc length and number of segments measured in points */
|
127
|
+
void ccDrawSolidArc(CGPoint center, CGFloat r, CGFloat a, CGFloat arcLength, NSUInteger segs);
|
128
|
+
|
129
|
+
/** draws a quad bezier path measured in points.
|
130
|
+
@warning This function could be pretty slow. Use it only for debugging purposes.
|
131
|
+
@since v0.8
|
132
|
+
*/
|
133
|
+
void ccDrawQuadBezier(CGPoint origin, CGPoint control, CGPoint destination, NSUInteger segments);
|
134
|
+
|
135
|
+
/** draws a cubic bezier path measured in points.
|
136
|
+
@warning This function could be pretty slow. Use it only for debugging purposes.
|
137
|
+
@since v0.8
|
138
|
+
*/
|
139
|
+
void ccDrawCubicBezier(CGPoint origin, CGPoint control1, CGPoint control2, CGPoint destination, NSUInteger segments);
|
140
|
+
|
141
|
+
/** draws a Catmull Rom path.
|
142
|
+
@warning This function could be pretty slow. Use it only for debugging purposes.
|
143
|
+
@since v2.0
|
144
|
+
*/
|
145
|
+
void ccDrawCatmullRom( CCPointArray *arrayOfControlPoints, NSUInteger segments );
|
146
|
+
|
147
|
+
/** draws a Cardinal Spline path.
|
148
|
+
@warning This function could be pretty slow. Use it only for debugging purposes.
|
149
|
+
@since v2.0
|
150
|
+
*/
|
151
|
+
void ccDrawCardinalSpline( CCPointArray *config, CGFloat tension, NSUInteger segments );
|
152
|
+
|
153
|
+
/** set the drawing color with 4 unsigned bytes
|
154
|
+
@since v2.0
|
155
|
+
*/
|
156
|
+
void ccDrawColor4B( GLubyte r, GLubyte g, GLubyte b, GLubyte a );
|
157
|
+
|
158
|
+
/** set the drawing color with 4 floats
|
159
|
+
@since v2.0
|
160
|
+
*/
|
161
|
+
void ccDrawColor4F( GLfloat r, GLfloat g, GLfloat b, GLfloat a );
|
162
|
+
|
163
|
+
/** set the point size in points. Default 1.
|
164
|
+
@since v2.0
|
165
|
+
*/
|
166
|
+
void ccPointSize( GLfloat pointSize );
|
167
|
+
|
168
|
+
|
169
|
+
#ifdef __cplusplus
|
170
|
+
}
|
171
|
+
#endif
|
172
|
+
|
173
|
+
#endif // __CC_DRAWING_PRIMITIVES_H
|
@@ -0,0 +1,185 @@
|
|
1
|
+
//
|
2
|
+
// Copyright 2011 Jeff Lamarche
|
3
|
+
//
|
4
|
+
// Copyright 2012 Goffredo Marocchi
|
5
|
+
//
|
6
|
+
// Copyright 2012 Ricardo Quesada
|
7
|
+
//
|
8
|
+
//
|
9
|
+
// Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
10
|
+
// that the following conditions are met:
|
11
|
+
// 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
|
12
|
+
// the following disclaimer.
|
13
|
+
//
|
14
|
+
// 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
|
15
|
+
// and the following disclaimer in the documentation and/or other materials provided with the
|
16
|
+
// distribution.
|
17
|
+
//
|
18
|
+
// THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
19
|
+
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
20
|
+
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD PROJECT
|
21
|
+
// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
22
|
+
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
23
|
+
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
24
|
+
// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
25
|
+
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
26
|
+
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27
|
+
//
|
28
|
+
//
|
29
|
+
|
30
|
+
#import <Foundation/Foundation.h>
|
31
|
+
#import "ccMacros.h"
|
32
|
+
#import "Platforms/CCGL.h"
|
33
|
+
|
34
|
+
enum {
|
35
|
+
kCCVertexAttrib_Position,
|
36
|
+
kCCVertexAttrib_Color,
|
37
|
+
kCCVertexAttrib_TexCoords,
|
38
|
+
|
39
|
+
kCCVertexAttrib_MAX,
|
40
|
+
};
|
41
|
+
|
42
|
+
enum {
|
43
|
+
kCCUniformPMatrix,
|
44
|
+
kCCUniformMVMatrix,
|
45
|
+
kCCUniformMVPMatrix,
|
46
|
+
kCCUniformTime,
|
47
|
+
kCCUniformSinTime,
|
48
|
+
kCCUniformCosTime,
|
49
|
+
kCCUniformRandom01,
|
50
|
+
kCCUniformSampler,
|
51
|
+
|
52
|
+
kCCUniform_MAX,
|
53
|
+
};
|
54
|
+
|
55
|
+
#define kCCShader_PositionTextureColor @"ShaderPositionTextureColor"
|
56
|
+
#define kCCShader_PositionTextureColorAlphaTest @"ShaderPositionTextureColorAlphaTest"
|
57
|
+
#define kCCShader_PositionColor @"ShaderPositionColor"
|
58
|
+
#define kCCShader_PositionTexture @"ShaderPositionTexture"
|
59
|
+
#define kCCShader_PositionTexture_uColor @"ShaderPositionTexture_uColor"
|
60
|
+
#define kCCShader_PositionTextureA8Color @"ShaderPositionTextureA8Color"
|
61
|
+
#define kCCShader_Position_uColor @"ShaderPosition_uColor"
|
62
|
+
#define kCCShader_PositionLengthTexureColor @"ShaderPositionLengthTextureColor"
|
63
|
+
|
64
|
+
// uniform names
|
65
|
+
#define kCCUniformPMatrix_s "CC_PMatrix"
|
66
|
+
#define kCCUniformMVMatrix_s "CC_MVMatrix"
|
67
|
+
#define kCCUniformMVPMatrix_s "CC_MVPMatrix"
|
68
|
+
#define kCCUniformTime_s "CC_Time"
|
69
|
+
#define kCCUniformSinTime_s "CC_SinTime"
|
70
|
+
#define kCCUniformCosTime_s "CC_CosTime"
|
71
|
+
#define kCCUniformRandom01_s "CC_Random01"
|
72
|
+
#define kCCUniformSampler_s "CC_Texture0"
|
73
|
+
#define kCCUniformAlphaTestValue_s "CC_AlphaValue"
|
74
|
+
|
75
|
+
// Attribute names
|
76
|
+
#define kCCAttributeNameColor @"a_color"
|
77
|
+
#define kCCAttributeNamePosition @"a_position"
|
78
|
+
#define kCCAttributeNameTexCoord @"a_texCoord"
|
79
|
+
|
80
|
+
|
81
|
+
struct _hashUniformEntry;
|
82
|
+
|
83
|
+
/** CCGLProgram
|
84
|
+
Class that implements a glProgram
|
85
|
+
|
86
|
+
|
87
|
+
@since v2.0.0
|
88
|
+
*/
|
89
|
+
@interface CCGLProgram : NSObject
|
90
|
+
{
|
91
|
+
struct _hashUniformEntry *_hashForUniforms;
|
92
|
+
|
93
|
+
@public
|
94
|
+
GLuint _program,
|
95
|
+
_vertShader,
|
96
|
+
_fragShader;
|
97
|
+
|
98
|
+
GLint _uniforms[kCCUniform_MAX];
|
99
|
+
|
100
|
+
struct {
|
101
|
+
unsigned int usesTime:1;
|
102
|
+
unsigned int usesMVP:1;
|
103
|
+
unsigned int usesMV:1;
|
104
|
+
unsigned int usesRandom:1;
|
105
|
+
} _flags;
|
106
|
+
}
|
107
|
+
|
108
|
+
@property(nonatomic, readonly) GLuint program;
|
109
|
+
|
110
|
+
/** creates the CCGLProgram with a vertex and fragment from byte arrays */
|
111
|
+
+ (id)programWithVertexShaderByteArray:(const GLchar*)vShaderByteArray fragmentShaderByteArray:(const GLchar*)fShaderByteArray;
|
112
|
+
|
113
|
+
/** creates the CCGLProgram with a vertex and fragment with contents of filenames */
|
114
|
+
+ (id)programWithVertexShaderFilename:(NSString *)vShaderFilename fragmentShaderFilename:(NSString *)fShaderFilename;
|
115
|
+
|
116
|
+
/** Initializes the CCGLProgram with a vertex and fragment with bytes array */
|
117
|
+
- (id)initWithVertexShaderByteArray:(const GLchar*)vShaderByteArray fragmentShaderByteArray:(const GLchar*)fShaderByteArray;
|
118
|
+
|
119
|
+
/** Initializes the CCGLProgram with a vertex and fragment with contents of filenames */
|
120
|
+
- (id)initWithVertexShaderFilename:(NSString *)vShaderFilename fragmentShaderFilename:(NSString *)fShaderFilename;
|
121
|
+
|
122
|
+
/** It will add a new attribute to the shader */
|
123
|
+
- (void)addAttribute:(NSString *)attributeName index:(GLuint)index;
|
124
|
+
|
125
|
+
/** links the glProgram */
|
126
|
+
- (BOOL)link;
|
127
|
+
|
128
|
+
/** it will call glUseProgram() */
|
129
|
+
- (void)use;
|
130
|
+
|
131
|
+
/** It will create 4 uniforms:
|
132
|
+
- kCCUniformPMatrix
|
133
|
+
- kCCUniformMVMatrix
|
134
|
+
- kCCUniformMVPMatrix
|
135
|
+
- kCCUniformSampler
|
136
|
+
|
137
|
+
And it will bind "kCCUniformSampler" to 0
|
138
|
+
*/
|
139
|
+
- (void) updateUniforms;
|
140
|
+
|
141
|
+
/** calls retrieves the named uniform location for this shader program. */
|
142
|
+
- (GLint)uniformLocationForName:(NSString*)name;
|
143
|
+
|
144
|
+
/** calls glUniform1i only if the values are different than the previous call for this same shader program. */
|
145
|
+
-(void) setUniformLocation:(GLint)location withI1:(GLint)i1;
|
146
|
+
|
147
|
+
/** calls glUniform1f only if the values are different than the previous call for this same shader program. */
|
148
|
+
-(void) setUniformLocation:(GLint)location withF1:(GLfloat)f1;
|
149
|
+
|
150
|
+
/** calls glUniform2f only if the values are different than the previous call for this same shader program. */
|
151
|
+
-(void) setUniformLocation:(GLint)location withF1:(GLfloat)f1 f2:(GLfloat)f2;
|
152
|
+
|
153
|
+
/** calls glUniform3f only if the values are different than the previous call for this same shader program. */
|
154
|
+
-(void) setUniformLocation:(GLint)location withF1:(GLfloat)f1 f2:(GLfloat)f2 f3:(GLfloat)f3;
|
155
|
+
|
156
|
+
/** calls glUniform4f only if the values are different than the previous call for this same shader program. */
|
157
|
+
-(void) setUniformLocation:(GLint)location withF1:(GLfloat)f1 f2:(GLfloat)f2 f3:(GLfloat)f3 f4:(GLfloat)f4;
|
158
|
+
|
159
|
+
/** calls glUniform2fv only if the values are different than the previous call for this same shader program. */
|
160
|
+
-(void) setUniformLocation:(GLint)location with2fv:(GLfloat*)floats count:(NSUInteger)numberOfArrays;
|
161
|
+
|
162
|
+
/** calls glUniform3fv only if the values are different than the previous call for this same shader program. */
|
163
|
+
-(void) setUniformLocation:(GLint)location with3fv:(GLfloat*)floats count:(NSUInteger)numberOfArrays;
|
164
|
+
|
165
|
+
/** calls glUniform4fv only if the values are different than the previous call for this same shader program. */
|
166
|
+
-(void) setUniformLocation:(GLint)location with4fv:(GLvoid*)floats count:(NSUInteger)numberOfArrays;
|
167
|
+
|
168
|
+
/** calls glUniformMatrix4fv only if the values are different than the previous call for this same shader program. */
|
169
|
+
-(void) setUniformLocation:(GLint)location withMatrix4fv:(GLvoid*)matrix_array count:(NSUInteger)numberOfMatrix;
|
170
|
+
|
171
|
+
/** will update the builtin uniforms if they are different than the previous call for this same shader program. */
|
172
|
+
-(void) setUniformsForBuiltins;
|
173
|
+
|
174
|
+
/** Deprecated alias for setUniformsForBuiltins */
|
175
|
+
-(void)setUniformForModelViewProjectionMatrix __attribute__((__deprecated__));
|
176
|
+
|
177
|
+
/** returns the vertexShader error log */
|
178
|
+
- (NSString *)vertexShaderLog;
|
179
|
+
|
180
|
+
/** returns the fragmentShader error log */
|
181
|
+
- (NSString *)fragmentShaderLog;
|
182
|
+
|
183
|
+
/** returns the program error log */
|
184
|
+
- (NSString *)programLog;
|
185
|
+
@end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
/*
|
2
|
+
* cocos2d for iPhone: http://www.cocos2d-iphone.org
|
3
|
+
*
|
4
|
+
* Copyright (c) 2009 On-Core
|
5
|
+
*
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
* of this software and associated documentation files (the "Software"), to deal
|
8
|
+
* in the Software without restriction, including without limitation the rights
|
9
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
* copies of the Software, and to permit persons to whom the Software is
|
11
|
+
* furnished to do so, subject to the following conditions:
|
12
|
+
*
|
13
|
+
* The above copyright notice and this permission notice shall be included in
|
14
|
+
* all copies or substantial portions of the Software.
|
15
|
+
*
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
22
|
+
* THE SOFTWARE.
|
23
|
+
*
|
24
|
+
*/
|
25
|
+
|
26
|
+
|
27
|
+
#import "Platforms/CCGL.h"
|
28
|
+
#import <Foundation/Foundation.h>
|
29
|
+
|
30
|
+
@class CCTexture2D;
|
31
|
+
|
32
|
+
/** FBO class that grabs the the contents of the screen */
|
33
|
+
@interface CCGrabber : NSObject
|
34
|
+
{
|
35
|
+
GLuint _FBO;
|
36
|
+
GLint _oldFBO;
|
37
|
+
GLfloat oldClearColor_[4];
|
38
|
+
}
|
39
|
+
|
40
|
+
-(void)grab:(CCTexture2D*)texture;
|
41
|
+
-(void)beforeRender:(CCTexture2D*)texture;
|
42
|
+
-(void)afterRender:(CCTexture2D*)texture;
|
43
|
+
|
44
|
+
@end
|
@@ -0,0 +1,130 @@
|
|
1
|
+
/*
|
2
|
+
* cocos2d for iPhone: http://www.cocos2d-iphone.org
|
3
|
+
*
|
4
|
+
* Copyright (c) 2009 On-Core
|
5
|
+
*
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
* of this software and associated documentation files (the "Software"), to deal
|
8
|
+
* in the Software without restriction, including without limitation the rights
|
9
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
* copies of the Software, and to permit persons to whom the Software is
|
11
|
+
* furnished to do so, subject to the following conditions:
|
12
|
+
*
|
13
|
+
* The above copyright notice and this permission notice shall be included in
|
14
|
+
* all copies or substantial portions of the Software.
|
15
|
+
*
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
22
|
+
* THE SOFTWARE.
|
23
|
+
*
|
24
|
+
*/
|
25
|
+
|
26
|
+
|
27
|
+
#import <Foundation/Foundation.h>
|
28
|
+
|
29
|
+
#import "CCNode.h"
|
30
|
+
#import "CCCamera.h"
|
31
|
+
#import "ccTypes.h"
|
32
|
+
#import "CCDirector.h"
|
33
|
+
#import "kazmath/mat4.h"
|
34
|
+
|
35
|
+
@class CCTexture2D;
|
36
|
+
@class CCGrabber;
|
37
|
+
@class CCGLProgram;
|
38
|
+
|
39
|
+
/** Base class for other
|
40
|
+
*/
|
41
|
+
@interface CCGridBase : NSObject
|
42
|
+
{
|
43
|
+
BOOL _active;
|
44
|
+
int _reuseGrid;
|
45
|
+
CGSize _gridSize;
|
46
|
+
CCTexture2D *_texture;
|
47
|
+
CGPoint _step;
|
48
|
+
CCGrabber *_grabber;
|
49
|
+
BOOL _isTextureFlipped;
|
50
|
+
|
51
|
+
CCGLProgram *_shaderProgram;
|
52
|
+
|
53
|
+
ccDirectorProjection _directorProjection;
|
54
|
+
}
|
55
|
+
|
56
|
+
/** whether or not the grid is active */
|
57
|
+
@property (nonatomic,readwrite) BOOL active;
|
58
|
+
/** number of times that the grid will be reused */
|
59
|
+
@property (nonatomic,readwrite) int reuseGrid;
|
60
|
+
/** size of the grid */
|
61
|
+
@property (nonatomic,readonly) CGSize gridSize;
|
62
|
+
/** pixels between the grids */
|
63
|
+
@property (nonatomic,readwrite) CGPoint step;
|
64
|
+
/** texture used */
|
65
|
+
@property (nonatomic, retain) CCTexture2D *texture;
|
66
|
+
/** grabber used */
|
67
|
+
@property (nonatomic, retain) CCGrabber *grabber;
|
68
|
+
/** is texture flipped */
|
69
|
+
@property (nonatomic, readwrite) BOOL isTextureFlipped;
|
70
|
+
/** shader program */
|
71
|
+
@property (nonatomic, readwrite, assign) CCGLProgram *shaderProgram;
|
72
|
+
|
73
|
+
+(id) gridWithSize:(CGSize)gridSize texture:(CCTexture2D*)texture flippedTexture:(BOOL)flipped;
|
74
|
+
+(id) gridWithSize:(CGSize)gridSize;
|
75
|
+
|
76
|
+
-(id) initWithSize:(CGSize)gridSize texture:(CCTexture2D*)texture flippedTexture:(BOOL)flipped;
|
77
|
+
-(id)initWithSize:(CGSize)gridSize;
|
78
|
+
-(void)beforeDraw;
|
79
|
+
-(void)afterDraw:(CCNode*)target;
|
80
|
+
-(void)blit;
|
81
|
+
-(void)reuse;
|
82
|
+
|
83
|
+
-(void)calculateVertexPoints;
|
84
|
+
|
85
|
+
@end
|
86
|
+
|
87
|
+
////////////////////////////////////////////////////////////
|
88
|
+
|
89
|
+
/**
|
90
|
+
CCGrid3D is a 3D grid implementation. Each vertex has 3 dimensions: x,y,z
|
91
|
+
*/
|
92
|
+
@interface CCGrid3D : CCGridBase
|
93
|
+
{
|
94
|
+
GLvoid *_texCoordinates;
|
95
|
+
GLvoid *_vertices;
|
96
|
+
GLvoid *_originalVertices;
|
97
|
+
GLushort *_indices;
|
98
|
+
}
|
99
|
+
|
100
|
+
/** returns the vertex at a given position */
|
101
|
+
-(ccVertex3F)vertex:(CGPoint)pos;
|
102
|
+
/** returns the original (non-transformed) vertex at a given position */
|
103
|
+
-(ccVertex3F)originalVertex:(CGPoint)pos;
|
104
|
+
/** sets a new vertex at a given position */
|
105
|
+
-(void)setVertex:(CGPoint)pos vertex:(ccVertex3F)vertex;
|
106
|
+
|
107
|
+
@end
|
108
|
+
|
109
|
+
////////////////////////////////////////////////////////////
|
110
|
+
|
111
|
+
/**
|
112
|
+
CCTiledGrid3D is a 3D grid implementation. It differs from Grid3D in that
|
113
|
+
the tiles can be separated from the grid.
|
114
|
+
*/
|
115
|
+
@interface CCTiledGrid3D : CCGridBase
|
116
|
+
{
|
117
|
+
GLvoid *_texCoordinates;
|
118
|
+
GLvoid *_vertices;
|
119
|
+
GLvoid *_originalVertices;
|
120
|
+
GLushort *_indices;
|
121
|
+
}
|
122
|
+
|
123
|
+
/** returns the tile at the given position */
|
124
|
+
-(ccQuad3)tile:(CGPoint)pos;
|
125
|
+
/** returns the original tile (untransformed) at the given position */
|
126
|
+
-(ccQuad3)originalTile:(CGPoint)pos;
|
127
|
+
/** sets a new tile */
|
128
|
+
-(void)setTile:(CGPoint)pos coords:(ccQuad3)coords;
|
129
|
+
|
130
|
+
@end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
/*
|
2
|
+
* cocos2d for iPhone: http://www.cocos2d-iphone.org
|
3
|
+
*
|
4
|
+
* Copyright (c) 2008-2010 Ricardo Quesada
|
5
|
+
* Copyright (c) 2011 Zynga Inc.
|
6
|
+
*
|
7
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
|
+
* of this software and associated documentation files (the "Software"), to deal
|
9
|
+
* in the Software without restriction, including without limitation the rights
|
10
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
11
|
+
* copies of the Software, and to permit persons to whom the Software is
|
12
|
+
* furnished to do so, subject to the following conditions:
|
13
|
+
*
|
14
|
+
* The above copyright notice and this permission notice shall be included in
|
15
|
+
* all copies or substantial portions of the Software.
|
16
|
+
*
|
17
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
18
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
19
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
20
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
21
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
22
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
23
|
+
* THE SOFTWARE.
|
24
|
+
*
|
25
|
+
*/
|
26
|
+
|
27
|
+
|
28
|
+
#import "CCAtlasNode.h"
|
29
|
+
#import "CCTextureAtlas.h"
|
30
|
+
|
31
|
+
/** CCLabelAtlas is a subclass of CCAtlasNode.
|
32
|
+
|
33
|
+
It can be as a replacement of CCLabel since it is MUCH faster.
|
34
|
+
|
35
|
+
CCLabelAtlas versus CCLabel:
|
36
|
+
- CCLabelAtlas is MUCH faster than CCLabel
|
37
|
+
- CCLabelAtlas "characters" have a fixed height and width
|
38
|
+
- CCLabelAtlas "characters" can be anything you want since they are taken from an image file
|
39
|
+
|
40
|
+
A more flexible class is CCLabelBMFont. It supports variable width characters and it also has a nice editor.
|
41
|
+
*/
|
42
|
+
@interface CCLabelAtlas : CCAtlasNode <CCLabelProtocol>
|
43
|
+
{
|
44
|
+
// string to render
|
45
|
+
NSString *_string;
|
46
|
+
|
47
|
+
// the first char in the charmap
|
48
|
+
NSUInteger _mapStartChar;
|
49
|
+
}
|
50
|
+
|
51
|
+
|
52
|
+
/** creates the CCLabelAtlas with a string, a char map file(the atlas), the width and height of each element in points and the starting char of the atlas */
|
53
|
+
+(id) labelWithString:(NSString*) string charMapFile: (NSString*) charmapfile itemWidth:(NSUInteger)w itemHeight:(NSUInteger)h startCharMap:(NSUInteger)firstElement;
|
54
|
+
|
55
|
+
/** creates the CCLabelAtlas with a string and a configuration file
|
56
|
+
@since v2.0
|
57
|
+
*/
|
58
|
+
+(id) labelWithString:(NSString*) string fntFile:(NSString*)fontFile;
|
59
|
+
|
60
|
+
/** initializes the CCLabelAtlas with a string, a char map file(the atlas), the width and height in points of each element and the starting char of the atlas */
|
61
|
+
-(id) initWithString:(NSString*) string charMapFile: (NSString*) charmapfile itemWidth:(NSUInteger)w itemHeight:(NSUInteger)h startCharMap:(NSUInteger)firstElement;
|
62
|
+
|
63
|
+
/** initializes the CCLabelAtlas with a string, a texture, the width and height in points of each element and the starting char of the atlas */
|
64
|
+
-(id) initWithString:(NSString*) theString texture:(CCTexture2D*)texture itemWidth:(NSUInteger)w itemHeight:(NSUInteger)h startCharMap:(NSUInteger)c;
|
65
|
+
|
66
|
+
/** initializes the CCLabelAtlas with a string and a configuration file
|
67
|
+
@since v2.0
|
68
|
+
*/
|
69
|
+
-(id) initWithString:(NSString*) string fntFile:(NSString*)fontFile;
|
70
|
+
|
71
|
+
@end
|