ccb 0.0.1

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.
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
+