Cocos2d-js学习--helloword
一、引擎包目錄結(jié)構(gòu)介紹
目錄結(jié)構(gòu)可以分為3個(gè)部分來介紹:
第一部分: 引擎相關(guān)文件
-
frameworks 目錄包含了 Cocos2d-html5 引擎和 Cocos2d-x JavaScript 代碼的匯集.
-
Cocos2d-html5 目錄包含了所有 Cocos2d-html5 的引擎模塊,例如引擎核心模塊、音頻模塊、外部物理引擎庫(kù),CocosBuilder Reader, CocoStudio Reader 和其他的模塊。所有的模塊都用JS實(shí)現(xiàn)并且可以在WEB環(huán)境中運(yùn)行。
-
js-bindings 目錄包含了 Cocos2d-x 引擎, 綁定的和外部預(yù)置 SpiderMonkey 庫(kù)的項(xiàng)目文件。外部接口采用 JS 編寫,但是基礎(chǔ)模塊使用 Cpp 實(shí)現(xiàn),可以在許多不同的本地平臺(tái)上運(yùn)行,例如iOS,Android,Mac,Win32等平臺(tái)。
第二部分: 測(cè)試文件,游戲樣本和模板
-
template 目錄是被用來創(chuàng)建一個(gè)新的Cocos2d-JS 工程。它包括了 HTML5 工程和默認(rèn)的本地工程。cocos 控制臺(tái)使用它來創(chuàng)建一個(gè)新的工程。
-
samples ? 包含全部的測(cè)試工程和一個(gè)示例游戲,他們都可以從 cocos 控制臺(tái)執(zhí)行,也可以通過 javascript 的接口綁定機(jī)制在WEB或者本地平臺(tái)運(yùn)行。
-
js-tests全部的測(cè)試工程,簡(jiǎn)單的說,就是一本活字典。
-
js-moonwarriors 一個(gè)可以運(yùn)行的游戲樣本。麻雀雖小,五臟俱全,強(qiáng)烈推薦初學(xué)者自己去重構(gòu)一下這個(gè)游戲。
第三部分: 其他
-
AUTHORS ?引擎相關(guān)作者介紹。官方的人將低調(diào)做到極致,所以,這個(gè)文件木有介紹。被我發(fā)現(xiàn)了。囧…
-
README 包含一些對(duì) Cocos2d-JS 的介紹。
-
LICENSE 正如我們之前提到的,Cocos2d-JS 的許可證是 MIT,你可以查閱在引擎根目錄下的 the license 文件夾來獲得更多關(guān)于 Cocos2d-html5 and Cocos2d-x 的許可證細(xì)節(jié)。
-
tools 目錄包括 cocos 控制臺(tái)工具和 綁定生成工具(bingings-generator)。template 文件夾下包含一個(gè) build.xml 文件,里面存放著閉包編譯器的控制信息,通過 ANT 這個(gè)命令,你可以將你的游戲打包成為一個(gè)單個(gè)文件。
-
build 目錄包含著內(nèi)置的工程樣本文件。
-
docs 目錄包含 JavaScript 編碼風(fēng)格指導(dǎo)和 release 的信息。
-
CHANGELOG 包含所有版本的修改信息。
-
setup.py 是一個(gè)環(huán)境搭建的 python 腳本。
| 1 2 3 4 | for(var?i?=?0;?i?<?32;?i++){? cc.log(“強(qiáng)烈建議:”); cc.log(“在群里面,很經(jīng)??吹酵瑢W(xué)們問的問題實(shí)際上在Tests里面都有。所以,一定要去認(rèn)認(rèn)真真的看一下這個(gè)項(xiàng)目里面都有什么功能實(shí)例”); } |
二、HelloWord 操作
1. 這個(gè)時(shí)候,我們對(duì)Cocos2d-JS以及她的目錄結(jié)構(gòu)是比較清晰的認(rèn)識(shí)了,并且,我們也在上一個(gè)教程中學(xué)會(huì)了開發(fā)環(huán)境的搭建。那么,接下來,我們就開始創(chuàng)建基于Cocos2d-JS的HelloWord。走起。。。。
2. Cocos?
3. 創(chuàng)建工程
首先,你需要打開你的終端工具(Windows 系統(tǒng)打開Dos系統(tǒng)),運(yùn)行下列命令(自選一種)
| 1 2 3 4 5 6 | //創(chuàng)建一個(gè)同時(shí)包含Cocos2d-html5和Cocos2d-x?JSB的項(xiàng)目 cocos?new?-l?js??????????? //創(chuàng)建一個(gè)僅包含Cocos2d-html5的項(xiàng)目,?--no-native?表示不需要支持Native平臺(tái)(IOS,Android,Mac,Windows等),只支持瀏覽器就可以了。 cocos?new?-l?js?--no-native?? //創(chuàng)建一個(gè)置頂工程名字指定目標(biāo)的項(xiàng)目 cocos?new?projectName?-l?js?-d?./Projects |
例如,我想在桌面創(chuàng)建一個(gè)叫HelloWord 的項(xiàng)目。那么有兩種做法。
第一種:
| 1 2 | cd?./Desktop cocos?new?HelloWord?–l?js |
第二種:
| 1 | ?cocos?new?HelloWord?-l?js?-d?./Desktop |
4. 運(yùn)行項(xiàng)目
瀏覽器上:
| 1 2 | cd?./Desktop/HelloWord cocos?run?-p?web |
編譯并運(yùn)行Cocos2d-x JSB項(xiàng)目在iOS,android,mac上(即:native平臺(tái)上)
| 1 2 3 | cd?./Desktop/HelloWord cocos?compile?-p?ios|android|mac cocos?run?-p?ios|android|mac |
例如:我要運(yùn)行在IOS上,那就運(yùn)行:cocos run -p ios。編譯好之后,對(duì)應(yīng)的工程目錄在HelloWord/frameworks/runtime-src/
Android項(xiàng)目導(dǎo)入Eclipse:?
導(dǎo)入 HelloWord/frameworks/runtime-src/proj.android 到 Eclipse, 這個(gè)時(shí)候,Eclipse會(huì)報(bào)錯(cuò),完成下面一步就好了。
導(dǎo)入 HelloWord/frameworks/js-bindings/cocos2d-x/cocos/platform/android/java 到 Eclipse 中即可
打包項(xiàng)目:()
| 1 2 | cd?./Desktop/HelloWord cocos?compile?–p?web|?android|IOS?–m?release |
命令運(yùn)行成功之后,在HelloWord工程文件夾下多出了一個(gè)publish文件夾,這個(gè)就是發(fā)布包。
例如我想把HelloWord跑在微信上,那三個(gè)步驟搞定:
| 1 2 | cd?./Desktop/HelloWord cocos?compile?–p?web?–m?release |
拷貝HelloWord/publish/html5到你的服務(wù)器下,然后微信瀏覽器訪問這個(gè)地址,就搞定了。PC瀏覽器也是一樣一樣滴。?
?
三、HelloWord 分析
先上圖:
1. 上面的張圖,就是我們的HelloWord項(xiàng)目。藍(lán)色高亮的是我們開發(fā)中最經(jīng)常接觸的文件,我們來一個(gè)一個(gè)的解釋下他們的作用:
-
frameworks 中包含了兩個(gè)引擎模塊,還有一個(gè)包含各個(gè)平臺(tái)上的工程文件夾runtime-src,你只需要進(jìn)入到這個(gè)文件夾看一下就能明白他的功能了。
-
res 目錄.它包含了工程中所有被需要的資源文件?,F(xiàn)在它僅僅包含一些圖片樣本。 但是如果你想要增加一些游戲的元素或者一些極好的游戲音樂,你應(yīng)該將它們放在這個(gè)文件夾下并給為每個(gè)文件取一個(gè)合適的名字。
-
src 文件夾. 它包含你真實(shí)游戲的所有邏輯代碼。如果這里有成千上百個(gè) javascript 源文件,你最好將它們用子文件夾分成許多小部分?,F(xiàn)在,我們的HelloWord工程擁有2個(gè) javascript 源文件。 app.js 包含我們模板的第一個(gè)場(chǎng)景代碼。在resource.js 定義了許多資源的全局變量。
-
index.html 文件是 HTML5 基于web應(yīng)用程序的入口點(diǎn)。它是一種 HTML5 兼容的格式。它定義了許多元數(shù)據(jù),例如設(shè)置視角和全屏參數(shù)等。
-
project.json 文件是我們工程的配置文件。請(qǐng)參考網(wǎng)站project.json獲得更多詳情 。
-
main.js 是一個(gè)創(chuàng)建你的第一個(gè)游戲場(chǎng)景和在瀏覽器顯示這個(gè)場(chǎng)景的一個(gè)文件。 在這個(gè)文件里,你也可以定義你的分辨率策略和預(yù)加載你的資源。
2. 運(yùn)行流程
瀏覽器上:
我們都知道,在瀏覽器上,首先會(huì)運(yùn)行index.html文件,在這個(gè)文件中,我們可以看到下圖:
可以看到,首先,瀏覽器會(huì)裝載 frameworks/Cocos2d-html5/CCBoot.js, 它將會(huì)嘗試從 project.json 文件中裝載工程的設(shè)置信息。然后才繼續(xù)裝載main.js。我們來看下project.json,如下圖:
-
project_type : 工程類型
-
debugMode : debug模式
-
showFPS : 是否顯示FPS,就是左下角的那三行數(shù)據(jù),第一個(gè)是渲染的調(diào)用次數(shù),第二個(gè)是每幀的時(shí)間開銷,第三個(gè)是幀率
-
frameRate : 幀率
-
id :?
-
renderMode : 渲染模式。
-
engineDir : 引擎路徑
-
modules : 加載模塊,默認(rèn)只加載["cocos2d"],那比如你想用chipmunk物理引擎,就需要再加載external模塊。也就是modules : ["cocos2d","external"],最后項(xiàng)目打包的時(shí)候,只打包有加載進(jìn)來的模塊,所以,沒用到的不要加載進(jìn)來哈。
-
jsList : 自定義JS源文件的一個(gè)集合,類似Java、OC中的#import或者C、C++中的#include。
Native上:
在Native平臺(tái)上就簡(jiǎn)單啦??聪翲elloWord/frameworks/runtime-src/Classes/AppDelegate.cpp中的applicationDidFinishLaunching()方法就知道啦。
轉(zhuǎn)載于:https://www.cnblogs.com/mcdnf/p/5158276.html
總結(jié)
以上是生活随笔為你收集整理的Cocos2d-js学习--helloword的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘怎么测硬盘 如何检测U盘的硬盘状态
- 下一篇: u盘启动提示windows未能启动怎么办