ccb 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (335) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +20 -0
  3. data/README.md +31 -0
  4. data/bin/ccb +4 -0
  5. data/lib/ccb/builder/project_builder.rb +14 -0
  6. data/lib/ccb/builder/scene_builder.rb +9 -0
  7. data/lib/ccb/builder/templates/project/GameConfig.js.tt +21 -0
  8. data/lib/ccb/builder/templates/project/_cocos-project.json +4 -0
  9. data/lib/ccb/builder/templates/project/folder/CMakeLists.txt +295 -0
  10. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/Base64Images.js +32 -0
  11. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/CCBoot.js +2271 -0
  12. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/CCDebugger.js +336 -0
  13. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCAction.js +694 -0
  14. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionCamera.js +293 -0
  15. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionCatmullRom.js +605 -0
  16. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionEase.js +3681 -0
  17. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionInstant.js +757 -0
  18. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionInterval.js +3554 -0
  19. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionTween.js +166 -0
  20. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionGrid.js +372 -0
  21. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionGrid3D.js +1257 -0
  22. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionPageTurn3D.js +113 -0
  23. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionTiledGrid.js +1289 -0
  24. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/audio/CCAudio.js +1024 -0
  25. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/clipping-nodes/CCClippingNode.js +224 -0
  26. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/clipping-nodes/CCClippingNodeCanvasRenderCmd.js +227 -0
  27. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/clipping-nodes/CCClippingNodeWebGLRenderCmd.js +226 -0
  28. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/ZipUtils.js +82 -0
  29. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/base64.js +95 -0
  30. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/gzip.js +731 -0
  31. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/zlib.min.js +55 -0
  32. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCActionManager.js +378 -0
  33. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCCamera.js +290 -0
  34. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCConfiguration.js +294 -0
  35. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDirector.js +1019 -0
  36. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDirectorWebGL.js +329 -0
  37. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDrawingPrimitivesCanvas.js +438 -0
  38. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDrawingPrimitivesWebGL.js +464 -0
  39. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCScheduler.js +744 -0
  40. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/BaseNodesPropertyDefine.js +127 -0
  41. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCAtlasNode.js +294 -0
  42. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCAtlasNodeCanvasRenderCmd.js +138 -0
  43. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCAtlasNodeWebGLRenderCmd.js +145 -0
  44. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCNode.js +2386 -0
  45. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCNodeCanvasRenderCmd.js +504 -0
  46. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCNodeWebGLRenderCmd.js +254 -0
  47. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/cocoa/CCAffineTransform.js +259 -0
  48. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/cocoa/CCGeometry.js +327 -0
  49. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEvent.js +449 -0
  50. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEventExtension.js +126 -0
  51. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEventListener.js +519 -0
  52. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEventManager.js +1025 -0
  53. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCTouch.js +175 -0
  54. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/CCLabelTTF.js +829 -0
  55. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js +420 -0
  56. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/CCLabelTTFWebGLRenderCmd.js +101 -0
  57. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/LabelTTFPropertyDefine.js +88 -0
  58. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/layers/CCLayer.js +642 -0
  59. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/layers/CCLayerCanvasRenderCmd.js +434 -0
  60. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/layers/CCLayerWebGLRenderCmd.js +248 -0
  61. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCClass.js +333 -0
  62. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCCommon.js +303 -0
  63. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCConfig.js +303 -0
  64. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCEGLView.js +1245 -0
  65. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCInputExtension.js +135 -0
  66. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCInputManager.js +616 -0
  67. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCLoaders.js +142 -0
  68. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCMacro.js +830 -0
  69. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCSAXParser.js +160 -0
  70. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCScreen.js +155 -0
  71. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCTypes.js +374 -0
  72. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCTypesPropertyDefine.js +165 -0
  73. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCTypesWebGL.js +689 -0
  74. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCVisibleRect.js +100 -0
  75. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/miniFramework.js +264 -0
  76. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/renderer/RendererCanvas.js +274 -0
  77. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/renderer/RendererWebGL.js +137 -0
  78. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/scenes/CCLoaderScene.js +149 -0
  79. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/scenes/CCScene.js +62 -0
  80. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCAnimation.js +477 -0
  81. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCAnimationCache.js +213 -0
  82. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCBakeSprite.js +71 -0
  83. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSprite.js +1014 -0
  84. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteBatchNode.js +676 -0
  85. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteBatchNodeCanvasRenderCmd.js +101 -0
  86. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteBatchNodeWebGLRenderCmd.js +243 -0
  87. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteCanvasRenderCmd.js +518 -0
  88. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteFrame.js +420 -0
  89. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteFrameCache.js +341 -0
  90. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteWebGLRenderCmd.js +493 -0
  91. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/SpritesPropertyDefine.js +67 -0
  92. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/support/CCPointExtension.js +515 -0
  93. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/support/CCVertex.js +170 -0
  94. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/support/TransformUtils.js +62 -0
  95. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/CCTexture2D.js +455 -0
  96. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/CCTextureAtlas.js +653 -0
  97. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/CCTextureCache.js +371 -0
  98. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/TexturesPropertyDefine.js +221 -0
  99. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/TexturesWebGL.js +899 -0
  100. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/utils/BinaryLoader.js +151 -0
  101. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/effects/CCGrabber.js +110 -0
  102. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/effects/CCGrid.js +737 -0
  103. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/aabb.js +68 -0
  104. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/gl/mat4stack.js +59 -0
  105. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/gl/matrix.js +169 -0
  106. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/mat3.js +329 -0
  107. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/mat4.js +810 -0
  108. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/plane.js +184 -0
  109. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/quaternion.js +497 -0
  110. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/ray2.js +163 -0
  111. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/utility.js +76 -0
  112. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/vec2.js +107 -0
  113. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/vec3.js +205 -0
  114. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/vec4.js +158 -0
  115. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelAtlas.js +239 -0
  116. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelAtlasCanvasRenderCmd.js +95 -0
  117. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelAtlasWebGLRenderCmd.js +132 -0
  118. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelBMFont.js +958 -0
  119. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelBMFontCanvasRenderCmd.js +142 -0
  120. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelBMFontWebGLRenderCmd.js +87 -0
  121. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/menus/CCMenu.js +600 -0
  122. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/menus/CCMenuItem.js +1422 -0
  123. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/motion-streak/CCMotionStreak.js +517 -0
  124. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/motion-streak/CCMotionStreakWebGLRenderCmd.js +66 -0
  125. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/node-grid/CCNodeGrid.js +129 -0
  126. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/node-grid/CCNodeGridWebGLRenderCmd.js +98 -0
  127. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/parallax/CCParallaxNode.js +252 -0
  128. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/parallax/CCParallaxNodeRenderCmd.js +69 -0
  129. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCPNGReader.js +330 -0
  130. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleBatchNode.js +527 -0
  131. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleBatchNodeCanvasRenderCmd.js +38 -0
  132. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleBatchNodeWebGLRenderCmd.js +74 -0
  133. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleExamples.js +1006 -0
  134. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleSystem.js +2294 -0
  135. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleSystemCanvasRenderCmd.js +217 -0
  136. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleSystemWebGLRenderCmd.js +402 -0
  137. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCTIFFReader.js +692 -0
  138. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsDebugNode.js +212 -0
  139. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsDebugNodeCanvasRenderCmd.js +52 -0
  140. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsDebugNodeWebGLRenderCmd.js +53 -0
  141. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsSprite.js +447 -0
  142. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsSpriteCanvasRenderCmd.js +93 -0
  143. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsSpriteWebGLRenderCmd.js +87 -0
  144. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCActionProgressTimer.js +227 -0
  145. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCProgressTimer.js +345 -0
  146. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCProgressTimerCanvasRenderCmd.js +270 -0
  147. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCProgressTimerWebGLRenderCmd.js +486 -0
  148. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/render-texture/CCRenderTexture.js +395 -0
  149. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/render-texture/CCRenderTextureCanvasRenderCmd.js +105 -0
  150. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/render-texture/CCRenderTextureWebGLRenderCmd.js +367 -0
  151. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCGLProgram.js +767 -0
  152. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCGLStateCache.js +340 -0
  153. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCShaderCache.js +301 -0
  154. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCShaders.js +280 -0
  155. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shape-nodes/CCDrawNode.js +940 -0
  156. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shape-nodes/CCDrawNodeCanvasRenderCmd.js +129 -0
  157. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shape-nodes/CCDrawNodeWebGLRenderCmd.js +41 -0
  158. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/text-input/CCIMEDispatcher.js +526 -0
  159. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/text-input/CCTextFieldTTF.js +472 -0
  160. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTGAlib.js +437 -0
  161. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXLayer.js +914 -0
  162. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXLayerCanvasRenderCmd.js +232 -0
  163. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXLayerWebGLRenderCmd.js +67 -0
  164. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXObjectGroup.js +146 -0
  165. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXTiledMap.js +479 -0
  166. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXXMLParser.js +950 -0
  167. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/transitions/CCTransition.js +1971 -0
  168. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/transitions/CCTransitionPageTurn.js +152 -0
  169. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/transitions/CCTransitionProgress.js +458 -0
  170. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBAnimationManager.js +770 -0
  171. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBKeyframe.js +60 -0
  172. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBReader.js +1129 -0
  173. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBReaderUtil.js +61 -0
  174. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBRelativePositioning.js +90 -0
  175. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBSequence.js +114 -0
  176. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBValue.js +81 -0
  177. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCControlLoader.js +318 -0
  178. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCNodeLoader.js +905 -0
  179. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCNodeLoaderLibrary.js +101 -0
  180. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCSpriteLoader.js +544 -0
  181. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccpool/CCPool.js +146 -0
  182. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/CCProtectedNode.js +305 -0
  183. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/CCProtectedNodeCanvasRenderCmd.js +246 -0
  184. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/CCProtectedNodeWebGLRenderCmd.js +159 -0
  185. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIScale9Sprite.js +1105 -0
  186. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIScale9SpriteCanvasRenderCmd.js +142 -0
  187. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIScale9SpriteWebGLRenderCmd.js +129 -0
  188. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIWidget.js +2059 -0
  189. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIWidgetRenderCmd.js +100 -0
  190. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UIHBox.js +80 -0
  191. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayout.js +1558 -0
  192. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutCanvasRenderCmd.js +179 -0
  193. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutComponent.js +585 -0
  194. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutManager.js +457 -0
  195. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutParameter.js +576 -0
  196. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutWebGLRenderCmd.js +240 -0
  197. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UIRelativeBox.js +79 -0
  198. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UIVBox.js +79 -0
  199. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/system/CocosGUI.js +62 -0
  200. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/system/UIHelper.js +164 -0
  201. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIButton.js +987 -0
  202. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UICheckBox.js +737 -0
  203. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIImageView.js +337 -0
  204. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UILoadingBar.js +432 -0
  205. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIRichText.js +579 -0
  206. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UISlider.js +762 -0
  207. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIText.js +512 -0
  208. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UITextAtlas.js +229 -0
  209. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UITextBMFont.js +216 -0
  210. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UITextField.js +915 -0
  211. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/scroll-widget/UIListView.js +602 -0
  212. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/scroll-widget/UIPageView.js +657 -0
  213. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/scroll-widget/UIScrollView.js +1884 -0
  214. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/CocoStudio.js +68 -0
  215. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionFrame.js +528 -0
  216. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionManager.js +112 -0
  217. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionNode.js +417 -0
  218. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionObject.js +263 -0
  219. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCArmature.js +579 -0
  220. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCArmatureCanvasRenderCmd.js +190 -0
  221. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCArmatureWebGLRenderCmd.js +167 -0
  222. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCBone.js +711 -0
  223. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/animation/CCArmatureAnimation.js +669 -0
  224. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/animation/CCProcessBase.js +365 -0
  225. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/animation/CCTween.js +448 -0
  226. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/datas/CCDatas.js +807 -0
  227. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCDecorativeDisplay.js +118 -0
  228. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCDisplayFactory.js +220 -0
  229. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCDisplayManager.js +465 -0
  230. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCSkin.js +215 -0
  231. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCSkinCanvasRenderCmd.js +58 -0
  232. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCSkinWebGLRenderCmd.js +146 -0
  233. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/physics/CCColliderDetector.js +397 -0
  234. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCArmatureDataManager.js +325 -0
  235. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCArmatureDefine.js +45 -0
  236. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCDataReaderHelper.js +1223 -0
  237. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCSpriteFrameCacheHelper.js +68 -0
  238. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCTransformHelp.js +183 -0
  239. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCTweenFunction.js +501 -0
  240. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCUtilMath.js +69 -0
  241. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComAttribute.js +210 -0
  242. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComAudio.js +285 -0
  243. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComController.js +76 -0
  244. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComRender.js +91 -0
  245. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComponent.js +136 -0
  246. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComponentContainer.js +159 -0
  247. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/load.js +221 -0
  248. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/action-1.x.js +238 -0
  249. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/action-2.x.js +266 -0
  250. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/compatible.js +251 -0
  251. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/scene-1.x.js +262 -0
  252. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/timelineParser-1.x.js +292 -0
  253. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/timelineParser-2.x.js +1288 -0
  254. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/uiParser-1.x.js +680 -0
  255. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/timeline/ActionTimeline.js +448 -0
  256. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/timeline/Frame.js +1268 -0
  257. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/timeline/Timeline.js +321 -0
  258. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/ObjectFactory.js +99 -0
  259. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/TriggerBase.js +49 -0
  260. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/TriggerMng.js +301 -0
  261. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/TriggerObj.js +263 -0
  262. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/editbox/CCEditBox.js +716 -0
  263. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/editbox/CCdomNode.js +657 -0
  264. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControl.js +381 -0
  265. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlButton.js +688 -0
  266. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlColourPicker.js +187 -0
  267. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlHuePicker.js +218 -0
  268. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlPotentiometer.js +300 -0
  269. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlSaturationBrightnessPicker.js +257 -0
  270. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlSlider.js +308 -0
  271. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlStepper.js +390 -0
  272. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlSwitch.js +425 -0
  273. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlUtils.js +177 -0
  274. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCInvocation.js +65 -0
  275. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCMenuPassive.js +415 -0
  276. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCScale9Sprite.js +1099 -0
  277. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCScale9SpriteCanvasRenderCmd.js +142 -0
  278. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCScale9SpriteWebGLRenderCmd.js +129 -0
  279. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCScrollView.js +827 -0
  280. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCScrollViewCanvasRenderCmd.js +79 -0
  281. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCScrollViewWebGLRenderCmd.js +108 -0
  282. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCSorting.js +239 -0
  283. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCTableView.js +718 -0
  284. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeleton.js +357 -0
  285. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeletonAnimation.js +340 -0
  286. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeletonCanvasRenderCmd.js +165 -0
  287. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeletonWebGLRenderCmd.js +165 -0
  288. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/Spine.js +2239 -0
  289. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/box2d/box2d.js +10882 -0
  290. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/chipmunk/chipmunk.js +6196 -0
  291. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/pluginx/Plugin.js +254 -0
  292. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/pluginx/platform/facebook.js +557 -0
  293. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/pluginx/platform/facebook_sdk.js +151 -0
  294. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/socketio/socket.io.min.js +2 -0
  295. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/jsb_apis.js +618 -0
  296. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/moduleConfig.json +453 -0
  297. data/lib/ccb/builder/templates/project/folder/project.json +42 -0
  298. data/lib/ccb/builder/templates/project/folder/res/CloseNormal.png +0 -0
  299. data/lib/ccb/builder/templates/project/folder/res/CloseSelected.png +0 -0
  300. data/lib/ccb/builder/templates/project/folder/res/HelloWorld.png +0 -0
  301. data/lib/ccb/builder/templates/project/folder/res/favicon.ico +0 -0
  302. data/lib/ccb/builder/templates/project/folder/res/gameOver/cocos2d-html5.png +0 -0
  303. data/lib/ccb/builder/templates/project/folder/res/gameOver/gameOver.png +0 -0
  304. data/lib/ccb/builder/templates/project/folder/res/mainMenu/bg.png +0 -0
  305. data/lib/ccb/builder/templates/project/folder/res/mainMenu/menu.png +0 -0
  306. data/lib/ccb/builder/templates/project/folder/res/setting/menuTitle.png +0 -0
  307. data/lib/ccb/builder/templates/project/folder/res/shared/arial-14.fnt +182 -0
  308. data/lib/ccb/builder/templates/project/folder/res/shared/arial-14.png +0 -0
  309. data/lib/ccb/builder/templates/project/folder/res/sound/music/bgMusic.mp3 +0 -0
  310. data/lib/ccb/builder/templates/project/folder/src/about/layer/ABBackgroundLayer.js +23 -0
  311. data/lib/ccb/builder/templates/project/folder/src/about/layer/ABTouchLayer.js +51 -0
  312. data/lib/ccb/builder/templates/project/folder/src/about/scene/About.js +36 -0
  313. data/lib/ccb/builder/templates/project/folder/src/config/Level.js +7 -0
  314. data/lib/ccb/builder/templates/project/folder/src/gameOver/layer/GOBackgroundLayer.js +50 -0
  315. data/lib/ccb/builder/templates/project/folder/src/gameOver/layer/GOTouchLayer.js +51 -0
  316. data/lib/ccb/builder/templates/project/folder/src/gameOver/scene/GameOver.js +38 -0
  317. data/lib/ccb/builder/templates/project/folder/src/gamePlay/classes/LevelManager.js +21 -0
  318. data/lib/ccb/builder/templates/project/folder/src/gamePlay/layer/GPBackgroundLayer.js +25 -0
  319. data/lib/ccb/builder/templates/project/folder/src/gamePlay/layer/GPTouchLayer.js +51 -0
  320. data/lib/ccb/builder/templates/project/folder/src/gamePlay/scene/GamePlay.js +44 -0
  321. data/lib/ccb/builder/templates/project/folder/src/mainMenu/layer/MMBackgroundLayer.js +43 -0
  322. data/lib/ccb/builder/templates/project/folder/src/mainMenu/layer/MMMainMenuLayer.js +38 -0
  323. data/lib/ccb/builder/templates/project/folder/src/mainMenu/layer/MMTouchLayer.js +96 -0
  324. data/lib/ccb/builder/templates/project/folder/src/mainMenu/scene/MainMenu.js +45 -0
  325. data/lib/ccb/builder/templates/project/folder/src/resource.js +29 -0
  326. data/lib/ccb/builder/templates/project/folder/src/setting/layer/STBackgroundLayer.js +25 -0
  327. data/lib/ccb/builder/templates/project/folder/src/setting/layer/STTouchLayer.js +89 -0
  328. data/lib/ccb/builder/templates/project/folder/src/setting/scene/Setting.js +40 -0
  329. data/lib/ccb/builder/templates/project/index.html.tt +27 -0
  330. data/lib/ccb/builder/templates/project/main.js.tt +62 -0
  331. data/lib/ccb/cli.rb +32 -0
  332. data/lib/ccb/ext/method_hooker.rb +68 -0
  333. data/lib/ccb/ext/string_extention.rb +7 -0
  334. data/lib/ccb.rb +1 -0
  335. metadata +449 -0
@@ -0,0 +1,688 @@
1
+ /**
2
+ * CCControlButton.m
3
+ *
4
+ * Copyright (c) 2008-2010 Ricardo Quesada
5
+ * Copyright (c) 2011-2012 cocos2d-x.org
6
+ * Copyright (c) 2013-2014 Chukong Technologies Inc.
7
+ * Copyright 2011 Yannick Loriot.
8
+ * http://yannickloriot.com
9
+ *
10
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ * of this software and associated documentation files (the "Software"), to deal
12
+ * in the Software without restriction, including without limitation the rights
13
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ * copies of the Software, and to permit persons to whom the Software is
15
+ * furnished to do so, subject to the following conditions:
16
+ *
17
+ * The above copyright notice and this permission notice shall be included in
18
+ * all copies or substantial portions of the Software.
19
+ *
20
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
26
+ * THE SOFTWARE.
27
+ */
28
+
29
+ /**
30
+ * @ignore
31
+ */
32
+ cc.CONTROL_ZOOM_ACTION_TAG = 0xCCCB0001;
33
+
34
+ /**
35
+ * CCControlButton: Button control for Cocos2D.
36
+ * @class
37
+ * @extends cc.Control
38
+ *
39
+ * @property {Boolean} adjustBackgroundImage - Indicate whether the background image will be adjusted
40
+ * @property {Boolean} zoomOnTouchDown - Indicate whether the button will be zoomed while touch down
41
+ * @property {cc.Size} preferredSize - The preferred size of the control button
42
+ * @property {Boolean} labelAnchor - The anchor point for the label of the control button
43
+ */
44
+ cc.ControlButton = cc.Control.extend(/** @lends cc.ControlButton# */{
45
+ _doesAdjustBackgroundImage: false,
46
+ zoomOnTouchDown: false,
47
+ _preferredSize: null,
48
+ _labelAnchorPoint: null,
49
+ _currentTitle: null,
50
+ _currentTitleColor: null,
51
+ _titleLabel: null,
52
+ _backgroundSprite: null,
53
+ _opacity: 0,
54
+ _isPushed: false,
55
+ _titleDispatchTable: null,
56
+ _titleColorDispatchTable: null,
57
+ _titleLabelDispatchTable: null,
58
+ _backgroundSpriteDispatchTable: null,
59
+ _parentInited: false,
60
+
61
+ _marginV: 0,
62
+ _marginH: 0,
63
+ _className: "ControlButton",
64
+
65
+ ctor: function (label, backgroundSprite, fontSize) {
66
+ cc.Control.prototype.ctor.call(this);
67
+ this._preferredSize = cc.size(0, 0);
68
+ this._labelAnchorPoint = cc.p(0, 0);
69
+ this._currentTitle = "";
70
+ this._currentTitleColor = cc.color.WHITE;
71
+ this._titleDispatchTable = {};
72
+ this._titleColorDispatchTable = {};
73
+ this._titleLabelDispatchTable = {};
74
+ this._backgroundSpriteDispatchTable = {};
75
+
76
+ if(fontSize != undefined)
77
+ this.initWithTitleAndFontNameAndFontSize(label, backgroundSprite, fontSize);
78
+ else if(backgroundSprite != undefined)
79
+ this.initWithLabelAndBackgroundSprite(label, backgroundSprite);
80
+ else if(label != undefined)
81
+ this.initWithBackgroundSprite(label);
82
+ else
83
+ this.init();
84
+ },
85
+
86
+ init: function () {
87
+ return this.initWithLabelAndBackgroundSprite(new cc.LabelTTF("", "Arial", 12), new cc.Scale9Sprite());
88
+ },
89
+
90
+ needsLayout: function () {
91
+ if (!this._parentInited) {
92
+ return;
93
+ }
94
+ // Hide the background and the label
95
+ if (this._titleLabel)
96
+ this._titleLabel.setVisible(false);
97
+ if (this._backgroundSprite)
98
+ this._backgroundSprite.setVisible(false);
99
+
100
+ // Update anchor of all labels
101
+ this.setLabelAnchorPoint(this._labelAnchorPoint);
102
+
103
+ // Update the label to match with the current state
104
+ //CC_SAFE_RELEASE(this._currentTitle)
105
+ var locState = this._state;
106
+
107
+ this._currentTitle = this.getTitleForState(locState);
108
+ this._currentTitleColor = this.getTitleColorForState(locState);
109
+ this._titleLabel = this.getTitleLabelForState(locState);
110
+
111
+ var label = this._titleLabel;
112
+ if (label && label.setString)
113
+ label.setString(this._currentTitle);
114
+ if (label)
115
+ label.setColor(this._currentTitleColor);
116
+
117
+ var locContentSize = this.getContentSize();
118
+ if (label)
119
+ label.setPosition(locContentSize.width / 2, locContentSize.height / 2);
120
+
121
+ // Update the background sprite
122
+ this._backgroundSprite = this.getBackgroundSpriteForState(locState);
123
+ var locBackgroundSprite = this._backgroundSprite;
124
+ if (locBackgroundSprite)
125
+ locBackgroundSprite.setPosition(locContentSize.width / 2, locContentSize.height / 2);
126
+
127
+ // Get the title label size
128
+ var titleLabelSize = cc.size(0, 0);
129
+ if (label) {
130
+ var boundingBox = label.getBoundingBox();
131
+ titleLabelSize.width = boundingBox.width;
132
+ titleLabelSize.height = boundingBox.height;
133
+ }
134
+ // Adjust the background image if necessary
135
+ if (this._doesAdjustBackgroundImage) {
136
+ // Add the margins
137
+ if (locBackgroundSprite)
138
+ locBackgroundSprite.setContentSize(titleLabelSize.width + this._marginH * 2, titleLabelSize.height + this._marginV * 2);
139
+ } else {
140
+ //TODO: should this also have margins if one of the preferred sizes is relaxed?
141
+ if (locBackgroundSprite) {
142
+ var preferredSize = locBackgroundSprite.getPreferredSize();
143
+ preferredSize = cc.size(preferredSize.width, preferredSize.height);
144
+ if (preferredSize.width <= 0)
145
+ preferredSize.width = titleLabelSize.width;
146
+ if (preferredSize.height <= 0)
147
+ preferredSize.height = titleLabelSize.height;
148
+
149
+ locBackgroundSprite.setContentSize(preferredSize);
150
+ }
151
+ }
152
+
153
+ // Set the content size
154
+ var rectTitle = label ? label.getBoundingBox() : cc.rect(0, 0, 0, 0);
155
+ var rectBackground = locBackgroundSprite ? locBackgroundSprite.getBoundingBox() : cc.rect(0, 0, 0, 0);
156
+ var maxRect = cc.rectUnion(rectTitle, rectBackground);
157
+ this.setContentSize(maxRect.width, maxRect.height);
158
+ locContentSize = this.getContentSize();
159
+ if (label) {
160
+ label.setPosition(locContentSize.width / 2, locContentSize.height / 2);
161
+ label.setVisible(true);
162
+ }
163
+ if (locBackgroundSprite) {
164
+ locBackgroundSprite.setPosition(locContentSize.width / 2, locContentSize.height / 2);
165
+ locBackgroundSprite.setVisible(true);
166
+ }
167
+ },
168
+
169
+ initWithLabelAndBackgroundSprite: function (label, backgroundSprite) {
170
+ if (!label)
171
+ throw "cc.ControlButton.initWithLabelAndBackgroundSprite(): label should be non-null";
172
+ if (!backgroundSprite)
173
+ throw "cc.ControlButton.initWithLabelAndBackgroundSprite(): backgroundSprite should be non-null";
174
+ if (cc.Control.prototype.init.call(this, true)) {
175
+ this._parentInited = true;
176
+
177
+ // Initialize the button state tables
178
+ this._titleDispatchTable = {};
179
+ this._titleColorDispatchTable = {};
180
+ this._titleLabelDispatchTable = {};
181
+ this._backgroundSpriteDispatchTable = {};
182
+
183
+ this._isPushed = false;
184
+ this.zoomOnTouchDown = true;
185
+
186
+ this._currentTitle = null;
187
+
188
+ // Adjust the background image by default
189
+ this.setAdjustBackgroundImage(true);
190
+ this.setPreferredSize(cc.size(0, 0));
191
+
192
+ // Zooming button by default
193
+ this.zoomOnTouchDown = true;
194
+
195
+ // Set the default anchor point
196
+ this.ignoreAnchorPointForPosition(false);
197
+ this.setAnchorPoint(0.5, 0.5);
198
+
199
+ // Set the nodes
200
+ this._titleLabel = label;
201
+ this._backgroundSprite = backgroundSprite;
202
+
203
+ // Set the default color and opacity
204
+ this.setOpacity(255);
205
+ this.setOpacityModifyRGB(true);
206
+
207
+ // Initialize the dispatch table
208
+ var tempString = label.getString();
209
+ //tempString.autorelease();
210
+ this.setTitleForState(tempString, cc.CONTROL_STATE_NORMAL);
211
+ this.setTitleColorForState(label.getColor(), cc.CONTROL_STATE_NORMAL);
212
+ this.setTitleLabelForState(label, cc.CONTROL_STATE_NORMAL);
213
+ this.setBackgroundSpriteForState(backgroundSprite, cc.CONTROL_STATE_NORMAL);
214
+
215
+ this._state = cc.CONTROL_STATE_NORMAL;
216
+
217
+ //default margins
218
+ this._marginH = 24;
219
+ this._marginV = 12;
220
+
221
+ this._labelAnchorPoint = cc.p(0.5, 0.5);
222
+
223
+ this.setPreferredSize(cc.size(0, 0));
224
+
225
+ // Layout update
226
+ this.needsLayout();
227
+ return true;
228
+ }//couldn't init the CCControl
229
+ else
230
+ return false;
231
+ },
232
+
233
+ initWithTitleAndFontNameAndFontSize: function (title, fontName, fontSize) {
234
+ var label = new cc.LabelTTF(title, fontName, fontSize);
235
+ return this.initWithLabelAndBackgroundSprite(label, new cc.Scale9Sprite());
236
+ },
237
+
238
+ initWithBackgroundSprite: function (sprite) {
239
+ var label = new cc.LabelTTF("", "Arial", 30);//
240
+ return this.initWithLabelAndBackgroundSprite(label, sprite);
241
+ },
242
+
243
+ /**
244
+ * Adjust the background image. YES by default. If the property is set to NO, the background will use the prefered size of the background image.
245
+ * @return {Boolean}
246
+ */
247
+ doesAdjustBackgroundImage: function () {
248
+ return this._doesAdjustBackgroundImage;
249
+ },
250
+
251
+ setAdjustBackgroundImage: function (adjustBackgroundImage) {
252
+ this._doesAdjustBackgroundImage = adjustBackgroundImage;
253
+ this.needsLayout();
254
+ },
255
+
256
+ /** Adjust the button zooming on touchdown. Default value is YES. */
257
+ getZoomOnTouchDown: function () {
258
+ return this.zoomOnTouchDown;
259
+ },
260
+
261
+ setZoomOnTouchDown: function (zoomOnTouchDown) {
262
+ return this.zoomOnTouchDown = zoomOnTouchDown;
263
+ },
264
+
265
+ /** The prefered size of the button, if label is larger it will be expanded. */
266
+ getPreferredSize: function () {
267
+ return this._preferredSize;
268
+ },
269
+
270
+ setPreferredSize: function (size) {
271
+ if (size.width === 0 && size.height === 0) {
272
+ this._doesAdjustBackgroundImage = true;
273
+ } else {
274
+ this._doesAdjustBackgroundImage = false;
275
+ var locTable = this._backgroundSpriteDispatchTable;
276
+ for (var itemKey in locTable)
277
+ locTable[itemKey].setPreferredSize(size);
278
+ }
279
+ this._preferredSize = size;
280
+ this.needsLayout();
281
+ },
282
+
283
+ getLabelAnchorPoint: function () {
284
+ return this._labelAnchorPoint;
285
+ },
286
+ setLabelAnchorPoint: function (labelAnchorPoint) {
287
+ this._labelAnchorPoint = labelAnchorPoint;
288
+ if (this._titleLabel)
289
+ this._titleLabel.setAnchorPoint(labelAnchorPoint);
290
+ },
291
+
292
+ /**
293
+ * The current title that is displayed on the button.
294
+ * @return {string}
295
+ */
296
+ _getCurrentTitle: function () {
297
+ return this._currentTitle;
298
+ },
299
+
300
+ /** The current color used to display the title. */
301
+ _getCurrentTitleColor: function () {
302
+ return this._currentTitleColor;
303
+ },
304
+
305
+ /* Override setter to affect a background sprite too */
306
+ getOpacity: function () {
307
+ return this._opacity;
308
+ },
309
+
310
+ setOpacity: function (opacity) {
311
+ // XXX fixed me if not correct
312
+ cc.Control.prototype.setOpacity.call(this, opacity);
313
+ /*this._opacity = opacity;
314
+ var controlChildren = this.getChildren();
315
+ for (var i = 0; i < controlChildren.length; i++) {
316
+ var selChild = controlChildren[i];
317
+ if (selChild)
318
+ selChild.setOpacity(opacity);
319
+ }*/
320
+ var locTable = this._backgroundSpriteDispatchTable;
321
+ for (var itemKey in locTable)
322
+ locTable[itemKey].setOpacity(opacity);
323
+ },
324
+
325
+ setColor: function (color) {
326
+ cc.Control.prototype.setColor.call(this, color);
327
+ var locTable = this._backgroundSpriteDispatchTable;
328
+ for (var key in locTable)
329
+ locTable[key].setColor(color);
330
+ },
331
+
332
+ getColor: function () {
333
+ var locRealColor = this._realColor;
334
+ return cc.color(locRealColor.r, locRealColor.g, locRealColor.b, locRealColor.a);
335
+ },
336
+
337
+
338
+ /** Flag to know if the button is currently pushed. */
339
+ isPushed: function () {
340
+ return this._isPushed;
341
+ },
342
+
343
+ /* Define the button margin for Top/Bottom edge */
344
+ _getVerticalMargin: function () {
345
+ return this._marginV;
346
+ },
347
+ /* Define the button margin for Left/Right edge */
348
+ _getHorizontalOrigin: function () {
349
+ return this._marginH;
350
+ },
351
+
352
+ /**
353
+ * set the margins at once (so we only have to do one call of needsLayout)
354
+ * @param {Number} marginH
355
+ * @param {Number} marginV
356
+ */
357
+ setMargins: function (marginH, marginV) {
358
+ this._marginV = marginV;
359
+ this._marginH = marginH;
360
+ this.needsLayout();
361
+ },
362
+
363
+ setEnabled: function (enabled) {
364
+ cc.Control.prototype.setEnabled.call(this, enabled);
365
+ this.needsLayout();
366
+ },
367
+ setSelected: function (enabled) {
368
+ cc.Control.prototype.setSelected.call(this, enabled);
369
+ this.needsLayout();
370
+ },
371
+
372
+ setHighlighted: function (enabled) {
373
+ this._state = enabled ? cc.CONTROL_STATE_HIGHLIGHTED : cc.CONTROL_STATE_NORMAL;
374
+
375
+ cc.Control.prototype.setHighlighted.call(this, enabled);
376
+ var action = this.getActionByTag(cc.CONTROL_ZOOM_ACTION_TAG);
377
+ if (action)
378
+ this.stopAction(action);
379
+
380
+ //this.needsLayout();// needn't
381
+ if (this.zoomOnTouchDown) {
382
+ var scaleValue = (this.isHighlighted() && this.isEnabled() && !this.isSelected()) ? 1.1 : 1.0;
383
+ var zoomAction = cc.scaleTo(0.05, scaleValue);
384
+ zoomAction.setTag(cc.CONTROL_ZOOM_ACTION_TAG);
385
+ this.runAction(zoomAction);
386
+ }
387
+ },
388
+
389
+ onTouchBegan: function (touch, event) {
390
+ if (!this.isTouchInside(touch) || !this.isEnabled() || !this.isVisible() || !this.hasVisibleParents())
391
+ return false;
392
+
393
+ this._isPushed = true;
394
+ this.setHighlighted(true);
395
+ this.sendActionsForControlEvents(cc.CONTROL_EVENT_TOUCH_DOWN);
396
+ return true;
397
+ },
398
+
399
+ onTouchMoved: function (touch, event) {
400
+ if (!this._enabled || !this._isPushed || this._selected) {
401
+ if (this._highlighted)
402
+ this.setHighlighted(false);
403
+ return;
404
+ }
405
+
406
+ var isTouchMoveInside = this.isTouchInside(touch);
407
+ if (isTouchMoveInside && !this._highlighted) {
408
+ this.setHighlighted(true);
409
+ this.sendActionsForControlEvents(cc.CONTROL_EVENT_TOUCH_DRAG_ENTER);
410
+ } else if (isTouchMoveInside && this._highlighted) {
411
+ this.sendActionsForControlEvents(cc.CONTROL_EVENT_TOUCH_DRAG_INSIDE);
412
+ } else if (!isTouchMoveInside && this._highlighted) {
413
+ this.setHighlighted(false);
414
+ this.sendActionsForControlEvents(cc.CONTROL_EVENT_TOUCH_DRAG_EXIT);
415
+ } else if (!isTouchMoveInside && !this._highlighted) {
416
+ this.sendActionsForControlEvents(cc.CONTROL_EVENT_TOUCH_DRAG_OUTSIDE);
417
+ }
418
+ },
419
+ onTouchEnded: function (touch, event) {
420
+ this._isPushed = false;
421
+ this.setHighlighted(false);
422
+
423
+ if (this.isTouchInside(touch)) {
424
+ this.sendActionsForControlEvents(cc.CONTROL_EVENT_TOUCH_UP_INSIDE);
425
+ } else {
426
+ this.sendActionsForControlEvents(cc.CONTROL_EVENT_TOUCH_UP_OUTSIDE);
427
+ }
428
+ },
429
+
430
+ onTouchCancelled: function (touch, event) {
431
+ this._isPushed = false;
432
+ this.setHighlighted(false);
433
+ this.sendActionsForControlEvents(cc.CONTROL_EVENT_TOUCH_CANCEL);
434
+ },
435
+
436
+ /**
437
+ * Returns the title used for a state.
438
+ *
439
+ * @param {Number} state The state that uses the title. Possible values are described in "CCControlState".
440
+ * @return {string} The title for the specified state.
441
+ */
442
+ getTitleForState: function (state) {
443
+ var locTable = this._titleDispatchTable;
444
+ if (locTable) {
445
+ if (locTable[state])
446
+ return locTable[state];
447
+ return locTable[cc.CONTROL_STATE_NORMAL];
448
+ }
449
+ return "";
450
+ },
451
+
452
+ /**
453
+ * <p>
454
+ * Sets the title string to use for the specified state. <br/>
455
+ * If a property is not specified for a state, the default is to use the CCButtonStateNormal value.
456
+ * </p>
457
+ * @param {string} title The title string to use for the specified state.
458
+ * @param {Number} state The state that uses the specified title. The values are described in "CCControlState".
459
+ */
460
+ setTitleForState: function (title, state) {
461
+ this._titleDispatchTable[state] = title || "";
462
+
463
+ // If the current state if equal to the given state we update the layout
464
+ if (this.getState() == state)
465
+ this.needsLayout();
466
+ },
467
+
468
+ /**
469
+ * Returns the title color used for a state.
470
+ *
471
+ * @param {Number} state The state that uses the specified color. The values are described in "CCControlState".
472
+ * @return {cc.Color} The color of the title for the specified state.
473
+ */
474
+ getTitleColorForState: function (state) {
475
+ var colorObject = this._titleColorDispatchTable[state];
476
+ if (colorObject)
477
+ return colorObject;
478
+ colorObject = this._titleColorDispatchTable[cc.CONTROL_STATE_NORMAL];
479
+ if (colorObject)
480
+ return colorObject;
481
+ return cc.color.WHITE;
482
+ },
483
+
484
+ /**
485
+ * Sets the color of the title to use for the specified state.
486
+ *
487
+ * @param {cc.Color} color The color of the title to use for the specified state.
488
+ * @param {Number} state The state that uses the specified color. The values are described in "CCControlState".
489
+ */
490
+ setTitleColorForState: function (color, state) {
491
+ //ccColor3B* colorValue=&color;
492
+ this._titleColorDispatchTable[state] = color;
493
+
494
+ // If the current state if equal to the given state we update the layout
495
+ if (this.getState() == state)
496
+ this.needsLayout();
497
+ },
498
+
499
+ /**
500
+ * Returns the title label used for a state.
501
+ *
502
+ * @param state The state that uses the title label. Possible values are described in "CCControlState".
503
+ * @return {cc.Node} the title label used for a state.
504
+ */
505
+ getTitleLabelForState: function (state) {
506
+ var locTable = this._titleLabelDispatchTable;
507
+ if (locTable[state])
508
+ return locTable[state];
509
+
510
+ return locTable[cc.CONTROL_STATE_NORMAL];
511
+ },
512
+
513
+ /**
514
+ * <p>Sets the title label to use for the specified state. <br/>
515
+ * If a property is not specified for a state, the default is to use the CCButtonStateNormal value. </p>
516
+ *
517
+ * @param {cc.Node} titleLabel The title label to use for the specified state.
518
+ * @param {Number} state The state that uses the specified title. The values are described in "CCControlState".
519
+ */
520
+ setTitleLabelForState: function (titleLabel, state) {
521
+ var locTable = this._titleLabelDispatchTable;
522
+ if (locTable[state]) {
523
+ var previousLabel = locTable[state];
524
+ if (previousLabel)
525
+ this.removeChild(previousLabel, true);
526
+ }
527
+
528
+ locTable[state] = titleLabel;
529
+ titleLabel.setVisible(false);
530
+ titleLabel.setAnchorPoint(0.5, 0.5);
531
+ this.addChild(titleLabel, 1);
532
+
533
+ // If the current state if equal to the given state we update the layout
534
+ if (this.getState() == state)
535
+ this.needsLayout();
536
+ },
537
+
538
+ /**
539
+ * Sets the title TTF filename to use for the specified state.
540
+ * @param {string} fntFile
541
+ * @param {Number} state
542
+ */
543
+ setTitleTTFForState: function (fntFile, state) {
544
+ var title = this.getTitleForState(state);
545
+ if (!title)
546
+ title = "";
547
+ this.setTitleLabelForState(new cc.LabelTTF(title, fntFile, 12), state);
548
+ },
549
+
550
+ /**
551
+ * return the title TTF filename to use for the specified state.
552
+ * @param {Number} state
553
+ * @returns {string}
554
+ */
555
+ getTitleTTFForState: function (state) {
556
+ var labelTTF = this.getTitleLabelForState(state);
557
+ if ((labelTTF != null) && (labelTTF instanceof cc.LabelTTF)) {
558
+ return labelTTF.getFontName();
559
+ } else {
560
+ return "";
561
+ }
562
+ },
563
+
564
+ /**
565
+ * @param {Number} size
566
+ * @param {Number} state
567
+ */
568
+ setTitleTTFSizeForState: function (size, state) {
569
+ var labelTTF = this.getTitleLabelForState(state);
570
+ if ((labelTTF != null) && (labelTTF instanceof cc.LabelTTF)) {
571
+ labelTTF.setFontSize(size);
572
+ }
573
+ },
574
+
575
+ /**
576
+ * return the font size of LabelTTF to use for the specified state
577
+ * @param {Number} state
578
+ * @returns {Number}
579
+ */
580
+ getTitleTTFSizeForState: function (state) {
581
+ var labelTTF = this.getTitleLabelForState(state);
582
+ if ((labelTTF != null) && (labelTTF instanceof cc.LabelTTF)) {
583
+ return labelTTF.getFontSize();
584
+ }
585
+ return 0;
586
+ },
587
+
588
+ /**
589
+ * Sets the font of the label, changes the label to a CCLabelBMFont if necessary.
590
+ * @param {string} fntFile The name of the font to change to
591
+ * @param {Number} state The state that uses the specified fntFile. The values are described in "CCControlState".
592
+ */
593
+ setTitleBMFontForState: function (fntFile, state) {
594
+ var title = this.getTitleForState(state);
595
+ if (!title)
596
+ title = "";
597
+ this.setTitleLabelForState(new cc.LabelBMFont(title, fntFile), state);
598
+ },
599
+
600
+ getTitleBMFontForState: function (state) {
601
+ var labelBMFont = this.getTitleLabelForState(state);
602
+ if ((labelBMFont != null) && (labelBMFont instanceof cc.LabelBMFont)) {
603
+ return labelBMFont.getFntFile();
604
+ }
605
+ return "";
606
+ },
607
+
608
+ /**
609
+ * Returns the background sprite used for a state.
610
+ *
611
+ * @param {Number} state The state that uses the background sprite. Possible values are described in "CCControlState".
612
+ */
613
+ getBackgroundSpriteForState: function (state) {
614
+ var locTable = this._backgroundSpriteDispatchTable;
615
+ if (locTable[state]) {
616
+ return locTable[state];
617
+ }
618
+ return locTable[cc.CONTROL_STATE_NORMAL];
619
+ },
620
+
621
+ /**
622
+ * Sets the background sprite to use for the specified button state.
623
+ *
624
+ * @param {Scale9Sprite} sprite The background sprite to use for the specified state.
625
+ * @param {Number} state The state that uses the specified image. The values are described in "CCControlState".
626
+ */
627
+ setBackgroundSpriteForState: function (sprite, state) {
628
+ var locTable = this._backgroundSpriteDispatchTable;
629
+ if (locTable[state]) {
630
+ var previousSprite = locTable[state];
631
+ if (previousSprite)
632
+ this.removeChild(previousSprite, true);
633
+ }
634
+
635
+ locTable[state] = sprite;
636
+ sprite.setVisible(false);
637
+ sprite.setAnchorPoint(0.5, 0.5);
638
+ this.addChild(sprite);
639
+
640
+ var locPreferredSize = this._preferredSize;
641
+ if (locPreferredSize.width !== 0 || locPreferredSize.height !== 0) {
642
+ sprite.setPreferredSize(locPreferredSize);
643
+ }
644
+
645
+ // If the current state if equal to the given state we update the layout
646
+ if (this._state === state)
647
+ this.needsLayout();
648
+ },
649
+
650
+ /**
651
+ * Sets the background spriteFrame to use for the specified button state.
652
+ *
653
+ * @param {SpriteFrame} spriteFrame The background spriteFrame to use for the specified state.
654
+ * @param {Number} state The state that uses the specified image. The values are described in "CCControlState".
655
+ */
656
+ setBackgroundSpriteFrameForState: function (spriteFrame, state) {
657
+ var sprite = cc.Scale9Sprite.createWithSpriteFrame(spriteFrame);
658
+ this.setBackgroundSpriteForState(sprite, state);
659
+ }
660
+ });
661
+
662
+ var _p = cc.ControlButton.prototype;
663
+
664
+ // Extended properties
665
+ /** @expose */
666
+ _p.adjustBackground;
667
+ cc.defineGetterSetter(_p, "adjustBackground", _p.getAdjustBackgroundImage, _p.setAdjustBackgroundImage);
668
+ /** @expose */
669
+ _p.preferredSize;
670
+ cc.defineGetterSetter(_p, "preferredSize", _p.getPreferredSize, _p.setPreferredSize);
671
+ /** @expose */
672
+ _p.labelAnchor;
673
+ cc.defineGetterSetter(_p, "labelAnchor", _p.getLabelAnchorPoint, _p.setLabelAnchorPoint);
674
+
675
+ _p = null;
676
+
677
+ /**
678
+ * @deprecated
679
+ * @param label
680
+ * @param backgroundSprite
681
+ * @param fontSize
682
+ * @returns {ControlButton}
683
+ */
684
+ cc.ControlButton.create = function (label, backgroundSprite, fontSize) {
685
+ return new cc.ControlButton(label, backgroundSprite, fontSize);
686
+ };
687
+
688
+