joybox 0.0.3
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 +15 -0
- data/.gitignore +18 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +27 -0
- data/LICENSE +22 -0
- data/README.md +86 -0
- data/Rakefile +14 -0
- data/app/app_delegate.rb +49 -0
- data/app/layers/box2d_layer.rb +109 -0
- data/app/layers/cocos2d_layer.rb +14 -0
- data/app/layers/cocos_motion_layer.rb +145 -0
- data/app/layers/menu_layer.rb +59 -0
- data/joybox.gemspec +25 -0
- data/lib/joybox.rb +47 -0
- data/lib/joybox/box2d/body.rb +106 -0
- data/lib/joybox/box2d/world.rb +79 -0
- data/lib/joybox/cocos2d/actions/actions.rb +7 -0
- data/lib/joybox/cocos2d/actions/move.rb +31 -0
- data/lib/joybox/cocos2d/actions/repeat.rb +24 -0
- data/lib/joybox/cocos2d/actions/rotate.rb +31 -0
- data/lib/joybox/cocos2d/actions/scale.rb +31 -0
- data/lib/joybox/cocos2d/actions/sequence.rb +22 -0
- data/lib/joybox/cocos2d/actions/skew.rb +36 -0
- data/lib/joybox/cocos2d/cocos2d.rb +15 -0
- data/lib/joybox/cocos2d/common/cg_point.rb +37 -0
- data/lib/joybox/cocos2d/common/color.rb +49 -0
- data/lib/joybox/cocos2d/common/gc_size.rb +39 -0
- data/lib/joybox/cocos2d/common/ns_set.rb +5 -0
- data/lib/joybox/cocos2d/common/numeric.rb +14 -0
- data/lib/joybox/cocos2d/common/screen.rb +39 -0
- data/lib/joybox/cocos2d/common/ui_touch.rb +15 -0
- data/lib/joybox/cocos2d/configuration/configuration.rb +68 -0
- data/lib/joybox/cocos2d/configuration/file_utils.rb +33 -0
- data/lib/joybox/cocos2d/configuration/gl_view.rb +44 -0
- data/lib/joybox/cocos2d/configuration/texture_2d.rb +27 -0
- data/lib/joybox/cocos2d/core/layer.rb +87 -0
- data/lib/joybox/cocos2d/core/node.rb +26 -0
- data/lib/joybox/cocos2d/core/physics_sprite.rb +52 -0
- data/lib/joybox/cocos2d/core/scene.rb +24 -0
- data/lib/joybox/cocos2d/core/sprite.rb +43 -0
- data/lib/joybox/cocos2d/core/sprite_batch.rb +24 -0
- data/lib/joybox/cocos2d/director.rb +43 -0
- data/lib/joybox/cocos2d/macros.rb +234 -0
- data/lib/joybox/cocos2d/ui/label.rb +34 -0
- data/lib/joybox/cocos2d/ui/menu.rb +25 -0
- data/lib/joybox/cocos2d/ui/menu_image.rb +22 -0
- data/lib/joybox/cocos2d/ui/menu_label.rb +45 -0
- data/lib/joybox/cocos2d/ui/ui.rb +7 -0
- data/lib/joybox/version.rb +3 -0
- 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/resources/fps_images-hd.png +0 -0
- data/resources/fps_images-ipadhd.png +0 -0
- data/resources/fps_images.png +0 -0
- data/spec/lib/joybox/cocos2d/cocos2d_spec.rb +7 -0
- data/spec/lib/joybox/cocos2d/macros_spec.rb +37 -0
- data/spec/main_spec.rb +9 -0
- data/vendor/Box2D.framework/Box2D +0 -0
- data/vendor/Box2D.framework/Box2D.framework.bridgesupport +166 -0
- data/vendor/Box2D.framework/Versions/A/Box2D +0 -0
- data/vendor/Box2D.framework/Versions/A/Headers/Collision/B2DContactListener.h +25 -0
- data/vendor/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DEdgeShape.h +17 -0
- data/vendor/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DPolygonShape.h +16 -0
- data/vendor/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DShape.h +15 -0
- data/vendor/Box2D.framework/Versions/A/Headers/Dynamics/B2DBody.h +43 -0
- data/vendor/Box2D.framework/Versions/A/Headers/Dynamics/B2DWorld.h +41 -0
- data/vendor/Box2D.framework/Versions/A/Resources/Box2DConfig.cmake +3 -0
- data/vendor/Box2D.framework/Versions/A/Resources/CMakeLists.txt +205 -0
- data/vendor/Cocos2D/Cocos2D.bridgesupport +7808 -0
- data/vendor/Cocos2D/include/CCAction.h +195 -0
- data/vendor/Cocos2D/include/CCActionCamera.h +73 -0
- data/vendor/Cocos2D/include/CCActionCatmullRom.h +139 -0
- data/vendor/Cocos2D/include/CCActionEase.h +159 -0
- data/vendor/Cocos2D/include/CCActionGrid.h +165 -0
- data/vendor/Cocos2D/include/CCActionGrid3D.h +205 -0
- data/vendor/Cocos2D/include/CCActionInstant.h +227 -0
- data/vendor/Cocos2D/include/CCActionInterval.h +431 -0
- data/vendor/Cocos2D/include/CCActionManager.h +113 -0
- data/vendor/Cocos2D/include/CCActionPageTurn3D.h +42 -0
- data/vendor/Cocos2D/include/CCActionProgressTimer.h +59 -0
- data/vendor/Cocos2D/include/CCActionTiledGrid.h +211 -0
- data/vendor/Cocos2D/include/CCActionTween.h +62 -0
- data/vendor/Cocos2D/include/CCAnimation.h +150 -0
- data/vendor/Cocos2D/include/CCAnimationCache.h +74 -0
- data/vendor/Cocos2D/include/CCArray.h +119 -0
- data/vendor/Cocos2D/include/CCAtlasNode.h +96 -0
- data/vendor/Cocos2D/include/CCCamera.h +98 -0
- data/vendor/Cocos2D/include/CCConfiguration.h +126 -0
- data/vendor/Cocos2D/include/CCDirector.h +344 -0
- data/vendor/Cocos2D/include/CCDirectorIOS.h +104 -0
- data/vendor/Cocos2D/include/CCDrawingPrimitives.h +139 -0
- data/vendor/Cocos2D/include/CCES2Renderer.h +83 -0
- data/vendor/Cocos2D/include/CCESRenderer.h +54 -0
- data/vendor/Cocos2D/include/CCFileUtils.h +188 -0
- data/vendor/Cocos2D/include/CCGL.h +72 -0
- data/vendor/Cocos2D/include/CCGLProgram.h +150 -0
- data/vendor/Cocos2D/include/CCGLView.h +160 -0
- data/vendor/Cocos2D/include/CCGrabber.h +44 -0
- data/vendor/Cocos2D/include/CCGrid.h +130 -0
- data/vendor/Cocos2D/include/CCLabelAtlas.h +68 -0
- data/vendor/Cocos2D/include/CCLabelBMFont.h +216 -0
- data/vendor/Cocos2D/include/CCLabelTTF.h +132 -0
- data/vendor/Cocos2D/include/CCLayer.h +280 -0
- data/vendor/Cocos2D/include/CCMenu.h +100 -0
- data/vendor/Cocos2D/include/CCMenuItem.h +423 -0
- data/vendor/Cocos2D/include/CCMotionStreak.h +87 -0
- data/vendor/Cocos2D/include/CCNS.h +54 -0
- data/vendor/Cocos2D/include/CCNode+Debug.h +39 -0
- data/vendor/Cocos2D/include/CCNode.h +569 -0
- data/vendor/Cocos2D/include/CCParallaxNode.h +50 -0
- data/vendor/Cocos2D/include/CCParticleBatchNode.h +99 -0
- data/vendor/Cocos2D/include/CCParticleExamples.h +95 -0
- data/vendor/Cocos2D/include/CCParticleSystem.h +453 -0
- data/vendor/Cocos2D/include/CCParticleSystemQuad.h +73 -0
- data/vendor/Cocos2D/include/CCProfiling.h +89 -0
- data/vendor/Cocos2D/include/CCProgressTimer.h +94 -0
- data/vendor/Cocos2D/include/CCProtocols.h +132 -0
- data/vendor/Cocos2D/include/CCRenderTexture.h +139 -0
- data/vendor/Cocos2D/include/CCScene.h +43 -0
- data/vendor/Cocos2D/include/CCScheduler.h +230 -0
- data/vendor/Cocos2D/include/CCShaderCache.h +60 -0
- data/vendor/Cocos2D/include/CCSprite.h +288 -0
- data/vendor/Cocos2D/include/CCSpriteBatchNode.h +138 -0
- data/vendor/Cocos2D/include/CCSpriteFrame.h +126 -0
- data/vendor/Cocos2D/include/CCSpriteFrameCache.h +121 -0
- data/vendor/Cocos2D/include/CCTMXLayer.h +164 -0
- data/vendor/Cocos2D/include/CCTMXObjectGroup.h +67 -0
- data/vendor/Cocos2D/include/CCTMXTiledMap.h +145 -0
- data/vendor/Cocos2D/include/CCTMXXMLParser.h +217 -0
- data/vendor/Cocos2D/include/CCTexture2D.h +357 -0
- data/vendor/Cocos2D/include/CCTextureAtlas.h +188 -0
- data/vendor/Cocos2D/include/CCTextureCache.h +146 -0
- data/vendor/Cocos2D/include/CCTexturePVR.h +129 -0
- data/vendor/Cocos2D/include/CCTileMapAtlas.h +83 -0
- data/vendor/Cocos2D/include/CCTouchDelegateProtocol.h +75 -0
- data/vendor/Cocos2D/include/CCTouchDispatcher.h +120 -0
- data/vendor/Cocos2D/include/CCTouchHandler.h +93 -0
- data/vendor/Cocos2D/include/CCTransition.h +296 -0
- data/vendor/Cocos2D/include/CCTransitionPageTurn.h +60 -0
- data/vendor/Cocos2D/include/CCTransitionProgress.h +62 -0
- data/vendor/Cocos2D/include/CCVertex.h +36 -0
- data/vendor/Cocos2D/include/CGPointExtension.h +344 -0
- data/vendor/Cocos2D/include/CocosDenshion/CDAudioManager.h +243 -0
- data/vendor/Cocos2D/include/CocosDenshion/CDConfig.h +60 -0
- data/vendor/Cocos2D/include/CocosDenshion/CDOpenALSupport.h +77 -0
- data/vendor/Cocos2D/include/CocosDenshion/CDXPropertyModifierAction.h +45 -0
- data/vendor/Cocos2D/include/CocosDenshion/CocosDenshion.h +440 -0
- data/vendor/Cocos2D/include/CocosDenshion/SimpleAudioEngine.h +90 -0
- data/vendor/Cocos2D/include/NSThread+performBlock.h +22 -0
- data/vendor/Cocos2D/include/OpenGL_Internal.h +86 -0
- data/vendor/Cocos2D/include/RubyMotionSchedule.h +7 -0
- data/vendor/Cocos2D/include/TGAlib.h +55 -0
- data/vendor/Cocos2D/include/TransformUtils.h +36 -0
- data/vendor/Cocos2D/include/ZipUtils.h +91 -0
- data/vendor/Cocos2D/include/base64.h +33 -0
- data/vendor/Cocos2D/include/ccCArray.h +229 -0
- data/vendor/Cocos2D/include/ccConfig.h +245 -0
- data/vendor/Cocos2D/include/ccDeprecated.h +300 -0
- data/vendor/Cocos2D/include/ccGLStateCache.h +138 -0
- data/vendor/Cocos2D/include/ccMacros.h +353 -0
- data/vendor/Cocos2D/include/ccShader_PositionColor_frag.h +12 -0
- data/vendor/Cocos2D/include/ccShader_PositionColor_vert.h +17 -0
- data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_frag.h +16 -0
- data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_vert.h +21 -0
- data/vendor/Cocos2D/include/ccShader_PositionTextureColorAlphaTest_frag.h +23 -0
- data/vendor/Cocos2D/include/ccShader_PositionTextureColor_frag.h +14 -0
- data/vendor/Cocos2D/include/ccShader_PositionTextureColor_vert.h +22 -0
- data/vendor/Cocos2D/include/ccShader_PositionTexture_frag.h +13 -0
- data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_frag.h +16 -0
- data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_vert.h +18 -0
- data/vendor/Cocos2D/include/ccShader_PositionTexture_vert.h +17 -0
- data/vendor/Cocos2D/include/ccShader_Position_uColor_frag.h +12 -0
- data/vendor/Cocos2D/include/ccShader_Position_uColor_vert.h +19 -0
- data/vendor/Cocos2D/include/ccShaders.h +45 -0
- data/vendor/Cocos2D/include/ccTypes.h +374 -0
- data/vendor/Cocos2D/include/ccUtils.h +36 -0
- data/vendor/Cocos2D/include/cocos2d.h +178 -0
- data/vendor/Cocos2D/include/kazmath/GL/mat4stack.h +51 -0
- data/vendor/Cocos2D/include/kazmath/GL/matrix.h +58 -0
- data/vendor/Cocos2D/include/kazmath/aabb.h +53 -0
- data/vendor/Cocos2D/include/kazmath/kazmath.h +39 -0
- data/vendor/Cocos2D/include/kazmath/mat3.h +75 -0
- data/vendor/Cocos2D/include/kazmath/mat4.h +93 -0
- data/vendor/Cocos2D/include/kazmath/neon_matrix_impl.h +41 -0
- data/vendor/Cocos2D/include/kazmath/plane.h +70 -0
- data/vendor/Cocos2D/include/kazmath/quaternion.h +113 -0
- data/vendor/Cocos2D/include/kazmath/ray2.h +50 -0
- data/vendor/Cocos2D/include/kazmath/utility.h +74 -0
- data/vendor/Cocos2D/include/kazmath/vec2.h +64 -0
- data/vendor/Cocos2D/include/kazmath/vec3.h +68 -0
- data/vendor/Cocos2D/include/kazmath/vec4.h +68 -0
- data/vendor/Cocos2D/include/uthash.h +972 -0
- data/vendor/Cocos2D/include/utlist.h +490 -0
- data/vendor/Cocos2D/libCocosDenshion.a +0 -0
- data/vendor/Cocos2D/libcocos2d.a +0 -0
- metadata +277 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module Joybox
|
|
2
|
+
module Actions
|
|
3
|
+
|
|
4
|
+
class Sequence
|
|
5
|
+
|
|
6
|
+
def self.defaults
|
|
7
|
+
{
|
|
8
|
+
items: []
|
|
9
|
+
}
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def self.new(options = {})
|
|
13
|
+
|
|
14
|
+
options = options.nil? ? defaults : defaults.merge!(options)
|
|
15
|
+
|
|
16
|
+
CCSequence.actionsWithArray(options[:items])
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Joybox
|
|
2
|
+
module Actions
|
|
3
|
+
|
|
4
|
+
class Skew
|
|
5
|
+
|
|
6
|
+
def self.defaults
|
|
7
|
+
{
|
|
8
|
+
duration: 0.3,
|
|
9
|
+
x: 0,
|
|
10
|
+
y: 0
|
|
11
|
+
}
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def self.by(options = {})
|
|
15
|
+
|
|
16
|
+
options = options.nil? ? defaults : defaults.merge!(options)
|
|
17
|
+
|
|
18
|
+
CCSkewBy.actionWithDuration(options[:duration],
|
|
19
|
+
skewX: options[:x],
|
|
20
|
+
skewY: options[:y])
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def self.to(options = {})
|
|
25
|
+
|
|
26
|
+
options = options.nil? ? defaults : defaults.merge!(options)
|
|
27
|
+
|
|
28
|
+
CCSkewTo.actionWithDuration(options[:duration],
|
|
29
|
+
skewX: options[:x],
|
|
30
|
+
skewY: options[:y])
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
class CGPoint
|
|
2
|
+
|
|
3
|
+
def to_opengl_coordinates
|
|
4
|
+
|
|
5
|
+
Joybox.director.convertToGL(self)
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def to_uikit_coordinates
|
|
9
|
+
|
|
10
|
+
CGPointMake(self.x.from_pixels, self.y.from_pixels)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def to_pixel_coordinates
|
|
15
|
+
|
|
16
|
+
CGPointMake(self.x.to_pixels, self.y.to_pixels)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def == (point)
|
|
21
|
+
|
|
22
|
+
point.is_a?(CGPoint) && CGPointEqualToPoint(self, point)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def + (point)
|
|
27
|
+
|
|
28
|
+
CGPointMake(self.x + point.x, self.y + point.y)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def - (point)
|
|
33
|
+
|
|
34
|
+
CGPointMake(self.x - point.x, self.y - point.y)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module Joybox
|
|
2
|
+
module Common
|
|
3
|
+
|
|
4
|
+
class Color < Array
|
|
5
|
+
|
|
6
|
+
def self.defaults
|
|
7
|
+
{
|
|
8
|
+
red: 1,
|
|
9
|
+
green: 1,
|
|
10
|
+
green: 1
|
|
11
|
+
}
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def initialize(red, green, blue)
|
|
16
|
+
|
|
17
|
+
self.push(red, green, blue)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def self.create(options = {})
|
|
22
|
+
|
|
23
|
+
options = options.nil? ? defaults : defaults.merge!(options)
|
|
24
|
+
|
|
25
|
+
self.new(options[:red], options[:green], options[:blue])
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def self.from_rgb(red, green, blue)
|
|
30
|
+
|
|
31
|
+
self.new(red, green, blue)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def self.from_hex(hex)
|
|
36
|
+
|
|
37
|
+
split_hex = [hex.delete(' ').delete('#')].pack('H*').unpack('C*')
|
|
38
|
+
|
|
39
|
+
red = split_hex[0]
|
|
40
|
+
green = split_hex[1]
|
|
41
|
+
blue = split_hex[2]
|
|
42
|
+
|
|
43
|
+
self.new(red, green, blue)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# TODO: Revisar el nombre de estos metodos
|
|
2
|
+
class CGSize
|
|
3
|
+
|
|
4
|
+
def half_width
|
|
5
|
+
|
|
6
|
+
width / 2
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def double_width
|
|
11
|
+
|
|
12
|
+
width * 2
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def half_height
|
|
17
|
+
|
|
18
|
+
height / 2
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def double_height
|
|
23
|
+
|
|
24
|
+
height * 2
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def to_uikit_coordinates
|
|
29
|
+
|
|
30
|
+
CGSizeMake(self.width.from_pixels, self.height.from_pixels)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def to_pixel_coordinates
|
|
35
|
+
|
|
36
|
+
CGSizeMake(self.width.to_pixels, self.height.to_pixels)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# TODO: Revisar
|
|
2
|
+
# 1 => Dependencia entre modulos por el director
|
|
3
|
+
# 2 => Usar una clase o un modulo para este escenario, se usa un modulo
|
|
4
|
+
# debido a que Screen no tendra estado
|
|
5
|
+
# 3 => El nombrado de half
|
|
6
|
+
module Joybox
|
|
7
|
+
module Common
|
|
8
|
+
|
|
9
|
+
module Screen
|
|
10
|
+
|
|
11
|
+
module_function
|
|
12
|
+
|
|
13
|
+
def self.width
|
|
14
|
+
|
|
15
|
+
CCDirector.sharedDirector.winSize.width
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def self.half_width
|
|
20
|
+
|
|
21
|
+
CCDirector.sharedDirector.winSize.width / 2
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def self.height
|
|
26
|
+
|
|
27
|
+
CCDirector.sharedDirector.winSize.height
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def self.half_height
|
|
32
|
+
|
|
33
|
+
CCDirector.sharedDirector.winSize.height / 2
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
class UITouch
|
|
2
|
+
|
|
3
|
+
# We need a method instead of the alias method because of
|
|
4
|
+
# the 'Type `{CGPoint=ff}@:@' not precompiled' error
|
|
5
|
+
def location_in_view(view)
|
|
6
|
+
|
|
7
|
+
locationInView(view)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def location
|
|
11
|
+
|
|
12
|
+
locationInView(self.view).to_opengl_coordinates
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
module Joybox
|
|
2
|
+
module Configuration
|
|
3
|
+
|
|
4
|
+
module_function
|
|
5
|
+
|
|
6
|
+
def setup(&block)
|
|
7
|
+
|
|
8
|
+
instance_eval(&block) if block_given?
|
|
9
|
+
configure
|
|
10
|
+
|
|
11
|
+
Director.sharedDirector
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def configure
|
|
16
|
+
|
|
17
|
+
director unless @is_director_configured
|
|
18
|
+
opengl_view unless @is_opengl_view_configured
|
|
19
|
+
texture_2d unless @is_texture_2d_configured
|
|
20
|
+
file_utils unless @is_file_utils_configured
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def director(*hash)
|
|
25
|
+
|
|
26
|
+
hash = hash.pop
|
|
27
|
+
|
|
28
|
+
Director.configure(hash)
|
|
29
|
+
|
|
30
|
+
@is_director_configured = true
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def opengl_view(*hash)
|
|
35
|
+
|
|
36
|
+
hash = hash.pop
|
|
37
|
+
|
|
38
|
+
opengl_view = GLView.new(hash)
|
|
39
|
+
|
|
40
|
+
director = Director.sharedDirector
|
|
41
|
+
|
|
42
|
+
director.view = opengl_view
|
|
43
|
+
|
|
44
|
+
@is_opengl_view_configured = true
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def texture_2d(*hash)
|
|
49
|
+
|
|
50
|
+
hash = hash.pop
|
|
51
|
+
|
|
52
|
+
Texture2D.configure(hash)
|
|
53
|
+
|
|
54
|
+
@is_texture_2d_configured = true
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def file_utils(*hash)
|
|
59
|
+
|
|
60
|
+
hash = hash.pop
|
|
61
|
+
|
|
62
|
+
FileUtils.configure(hash)
|
|
63
|
+
|
|
64
|
+
@is_file_utils_configured = true
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|
|
68
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Joybox
|
|
2
|
+
module Configuration
|
|
3
|
+
|
|
4
|
+
class FileUtils < CCFileUtils
|
|
5
|
+
|
|
6
|
+
def self.default_configuration
|
|
7
|
+
{
|
|
8
|
+
|
|
9
|
+
enable_fallback_suffixes: false,
|
|
10
|
+
set_iphone_retina_display_suffix: "-hd",
|
|
11
|
+
set_ipad_suffix: "-ipad",
|
|
12
|
+
set_ipad_retina_display_suffix: "-ipadhd"
|
|
13
|
+
|
|
14
|
+
}
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def self.configure(options = {})
|
|
19
|
+
|
|
20
|
+
options = options.nil? ? default_configuration : default_configuration.merge!(options)
|
|
21
|
+
|
|
22
|
+
file_utils = FileUtils.sharedFileUtils
|
|
23
|
+
|
|
24
|
+
file_utils.setEnableFallbackSuffixes(options[:enable_fallback_suffixes])
|
|
25
|
+
file_utils.setiPhoneRetinaDisplaySuffix(options[:set_iphone_retina_display_suffix])
|
|
26
|
+
file_utils.setiPadSuffix(options[:set_ipad_suffix])
|
|
27
|
+
file_utils.setiPadRetinaDisplaySuffix(options[:set_ipad_retina_display_suffix])
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
module Joybox
|
|
2
|
+
module Configuration
|
|
3
|
+
|
|
4
|
+
class GLView < CCGLView
|
|
5
|
+
|
|
6
|
+
def self.defaults
|
|
7
|
+
{
|
|
8
|
+
|
|
9
|
+
bounds: UIScreen.mainScreen.bounds,
|
|
10
|
+
pixel_format: KEAGLColorFormatRGB565,
|
|
11
|
+
depth_format: 0,
|
|
12
|
+
preserve_backbuffer: 0,
|
|
13
|
+
share_group: nil,
|
|
14
|
+
multi_sampling: false,
|
|
15
|
+
number_of_samples: 0
|
|
16
|
+
}
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def self.new(options)
|
|
21
|
+
|
|
22
|
+
options = options.nil? ? defaults : defaults.merge!(options)
|
|
23
|
+
|
|
24
|
+
bounds = options[:bounds]
|
|
25
|
+
|
|
26
|
+
if bounds.class == Hash
|
|
27
|
+
|
|
28
|
+
bounds = [[bounds[:x], bounds[:y]], [bounds[:width], bounds[:height]]]
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
GLView.viewWithFrame(UIScreen.mainScreen.bounds,
|
|
33
|
+
pixelFormat: options[:pixel_format],
|
|
34
|
+
depthFormat: options[:depth_format],
|
|
35
|
+
preserveBackbuffer: options[:preserve_backbuffer],
|
|
36
|
+
sharegroup: options[:share_group],
|
|
37
|
+
multiSampling: options[:multi_sampling],
|
|
38
|
+
numberOfSamples: options[:number_of_samples])
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Joybox
|
|
2
|
+
module Configuration
|
|
3
|
+
|
|
4
|
+
class Texture2D < CCTexture2D
|
|
5
|
+
|
|
6
|
+
def self.default_configuration
|
|
7
|
+
{
|
|
8
|
+
|
|
9
|
+
default_alpha_pixel_format: KCCTexture2DPixelFormat_RGBA8888,
|
|
10
|
+
pvr_images_have_premultiplied_alpha: true
|
|
11
|
+
|
|
12
|
+
}
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def self.configure(options = {})
|
|
17
|
+
|
|
18
|
+
options = options.nil? ? default_configuration : default_configuration.merge!(options)
|
|
19
|
+
|
|
20
|
+
defaultAlphaPixelFormat = options[:default_alpha_pixel_format]
|
|
21
|
+
PVRImagesHavePremultipliedAlpha(options[:pvr_images_have_premultiplied_alpha])
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
end
|