Cocos2d-JS连载之Cocos Code IDE和helloworld项目分析

官网对于<em>Cocos Code IDE</em>已经不提供下载地址和维护了,<em>Cocos Code IDE</em>是基于<em>eclipse</em>做的一个封装。可能大家一致觉得不好用的缘故吧,找到了知乎包含王哲的回答

首先是Code IDE 1.x版本用Eclipse就是个坑,被谷歌带进去的。现在谷歌自己弃坑了。接着我们尝试了基于IntelliJ开发了Code IDE 2.0,出到2.0 beta版。结论是,在IntelliJ上做到最终想要的效果,要和场景编辑器、UI编辑器无缝集成,是非常困难的。特别是要「无缝集成」这件事情非常难达到。目前采用第三套方案,在Cocos Studio的框架体系内用C#开发代码编辑器,希望这第三次尝试的这条路能够走顺吧。

不过我对于新出的这个<em>Cocos Creator</em> 完全不知道怎么使用,感觉不是写代码的人用的,所以折腾这寻找到了<em>Cocos Code IDE</em> 的以前下载地址。

windows版本的直接下载双击安装即可。
<em>Cocos Code IDE</em> 就是一个eclipse 很好使用,debug,打包之类的功能都非常好使用。接下来看一下<em>helloworld</em>项目。
这个时候用sublime打开项目,因为<em>Cocos Code IDE</em>对于项目文件列的不全。
对比一下


sublime打开后的文件显示
Cocos Code IDE打开后的文件显示
  • framworks
    包含两个引擎 里面会有<em>cocos2d-html5</em>和<em>js-bingings</em>,还有个<em>runtime-src</em>,这个是项目编译完成后在各个平台生成的项目,有android、ios_mac、win2。在对应的平台打开项目也是一样的。
  • index.html
    web的首页入口兼容html5格式的。
  • main.js
    这里是程序的入口,启动的时候做一下预加载等
cc.game.onStart = function(){
    if(!cc.sys.isNative && document.getElementById("cocosLoading")) //If referenced loading.js, please remove it
        document.body.removeChild(document.getElementById("cocosLoading"));

    // Pass true to enable retina display, disabled by default to improve performance
    cc.view.enableRetina(false);
    // Adjust viewport meta
    cc.view.adjustViewPort(true);
    // Setup the resolution policy and design resolution size
    cc.view.setDesignResolutionSize(800, 450, cc.ResolutionPolicy.SHOW_ALL);
    // The game will be resized when browser size change
    cc.view.resizeWithBrowserSize(true);
    //load resources
    cc.LoaderScene.preload(g_resources, function () {
        cc.director.runScene(new HelloWorldScene());
    }, this);
};
cc.game.run();
  • project.json定义了一些配置的东西
{
    "project_type": "javascript",//语言的设置 js

    "debugMode" : 1, //日志级别的控制
    "showFPS" : true,
    "frameRate" : 60,//帧率
    "id" : "gameCanvas",
    "renderMode" : 0,
    "engineDir":"frameworks/cocos2d-html5", //引擎设置

    "modules" : ["cocos2d"],//需要的模块

    "jsList" : [//需要的js文件导入,引擎会加载
        "src/resource.js",
        "src/app.js"
    ]
}

在index.html中做了引入

<script src="frameworks/cocos2d-html5/CCBoot.js"></script>
  • public 就是编译后发布的东西
  • res 就是存放资源的地方 图片之类的
  • runtime 是编译完成所产生的包
  • src 就是源代码存放的地方 其中有resource.js 就是加载res目录下面的图片资源
var res = {
    HelloWorld_png : "res/HelloWorld.png",
    CloseNormal_png : "res/CloseNormal.png",
    CloseSelected_png : "res/CloseSelected.png"
};

var g_resources = [];
for (var i in res) {
    g_resources.push(res[i]);
}
  • tools 就是一些工具东西。
接着说一下程序的运行流程

浏览器上第一步肯定是加载index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Cocos2d-html5 Hello World test</title>
    <link rel="icon" type="image/GIF" href="res/favicon.ico"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="full-screen" content="yes"/>
    <meta name="screen-orientation" content="portrait"/>
    <meta name="x5-fullscreen" content="true"/>
    <meta name="360-fullscreen" content="true"/>
    <style>
        body, canvas, div {
            -moz-user-select: none;
            -webkit-user-select: none;
            -ms-user-select: none;
            -khtml-user-select: none;
            -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
        }
    </style>
</head>
<body style="padding:0; margin: 0; background: #000;">
<canvas id="gameCanvas" width="800" height="450"></canvas>
<script src="frameworks/cocos2d-html5/CCBoot.js"></script>
<script cocos src="main.js"></script>
</body>
</html>

其中先加载<script src="frameworks/cocos2d-html5/CCBoot.js"></script> 这个js就是去加载project.json还有其他一些的配置。然后再去加载<script cocos src="main.js"></script> ,这个类就是一些图片音频等资源的预先加载。然后启动游戏cc.game.run();

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,699评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,124评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,127评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,342评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,356评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,057评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,654评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,572评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,095评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,205评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,343评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,015评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,704评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,196评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,320评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,690评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,348评论 2 358

推荐阅读更多精彩内容