Cocos2d-JS工程中的文件结构

时间:2023-03-09 01:25:03
Cocos2d-JS工程中的文件结构

res文件夹存放资源文件

src文件夹是主要的程序代码

app.js是实现游戏场景的JavaScript文件

resource.js在src文件夹中,定义资源对应的变量

config.json保存模拟器运行配置信息

project.json是项目的配置信息

index.html是Web工程的首页

main.js与首页index.html对应的JavaScript文件,负责启动游戏场景

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 src="main.js"></script>
</body>
</html>

7~11行:meta信息是网页基本信息,这些设置能够使得index.html网页很好地在移动设备上显示。

23行:Canvas标签,通过JavaScript 可以在Canvas上绘制 2D 图形,Cocos2d-JS在网页运行的游戏场景都是通过Canvas渲染出来的。

24行:导入JavaScript文件CCBoot.js,我们不需要维护该文件。

25行:导入JavaScript文件main.js,我们需要维护该文件

main.js代码:

 cc.game.onStart = function(){
cc.view.adjustViewPort(true);
cc.view.setDesignResolutionSize(800, 450, cc.ResolutionPolicy.SHOW_ALL);
cc.view.resizeWithBrowserSize(true);
//加载游戏所需资源
cc.LoaderScene.preload(g_resources, function () {
cc.director.runScene(new HelloWorldScene());
}, this);
};
cc.game.run();

1行:启动游戏

cc.game是一个游戏启动对象

2~4行:设置游戏视图属性

3行:设置游戏视图大小,涉及到屏幕适配问题,cc.ResolutionPolicy.SHOW_ALL是屏幕适配策略

g_resources参数是加载资源的数组,该数组是在src/resource.js文件中定义的

6行:运行HelloWorldScene场景,cc.director是导演对象

10行:cc.game.run()是运行游戏启动对象

project.json

 {
"project_type": "javascript", "debugMode" : 1,
"showFPS" : true,
"frameRate" : 60,
"id" : "gameCanvas",
"renderMode" : 0,
"engineDir":"frameworks/cocos2d-html5", "modules" : ["cocos2d"], "jsList" : [
"src/resource.js",
"src/app.js"
]
}

5行:是否显示帧率调试信息,帧率调试就是显示在左下角文字信息。

6行:设置帧率为60,即屏幕1/60秒刷新一次。

11行:加载游戏引擎的模块

13~15行:声明需要加载的JavaScript文件,这里的文件主要是由我们编写的,我们每次添加一个JavaScript文件到工程中,就需要在此处添加声明

config.json代码:

 {
"init_cfg": {
"isLandscape": true,
"name": "CocosJSGame",
"width": 960,
"height": 640,
"entry": "main.js",
"consolePort": 6050,
"debugPort": 5086,
"forwardConsolePort": 10088,
"forwardUploadPort": 10090,
"forwardDebugPort": 10086
},
...........
]
}

2行:初始配置信息

3行:设置横屏显示还是竖屏显示

4行:设置模拟器上显示的标题

5、6行:设置屏幕的宽和高

7行:设置文件入口代码

app.js

 var HelloWorldLayer = cc.Layer.extend({
sprite:null,
ctor:function () {
//////////////////////////////
// 1. super init first
this._super();
    //..... return true;
}
}); var HelloWorldScene = cc.Scene.extend({
onEnter:function () {
this._super();
var layer = new HelloWorldLayer();
this.addChild(layer);
}
});