三九宝宝网宝宝教育智力培养

如何使用Cocos Code IDE和Cocos2dx开发一个都不能落下游戏

01月07日 编辑 39baobao.com

[一台电脑通过HDMI接口连到42寸液晶电视上玩游戏死活都不能全屏]在Windows7系统下,人们在使用笔记本玩游戏时有时会发现屏幕居中两边有黑条,如何能让游戏全屏显示呢,下面给大家介绍Windows7游戏全屏问题通用解决方法。 Win键+R键,打开运行窗口...+阅读

摘要: 简介Cocos Code IDE是Cocos2d-x引擎官方团队推出的一款基于Eclipse的跨平台开发环境,专为Cocos2d-x Lua和JavaScript开发人员准备,通过Cocos Code IDE,可方便地创建游戏工程、编写并且调试代码、实时查看代码修改 ... 简介 Cocos Code IDE是Cocos2d-x引擎官方团队推出的一款基于Eclipse的跨平台开发环境,专为Cocos2d-x Lua和JavaScript开发人员准备,通过Cocos Code IDE,可方便地创建游戏工程、编写并且调试代码、实时查看代码修改效果、最终直接发布成一个可上架的安装包。

Cocos Code IDE的官方发布说明:《Cocos Code IDE》(英文地址) Cocos Code IDE的官方指南:《如何安装和设置Cocos Code IDE》(英文地址) 配置Cocos Code IDE 配置的主要有两步:1. 配置Lua Framework 或者JavaScript FrameWork ,导入 Cocos2d-x 引擎或者 Cocos2d-JS 引擎即可。2. 配置安卓开发环境,如SDK,NDK,ANT等等 具体的Cocos Code IDE开发环境搭建请参考:如何使用Cocos Code IDE调试Lua游戏?(英文版请点击这里) 如何使用Cocos Code IDE调试JavaScript游戏?(英文版请点击这里) 本游戏的开发环境 Mac OSX 10.9.4 Cocos Code IDE 1.0.0.RC0(下载地址) Cocos2d-x 3.2(下载地址) 《一个都不能落下》游戏开发1.创建新工程 打开Cocos Code IDE,切换到Lua工作环境 选择菜单,新建一个Cocos Lua项目,输入项目名:NoOneLeftBehind。

点击下一步设置屏幕方向和分辨率,确认完成 这个时候你就可以点击运行按钮,没有问题的话示例demo就会弹出。因为分辨率被我们更改过的关系,游戏画面有点变形。2.游戏逻辑 现在我们就可以往游戏项目中添加自己的代码了。由于游戏的代码细节并不是本文的重点,所以这里只简单地介绍《一个都不能落下》的实现原理。整个游戏项目源码可以在我的Github上下载。

A.main.lua是游戏的入口,在main()函数中我们可以找到场景跳转的代码,这在接口上和Cocos2d-x是保持一致的,因此我们可以很容易上手。在这里我们更改第一个场景为主菜单场景。--create scene local scene = require("MenuScene") local menuScene = scene.createScene() if cc.Director:getInstance():getRunningScene() then cc.Director:getInstance():replaceScene(menuScene) else cc.Director:getInstance():runWithScene(menuScene) end B.MenuScene.lua是游戏的主菜单,四种难度的游戏模式可以在这里进行选择。

你可以用下面这种方式创建一个menu。--create menu local function menuCallbackOpenNormal() cc.Director:getInstance():replaceScene(require("GameScene").createScene(2)) end local normal = cc.MenuItemImage:create("normal.png", "normal.png") normal:setPosition(0, 150) normal:registerScriptTapHandler(menuCallbackOpenNormal)...local menu = cc.Menu:create(normal, nightmare, hell, inferno) self:addChild(menu) C.GameScene.lua是游戏的主场景,通过传进来的heroCount设置同时显示几个hero。

--add hero function GameLayer:addControllers() local visibleSize = cc.Director:getInstance():getVisibleSize() local startY = 30 local gap = (visibleSize.height - startY) / self._heroCount for i=1, self._heroCount do local controller = require("HeroController").createController(self, startY + gap * (i - 1)) table.insert(self._controllers, i, controller) end end D.在这里我们对英雄和他作用的环境进行了封装。然后在GameScene的每一帧调用HeroController的onUpdate函数,在这个函数中检测一个随机定时器来判断是否应该生成一个新的障碍物。

-- create block function HeroController:onUpdate() self.frameIndex = self.frameIndex +1 if self.frameIndex >= self.nextKeyFrameIndex then local block = require("Block").new() block:init() self._layer:addChild(block) block:setPositionY(self._positionY + block:getContentSize().height / 2) self:resetTimer() end end E.物理引擎。Hero和,Ground,Block的碰撞这里采用了Cocos2d-x集成的物理引擎。以下代码反映了Hero和Block的碰撞检测。

-- collision detection self.touchListener:registerScriptHandler(onTouchBegan,cc.Handler.EVENT_TOUCH_BEGAN) cc.Director:getInstance():getEventDispatcher():addEventListenerWithSceneGraphPriority(self.touchListener, self) local function onContactBegin(contact) self:unscheduleUpdate() cc.Director:getInstance():getEventDispatcher():removeEventListener(self.touchListener) cc.Director:getInstance():getEventDispatcher():removeEventListener(self.contactListener) cc.Director:getInstance():replaceScene(require("GameOver").create(self._heroCount, score)) end self.contactListener = cc.EventListenerPhysicsContact:create(); self.contactListener:registerScriptHandler(onContactBegin, cc.Handler.EVENT_PHYSICS_CONTACT_BEGIN); local eventDispatcher = self:getEventDispatcher() eventDispatcher:addEventListenerWithSceneGraphPriority(self....

以下为关联文档:

手柄插上不能正确安装驱动怎么破可能是接口松了,转下接口试试。或者其实接口出问题了。 1、电脑USB接口或者USB手柄有问题,这种情况,只能找维修点或者电脑售后了。最简单的方法是换一个电脑,测试一下游戏手柄,如...

QQ不能分享音乐还显示脚本错误要怎样解决1.右击IE图标——属性——高级——选中“禁用脚本调试”,取消“显示每个脚本错误的通知”;2.右击我的电脑图标——属性——高级——错误报告——选中“禁用错误报告”。还不行...

玩游戏不能全屏显示的处理技巧有哪些方法 一、 1。在桌面空白处点击右键,出现图形选项选择屏面适配在选择缩放全屏之后运行游戏能实现全屏显示, 2。通过桌面右键--图形属性--一般设置--缩放缩放全屏。 方法 二、...

网页游戏不能全屏。怎么办?问题描述: 电脑使用Windows 7系统自带IE8.0浏览器,在一个浏览窗口中打开新连接的窗口时候,无法自动变为最大化。 解决方案: 这里可以在IE选项卡更改用选项卡打开新窗口就可以实...

电脑玩游戏时不能全屏怎么调方法一:更改显卡属性设置,达到游戏全屏效果 1、设置Nvidia显卡驱动控制面板[此方法适应Nvidia显卡] 这个主要针对Nvidia显卡的用户,一般安装了Nvidia显卡驱动以后会自带一个显...

工作任务不能怎样才可以带领和管理好自己的业务团队每天的工作任作为一个管理者,要想带领和管理好自己的业务团队,最起码要遵守以下的几个原则,并在日常工作中不断的摸索和积累管理经验: 1、以身作则,管理好自己才能够管理好他人。管理者也是企...

intelr pentiumr cpu g630 2 70ghz能不能玩战争之人:突击小队21、只看游戏需求的话,满足需求,完全可以玩这个游戏。 2、但是,你一台电脑不可能只玩这一个游戏,多多少少还要安装一些其他软件及配套插件,这样算的话,这台早已过时的低配电脑就不...

屠夫能不能和俺说说sap的数据流机制啊这个问题太难了,试试看能不能说清楚。就你所说的FI的凭证同时产生很多其他凭证的例子而言,SAP是先调用函数,把各种凭证都产生出来,例如该FI凭证与CO有关,就调用函数把CO的凭证产...

数数字游戏怎么玩啊像7 4 8 14 17的倍数不能喊就说过1 2 3 5 6 9 10 11 13 15 18 19 22 23 25 26 29 30 31 33 38 39 50 51 53 55 58 59 61 62 65 66 69 81 82 83 85 86 89 90 93 95 99上边的数字是答案。你可以用excel列一个...

推荐阅读
图文推荐