- Learning Cocos2d-JS Game Development
- Emanuele Feronato
- 779字
- 2021-08-06 19:43:52
Hello Cross-World
The time has come, the boring theory has ended, and we can now start coding our first project. Let's begin!
- Firstly, create a page called
index.html
in the root of the game folder and write this HTML code:<!DOCTYPE html> <head> <title> My Awesome game </title> <script src="cocos2d-html5/CCBoot.js" type="text/javascript"> </script> <script src="main.js" type="text/javascript"> </script> </head> <body style="padding:0;margin:0;background-color:#000000;"> </body> </html>
There's nothing interesting in it as it is just plain HTML. Let's take a closer look at these lines to see what is going on:
<script src=" cocos2d-html5/CCBoot.js "></script>
Here, I am including the Cocos2d-JS boot file to make the framework start:
<script src="main.js"></script>
From the preceding line, this is where we call the script with the actual game we are going to build. Next, we have the following code:
<canvas id="gameCanvas"></canvas>
This is the canvas we will use to display the game. Notice here that the canvas does not have a width and height, as they will be defined by the game itself.
- Next is the creation of
main.js
: the only file we will call from our mainindex.html
page. This is more of a configuration file rather than the game itself, so you won't code anything that is game-related at the moment. However, the file you are going to build will be the blueprint you will be using in all your Cocos2d-JS games.The content of
main.js
is as follows:cc.game.onStart = function(){ cc.view.setDesignResolutionSize(320, 480, cc.ResolutionPolicy.SHOW_ALL); cc.director.runScene(new gameScene()); }; cc.game.run();
Don't worry about the code at the moment; it looks a lot more complicated than it really is. At the moment, the only line we have to worry about is the one that defines the resolution policy.
Cocos2d-JS allows us to handle different resolutions in a similar way web designers do when building responsive design. At the moment, we just want to adapt the game canvas to fit the browser window while targeting the most popular resolution, which is 320x480 (portrait mode). That's what this line does:
cc.view.setDesignResolutionSize(320, 480, cc.ResolutionPolicy.SHOW_ALL);
Using these settings, you should be pretty sure that your game will run on every device, although you will be working in a low resolution.
Also, have a look at this line:
cc.director.runScene(new gameScene());
Basically, a Cocos2d-JS game is made by a scene where the game itself runs. There can be more scenes in the same game. Imagine a scene with the title screen, a scene with the game over screen, and a scene with the game itself. At the moment, you only have one scene called
gameScene
. Remember this name because you are going to use it later. - Following this, the next required blueprint file you are going to build is
project.json
, which has some interesting settings. Let's take a look at the file first:{ "debugMode" : 0, "showFPS" : false, "frameRate" : 60, "id" : "gameCanvas", "renderMode" : 0, "engineDir":"cocos2d-html5/", "modules" : ["cocos2d"], "jsList" : [ "src/gamescript.js" ] }
What do these lines mean? Let's see them one by one:
debugMode
: This is the object key that determines the level of debug warnings. It has a range from 0 to 6. Leave it at 0 at the moment since the project is very simple and we won't make any errors.showFPS
: This object can be true or false; it shows or hides the FPS meter on the screen.frameRate
: This object sets the frame rate of your game. Set it to60
to have a smooth game.id
: This is the DOM element that is required to run the game. Do you remember you gave your canvas thegameCanvas
id? Here you are.engineDir
: This is the folder where Cocos2d-JS is installed.modules
: This object engines the modules to load. At the moment, we only need the basic Cocos2d library.jsList
: This is an array with the files used in the game. This means we are going to create our game insrc/gamescript.js
.
- Finally, we arrive at the game script itself. This is the one that will contain the actual game,
gamescript.js
, which at the moment is just a plain declaration of the game scene:var gameScene = cc.Scene.extend({ onEnter:function () { this._super(); console.log("my awesome game starts here"); } });
Here, you want to save everything and call
index.html
page from yourlocalhost
(refer to your WAMP or MAMP docs) in your browser. If you now open the developer console, you should see:my awesome game starts here
Congratulations! This means you have successfully managed to create a Cocos2d-JS template file to build your future games.
Let's build our first mini game at once!
- C程序設計簡明教程(第二版)
- Drupal 8 Blueprints
- 工程軟件開發技術基礎
- PHP 從入門到項目實踐(超值版)
- Oracle 12c中文版數據庫管理、應用與開發實踐教程 (清華電腦學堂)
- Magento 2 Development Cookbook
- 新編Premiere Pro CC從入門到精通
- Learning Salesforce Einstein
- Android程序設計基礎
- Getting Started with React Native
- Java程序設計案例教程
- 機器學習微積分一本通(Python版)
- Python機器學習算法與應用
- 3ds Max印象 電視欄目包裝動畫與特效制作
- Flask Web開發:基于Python的Web應用開發實戰(第2版)