接着上一节,我们已经创建了一个主游戏场景MainLayer,现在我们需要创建一个开始场景StartLayer,包括StartLayer.ccbx和StartLayer.js两个文件,点击StartLayer上的开始按钮,游戏切换到主游戏场景。
先看运行效果;
代码下载地址:http://www.kuaipan.cn/file/id_25348935635744469.htm?source=1
首先创建StartLayer.ccbx和StartLayer.js文件,如下图操作(sources右击----new---layer)(sources右击---new---controller)
创建成功后,指定控制器;
我们设计开始场景,一个颜色背景层,一个MenuItem按钮;
场景设计完毕,我们开始编程StartLayer.js ,只需要加入一个函数onPlayClicked(),点击player后跳转到MainLayer.js;
- //
- // CleanerScoreScene class
- //
- var StartLayer = function () {
- cc.log("StartLayer")
- };
- StartLayer.prototype.onDidLoadFromCCB = function () {
- // this.rootNode.onUpdate = function (dt)
- // {
- // this.controller.onUpdate();
- // };
- // this.rootNode.schedule(this.rootNode.onUpdate);
- if (sys.platform == 'browser') {
- this.onEnter();
- }
- else {
- this.rootNode.onEnter = function () {
- this.controller.onEnter();
- };
- }
- this.rootNode.onExit = function () {
- this.controller.onExit();
- };
- };
- StartLayer.prototype.onEnter = function () {
- }
- StartLayer.prototype.onUpdate = function () {
- }
- StartLayer.prototype.onPlayClicked = function () {
- cc.BuilderReader.runScene("", "MainLayer");
- }
- StartLayer.prototype.onExit = function () {
- }
然后再去设置Main.js,让主函数先启动StartLayer; 也别忘记加入这行代码require("StartLayer.js");
- if (sys.platform == 'browser') {
- var require = function (file) {
- var d = document;
- var s = d.createElement('script');
- s.src = file;
- d.body.appendChild(s);
- }
- } else {
- require("jsb.js");
- }
- cc.debug = function (msg) {
- cc.log(msg);
- }
- cc.BuilderReader.replaceScene = function (path, ccbName) {
- var scene = cc.BuilderReader.loadAsSceneFrom(path, ccbName);
- cc.Director.getInstance().replaceScene(scene);
- return scene;
- }
- cc.BuilderReader.loadAsScene = function (file, owner, parentSize) {
- var node = cc.BuilderReader.load(file, owner, parentSize);
- var scene = cc.Scene.create();
- scene.addChild(node);
- return scene;
- };
- cc.BuilderReader.loadAsSceneFrom = function (path, ccbName) {
- cc.BuilderReader.setResourcePath(path + "/");
- return cc.BuilderReader.loadAsScene(path + "/" + ccbName);
- }
- cc.BuilderReader.loadAsNodeFrom = function (path, ccbName, owner) {
- cc.BuilderReader.setResourcePath(path + "/");
- return cc.BuilderReader.load(path + "/" + ccbName, owner);
- }
- cc.BuilderReader.runScene = function (module, name) {
- var director = cc.Director.getInstance();
- var scene = cc.BuilderReader.loadAsSceneFrom(module, name);
- var runningScene = director.getRunningScene();
- if (runningScene === null) {
- cc.log("runWithScene");
- director.runWithScene(scene);
- }
- else {
- cc.log("replaceScene");
- director.replaceScene(scene);
- }
- }
- var ccb_resources = [
- {type: 'image', src: "Resources/HelloWorld.png"},
- {type: 'image', src: "Resources/CloseNormal.png"},
- {type: 'image', src: "Resources/CloseSelected.png"}
- ];
- require("MainLayer.js");
- require("StartLayer.js");
- if (sys.platform == 'browser') {
- var Cocos2dXApplication = cc.Application.extend({
- config: document['ccConfig'],
- ctor: function () {
- this._super();
- cc.COCOS2D_DEBUG = this.config['COCOS2D_DEBUG'];
- cc.initDebugSetting();
- cc.setup(this.config['tag']);
- cc.AppController.shareAppController().didFinishLaunchingWithOptions();
- },
- applicationDidFinishLaunching: function () {
- var director = cc.Director.getInstance();
- // director->enableRetinaDisplay(true);
- // director.setDisplayStats(this.config['showFPS']);
- // set FPS. the default value is 1.0/60 if you don't call this
- director.setAnimationInterval(1.0 / this.config['frameRate']);
- var glView = director.getOpenGLView();
- glView.setDesignResolutionSize(1280, 720, cc.RESOLUTION_POLICY.SHOW_ALL);
- cc.Loader.preload(ccb_resources, function () {
- cc.BuilderReader.runScene("", "StartLayer");
- }, this);
- return true;
- }
- });
- var myApp = new Cocos2dXApplication();
- } else {
- cc.BuilderReader.runScene("", "StartLayer");
- }
一切都好了,点击运行;先进入开始界面,点击play跳入游戏主界面
下一篇文章 我会介绍cocos2d-x editor的字体设计 笔者(李元友)
资料来源:cocos2d-x editor
相关推荐
《Cocos2d-x 3.x游戏开发实战》是一本深度探讨Cocos2d-x 3.x框架的游戏开发书籍,适合对游戏编程有兴趣的开发者学习。Cocos2d-x 是一个开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android、Windows等多平台的...
资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...
《cocos2d-x场景切换详解》 在游戏开发或者应用设计中,场景切换是一个至关重要的环节,它决定了用户在不同界面之间的流畅体验。cocos2d-x作为一款广泛使用的2D游戏引擎,其场景管理功能强大且灵活,能够帮助开发者...
cocos2d-x 是一个开源的游戏开发框架,使用 C++ 语言编写,支持多平台发布,包括 iOS、Android、Windows、macOS、Linux 和 Web。cocos2d-x v3.16 是该框架的一个版本号,本文档主要介绍了该版本的安装流程以及环境...
cocos2d-x不仅适用于游戏开发,还可以用于创建教育软件、互动媒体和其他2D图形应用,其强大的场景管理、精灵(Sprite)系统和粒子效果等功能,使得开发者能够快速构建各种复杂的2D场景。 总的来说,cocos2d-x 2.2.2...
【cocos2d-x API中文文档】是一份详尽的资料,主要涵盖了cocos2d-x游戏...通过这份文档,开发者可以了解如何利用cocos2d-x的API构建游戏场景、处理用户交互、动画效果以及实现游戏逻辑,从而提高开发效率和游戏质量。
《Cocos2d-x实战:C++卷(2版)源代码》这本书是关于使用Cocos2d-x游戏引擎进行游戏开发的专业指南。Cocos2d-x是一个开源的、跨平台的游戏开发框架,广泛应用于iOS、Android、Windows等多个操作系统。本书以C++语言...
《cocos2d-x 动画工具 Flash2Cocos2d-x 1.3:将Flash创意带入移动游戏开发》 在移动游戏开发领域,cocos2d-x是一款广泛使用的开源游戏引擎,以其高效、跨平台的特性深受开发者喜爱。而Flash2Cocos2d-x则是一个专为...
"cocos2d-x windows vs2010 配置详解" 本文将详细介绍如何在 Windows 环境下使用 Visual Studio 2010 配置 Cocos2d-x 游戏引擎。Cocos2d-x 是一个跨平台的游戏引擎,可以在多种平台上运行,包括 Windows、Mac OS X...
Cocos2d-x提供了一个SpineNode类,它是Cocos2d-x的CCNode的子类,可以直接在场景中添加和管理Spine动画。通过Lua绑定,你可以轻松地调用Spine的API来播放、停止、暂停或重置动画,以及改变动画的速度、时间缩放等...
资源名称:大富翁手机游戏开发实战基于Cocos2d-x3.2引擎内容简介:李德国编著的《大富翁手机游戏开发实战(基于 Cocos2d-x3.2引擎)》使用Cocos2d-x游戏引擎技术,带领读者一步一步从零开始进行大富翁移动游戏的开发...
Cocos2d-x是一个开源的游戏开发框架,广泛用于2D游戏、实时渲染应用程序和其他互动内容的制作。这个压缩包“cocos2d-x-3.1.zip”包含了Cocos2d-x框架的3.1版本,这是一个经典且相对旧的版本,可能对于那些寻找历史...
《Cocos2d-x实战 JS卷 Cocos2d-JS开发》是一本深入探讨Cocos2d-x游戏引擎JavaScript版本使用的专业书籍。Cocos2d-x是全球范围内广泛采用的游戏开发框架,尤其适用于2D游戏的制作,而Cocos2d-JS则是其JavaScript接口...
cocos2d-x 是一个跨平台的游戏开发框架,它基于C++,同时提供了Lua和JavaScript的绑定,让开发者可以方便地在多种操作系统上创建2D游戏、演示程序和其他图形交互应用。这个“cocos2d-x-3.8.zip”压缩包包含的是cocos...
标题中提到了"Cocos2d-x实战++JS卷++Cocos2d-JS开发+PDF电子书下载+带书签目录+完整",这里面包含了几个关键知识点: 1. Cocos2d-x:是一个开源的游戏开发框架,它主要用于开发跨平台的游戏和应用程序,支持iOS、...
《Cocos2d-x实战C++卷》是关东升所著的一本深入探讨Cocos2d-x游戏引擎开发的专业书籍。Cocos2d-x是一个开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android、Windows等多个操作系统。本书以C++语言为主要编程...
《cocos2d-x 3.0:游戏开发中的角色移动技术详解》 在游戏开发领域,cocos2d-x是一款广泛使用的开源2D游戏引擎,尤其在移动平台上的应用非常广泛。cocos2d-x 3.0版本带来了许多性能优化和新特性,使得开发者能够更...
《cocos2d-x 2.1.4:探索移动游戏开发的新篇章》 cocos2d-x 是一个跨平台的2D游戏开发框架,它为开发者提供了强大的工具和技术支持,使得游戏开发变得更为便捷。2.1.4 版本是这个框架的一个重要里程碑,它在前一...
《使用cocos2d-x-2.0-2.0.4开发的简单跨平台益智类魔塔小游戏》...通过学习和分析这个项目,开发者不仅可以掌握cocos2d-x的基本用法,还能了解到益智类游戏的设计思路和实现技巧,为自己的游戏开发之路打下坚实的基础。
《cocos2d-x案例开发大全》第二章的源码主要涵盖了使用cocos2d-x进行游戏开发的各种实践技巧和示例。cocos2d-x是一个开源的游戏开发框架,基于C++,支持跨平台,包括iOS、Android、Windows等多个操作系统。本章的...