下載cocos2d-js文件,建議上官網下載(外國官網或者中國官網都可以)
外國官網:http://cocos2d-x.org/download(選擇最新版即可,我下載時為3.9版本,大概300多M)
國內官網:http://www.cocos.com/download/cocos2d-x/
因為只寫web版本:所以解壓后我們只要里面的web文件夾即可,別的可以刪掉了,而web文件夾才11多M(如果想寫跨平台,還需要學習其他人的教程才可,本隨筆不記錄跨平台教程)
之后我們要跑起個hello World (想必新學一門編程語言或者框架都要干這個事吧)
打開web目錄我們可以看到有個template文件夾,這個就是cocos官網給我們寫好的hello案例,打開index.html即可
此時你會打開發現一直在loading對吧?是就對了,因為什么呢,因為官網給的代碼有問題,一個很簡單的問題:
要想看到這個例子的廬山真面目,需要修改index.html才可以,也就是把js文件的加載位置放到body的最后邊,如下:
此時我們在運行這個文件,就可以在瀏覽器中看到效果了,並且官方的例子還做了移動端自適應:
其實我們也可以不用下載這個完整的包,畢竟對於前端來說還是習慣了引入一個庫文件即可的開發習慣。
所以官網也給了我們下載精簡版Lite版本和完整版版本以及定制版版本的下載地址頁面:http://cocos2d-x.org/filecenter/jsbuilder
並且下載下來的是一個壓縮文件,里面帶有你選擇的js文件以及一個cocos2d-js開發的模板。
只要根據自己喜好去下載即可,但這里有個坑,就是官網的300多M里面自帶的demo用lite版本會報錯,原因是缺少必要模塊。所以只能用完整版,或者自己根據需要用一些自動化構建工具合並壓縮你需要的模塊,這樣也會減少js文件的體積,提高游戲資源的加載速度,畢竟完整版的壓縮版本已經達到了1.8M(網站下載大小)的大小了。
在這里發布下我目前合並的版本。壓縮完是500多kb:
var fileLiteArr = [ './web/Base64Images.js', './web/CCBoot.js', './web/cocos2d/core/event-manager/CCEventHelper.js', './web/CCDebugger.js', './web/cocos2d/core/utils/BinaryLoader.js', './web/cocos2d/core/platform/CCClass.js', './web/cocos2d/core/platform/CCCommon.js', './web/cocos2d/core/cocoa/CCGeometry.js', './web/cocos2d/core/platform/CCTypesPropertyDefine.js', './web/cocos2d/core/platform/CCSAXParser.js', './web/cocos2d/core/platform/CCLoaders.js', './web/cocos2d/core/platform/CCConfig.js', './web/cocos2d/core/platform/miniFramework.js', './web/cocos2d/core/platform/CCMacro.js', './web/cocos2d/core/platform/CCTypesWebGL.js', './web/cocos2d/core/platform/CCTypes.js', './web/cocos2d/core/platform/CCEGLView.js', './web/cocos2d/core/platform/CCScreen.js', './web/cocos2d/core/platform/CCVisibleRect.js', './web/cocos2d/core/platform/CCInputManager.js', './web/cocos2d/core/platform/CCInputExtension.js', './web/cocos2d/core/cocoa/CCAffineTransform.js', './web/cocos2d/core/support/CCPointExtension.js', './web/cocos2d/core/support/CCVertex.js', './web/cocos2d/core/support/TransformUtils.js', './web/cocos2d/core/event-manager/CCTouch.js', './web/cocos2d/core/event-manager/CCEvent.js', './web/cocos2d/core/event-manager/CCEventListener.js', './web/cocos2d/core/event-manager/CCEventManager.js', './web/cocos2d/core/event-manager/CCEventExtension.js', './web/cocos2d/core/base-nodes/BaseNodesPropertyDefine.js', './web/cocos2d/core/renderer/RendererCanvas.js', './web/cocos2d/core/renderer/RendererWebGL.js', './web/cocos2d/core/base-nodes/CCNode.js', './web/cocos2d/core/base-nodes/CCNodeCanvasRenderCmd.js', './web/cocos2d/core/base-nodes/CCNodeWebGLRenderCmd.js','./web/cocos2d/core/base-nodes/CCAtlasNode.js', './web/cocos2d/core/base-nodes/CCAtlasNodeCanvasRenderCmd.js', './web/cocos2d/core/base-nodes/CCAtlasNodeWebGLRenderCmd.js', './web/cocos2d/core/textures/TexturesWebGL.js', './web/cocos2d/core/textures/TexturesPropertyDefine.js', './web/cocos2d/core/textures/CCTexture2D.js', './web/cocos2d/core/textures/CCTextureCache.js', './web/cocos2d/core/textures/CCTextureAtlas.js', './web/cocos2d/core/scenes/CCScene.js', './web/cocos2d/core/scenes/CCLoaderScene.js', './web/cocos2d/core/layers/CCLayer.js', './web/cocos2d/core/layers/CCLayerCanvasRenderCmd.js', './web/cocos2d/core/layers/CCLayerWebGLRenderCmd.js', './web/cocos2d/core/sprites/SpritesPropertyDefine.js', './web/cocos2d/core/sprites/CCSprite.js', './web/cocos2d/core/sprites/CCSpriteCanvasRenderCmd.js', './web/cocos2d/core/sprites/CCSpriteWebGLRenderCmd.js', './web/cocos2d/core/sprites/CCBakeSprite.js', './web/cocos2d/core/sprites/CCAnimation.js', './web/cocos2d/core/sprites/CCAnimationCache.js', './web/cocos2d/core/sprites/CCSpriteFrame.js', './web/cocos2d/core/sprites/CCSpriteFrameCache.js', './web/cocos2d/core/sprites/CCSpriteBatchNode.js', './web/cocos2d/core/sprites/CCSpriteBatchNodeCanvasRenderCmd.js', './web/cocos2d/core/sprites/CCSpriteBatchNodeWebGLRenderCmd.js', './web/cocos2d/core/CCConfiguration.js', './web/cocos2d/core/CCDirector.js', './web/cocos2d/core/CCDirectorCanvas.js', './web/cocos2d/core/CCDirectorWebGL.js', './web/cocos2d/core/CCCamera.js', './web/cocos2d/core/CCScheduler.js', './web/cocos2d/core/utils/CCProfiler.js', './web/cocos2d/core/CCDrawingPrimitivesCanvas.js', './web/cocos2d/core/CCDrawingPrimitivesWebGL.js', './web/cocos2d/core/labelttf/LabelTTFPropertyDefine.js', './web/cocos2d/core/labelttf/CCLabelTTF.js', './web/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js', './web/cocos2d/core/labelttf/CCLabelTTFWebGLRenderCmd.js', './web/cocos2d/core/CCActionManager.js', './web/cocos2d/kazmath/utility.js', './web/cocos2d/kazmath/vec2.js', './web/cocos2d/kazmath/vec3.js', './web/cocos2d/kazmath/vec4.js', './web/cocos2d/kazmath/ray2.js', './web/cocos2d/kazmath/mat3.js', './web/cocos2d/kazmath/mat4.js', './web/cocos2d/kazmath/plane.js', './web/cocos2d/kazmath/quaternion.js', './web/cocos2d/kazmath/aabb.js', './web/cocos2d/kazmath/gl/mat4stack.js', './web/cocos2d/kazmath/gl/matrix.js', './web/cocos2d/shaders/CCShaders.js', './web/cocos2d/shaders/CCShaderCache.js', './web/cocos2d/shaders/CCGLProgram.js', './web/cocos2d/shaders/CCGLStateCache.js', './web/cocos2d/shape-nodes/CCDrawNode.js', './web/cocos2d/shape-nodes/CCDrawNodeCanvasRenderCmd.js', './web/cocos2d/shape-nodes/CCDrawNodeWebGLRenderCmd.js', './web/cocos2d/actions/CCAction.js', './web/cocos2d/actions/CCActionInterval.js', './web/cocos2d/actions/CCActionInstant.js', './web/cocos2d/actions/CCActionCamera.js', './web/cocos2d/actions/CCActionEase.js', './web/cocos2d/actions/CCActionCatmullRom.js', './web/cocos2d/actions/CCActionTween.js', './web/cocos2d/menus/CCMenuItem.js', './web/cocos2d/menus/CCMenu.js', './web/cocos2d/audio/CCAudio.js' ];
以上就是我目前壓縮的版本,用這個跑官方的的demo就不會報錯了,至於工具可以選擇grunt,gulp或者webpack等前端構建工具進行合並壓縮。
好了,這樣我們的COCOS2D-html5的開發環境就部署好了,也算是學習web游戲的第一步就邁出去了,接下來就要看你自己找學習資料或者書籍努力了!