位置: 编程技术 - 正文

第一个Cocos2d-JS游戏(第一个闹钟)

编辑:rootadmin
我们的编写的第一个Cocos2d-JS程序,命名为HelloJS,从该工程开始学习其它的内容。创建工程我们创建Cocos2d-JS工程可以通过Cocos2d-x提供的命令工具cocos实现,但这种方式不能与WebStorm或Cocos Code IDE集成开发工具很好地集成,不便于程序编写和调试。由于Cocos Code IDE工具是Cocos2d-x开发的专门为Cocos2d-JS和Cocos2d-x Lua开发设计的,因此使用Cocos Code IDE工具很方便创建Cocos2d-JS工程。首先我们需要在Cocos Code IDE工具中先配置JavaScript框架,打开Cocos Code IDE工具,选择菜单Window→Preferences,弹出对话框如下图所示,选择Cocos→JavaScript在右边的JavaScript Frameworks中选择<Cocos2d-JS引擎目录>。配置JavaScript框架JavaScript框架配置不需要每次都进行,只是在最开始的配置一下,但创建工程的时候,Cocos Code IDE工具会从这个JavaScript框架目录中创建工程文件。接下来我们就可以创建JavaScript工程了,选择菜单File→New→Project,如下图所示,弹出项目类型选择对话框。项目类型选择对话框我们选中Cocos JavaScript Project,然后点击Next按钮,弹出如下图所示的对话框。我们在Project Name项目中输入工程名称,Create Project in Workspace是在Workspace目录中创建工程,我们需要选中该项目,Create From Existing Resource项目选中可以让我们从已经存在的工程创建,现在我们不需要选中该项目。选择完成点击Next按钮进入到如下图所示配置运行环境对话框,在该对话框中我们可以配置项目运行时信息。Orientation项目是配置模拟器的朝向,其中landscape是横屏显示,portriat是竖屏显。Desktop Runtime Settings中的Title是设置模拟器的标题,Desktop Windows initialize Size是设置模拟器的大小。Add Native Codes是设置添加本地代码到工程,在本来中我们不需要添加本地代码。最后点击Finish按钮完成创建操作,创建好工程之后,如下图所示。新建项目对话框配置运行环境对话框创建工程成功界面Cocos Code IDE中运行创建好工程后我们可以测试一下,在左边的工程导航面板中选中index.html文件,右键菜单中选择Run As→Cocos JSBinding运行我们刚刚创建的工程,运行结果如下图所示。运行工程界面我们主要编写的程序代码是在src目录下,在本例中app.js文件负责处理主要的如上图场景界面逻辑。如果我们想调试程序,可以设置断点,如下图所示,点击行号之前的位置,设置断点。设置断点调试运行过程,右键菜单中选择Debug As→Cocos JSBinding菜单。如下图所示,程序运行到第行挂起,并进入调试视图,在调试视图中我们可以查看程序运行的堆栈、变量、断点、计算表达式和单步执行程序等操作。运行到断点挂起在调试视图中调试工具栏的按钮,主要调试按钮说明如下图所示。调试工具栏按钮WebStorm中运行Cocos Code IDE工具提供的运行是本地运行,即Cocos2d-JS程序通过JSB在本地运行。如果我们需要测试Web浏览器上运行情况,需要使用WebStorm工具,由于我们已经在Cocos Code IDE创建了工程我们不需要再创建了,但是需要进入到WebStorm中进行设置,创建文件在本地WebStorm工程,为了能与Cocos Code IDE共用相同工程我们需要设置WebStorm的Project Root为Cocos Code IDE的Workspace目录。设置完成界面如图下所示,其中的HelloJS是我们要运行的工程,右键选择HelloJS中的index.html文件就可以运行了,过。运行结果如下图所示。设置完成界面在浏览器中运行工程文件结构我们创建的HelloJS工程已经能够运行起来了,下面我们介绍一下HelloJS工程中的文件结构,我们使用Cocos Code IDE打开HelloJS工程,左侧的导航面板如下图所示。HelloJS工程中的文件结构在上图所示导航面板中,res文件夹存放资源文件的,src文件夹是主要的程序代码,其中的app.js是实现游戏场景的JavaScript文件,resource.js定义资源对应的变量。HelloJS根目录下还有config.json、project.json、index.html和main.js,config.json保存模拟器运行配置信息,在我们创建工程时候生成,project.json是项目的配置信息,index.html是Web工程的首页,main.js与首页index.html对应的JavaScript文件。代码解释HelloJS工程中有很多文件下面我们详细解释一下它们内部的代码: 1、index.html文件index.html文件只有在Web浏览器上运行才会启动它,index.html代码如下:上述代码第①~②行是设置网页的meta信息,meta信息是网页基本信息,这些设置能够使得index.html网页很好地在移动设备上显示。第③行代码放置一个canvas标签,canvas标签是HTML5提供的,通过JavaScript 可以在Canvas上绘制 2D 图形,Cocos2d-JS在网页运行的游戏场景都是通过Canvas渲染出来的,Cocos2d-JS的本地运行游戏场景的渲染是通过OpenGL渲染出来的,事实上HTML5也有类似于OpenGL渲染技术,它是WebGL但是考虑到浏览器的支持程度不同,Cocos2d-JS没有采用WebGL渲染技术而是Canvas渲染,虽然Canvas渲染速度不及WebGL,但是一般的网页游戏都能满足要求。第④行代码是导入JavaScript文件CCBoot.js,我们不需要维护该文件。第⑤行代码是导入JavaScript文件main.js,我们需要维护该文件。2、main.js文件main.js负责启动游戏场景,无论Web浏览器运行还是本地运行都是通过该文件启动游戏场景的,main.js代码如下:c上述代码第①行是启动游戏,cc.game是一个游戏启动对象。代码第②~④行是设置游戏视图属性,其中第③行是设置游戏视图大小,它涉及到屏幕适配问题,cc.ResolutionPolicy.SHOW_ALL是屏幕适配策略。第⑤行代码是加载游戏场景所需要资源,其中g_resources参数是加载资源的数组,该数组是在src/resource.js文件中定义的。第⑥行代码是运行HelloWorldScene场景,cc.director是导演对象,运行HelloWorldScene场景会进入到该场景。第⑦行代码cc.game.run()是运行游戏启动对象。3、project.json文件项目配置信息project.json文件代码如下:project.json文件采用JSON字符串表示,我们重点关注有标号的语句,其中第①行代码是设置是否显示帧率调试信息,帧率调试就是显示在左下角文字信息。第②行代码是设置帧率为,即屏幕1/秒刷新一次。第③行代码是加载游戏引擎的模块,Cocos2d-JS引擎有很多模块,模块的定义是在HelloJSframeworkscocos2d-html5moduleConfig.json,我们在资源管理器中才能看到该文件,这些模块在场景启动的时候加载,因此一定要根据需要导入,否则造成资源的浪费。例如我们再添加一个chipmunk物理引擎模块,代码第③可以修改如下形式:"modules" : ["cocos2d","chipmunk"]代码第④~⑥行是声明需要加载的JavaScript文件,这里的文件主要是有我们编写的,我们每次添加一个JavaScript文件到工程中,就需要在此处添加声明。4、config.json文件只有在Cocos Code IDE中运行才需要该文件,它是配置模拟器运行信息的,该文件在工程发布时候和Web环境下运行都没有用处。但如果想Cocos Code IDE中运行,并改变模拟器大小和方向,可以修改该文件,config.json文件代码如下:上述代码第①行是初始配置信息,其中第②行是设置横屏显示还是竖屏显示,第③行代码name属性是设置模拟器上显示的标题,第④和⑤行是设置屏幕的宽和高,第⑥行代码是设置入口文件。5、resource.js文件resource.js文件是在src文件夹中,处于该文件夹中的文件是由我们来维护的。在resource.js文件中定义资源对应的变量。resource.js文件代码如下:上述代码第①行是定义JSON变量res,它为每一个资源文件定义一个别名,在程序中访问资源,资源名不要“写死[ 写死被称为硬编码(英语:Hard Code或Hard Coding),硬编码指的是在软件实作上,把输出或输入的相关参数(例如:路径、输出的形式或格式)直接以常量的方式书写在源代码中,而非在运行时期由外界指定的设置、资源、数据或格式做出适当回应。——引自于维基百科 我们在app.js文件中声明了两个类HelloWorldScene(见代码第①行)和HelloWorldLayer(见代码第⑦行),然后通过HelloWorldScene实例化HelloWorldLayer,见代码第⑩行。HelloWorldScene是场景,HelloWorldLayer是层,场景包含若干个层,关于场景和层我们会在下一节再具体介绍。另外,上述代码第②行是是创建一个图片菜单项对象,点击该菜单项的时候回调function方法。提示 cc.MenuItemImage中res.CloseNormal_png和res.CloseSelected_png变量是在resource.js文件中定义的资源文件别名,以后res.开通变量都是资源文件的别名,不再详细解释。第③行代码是菜单项对象的位置,其中closeItem.attr({…})语句可以设置多个属性,类似的还有代码第⑥行,采用JSON格式表示,x属性表示x轴坐标,y属性表示y轴坐标,anchorX表示x轴锚点,anchorY表示y轴锚点,关于锚点的概念后面小节介绍。关于精灵x和y轴属性,我们也可以通过代码④和⑤方式设置。

推荐整理分享第一个Cocos2d-JS游戏(第一个闹钟),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:第一个接龙怎么发起,第一个看透宋江的人,第一个逃出后室的人,第一个逃出后室的人,第一个明确承认湾及其附属岛屿为我国领土的国际文件是,第一个看透宋江的人,第一个百年奋斗目标,第一个百年奋斗目标,内容如对您有帮助,希望把文章链接给更多的朋友!

还有上述代码第⑧行是声明onEnter方法,它是在进入HelloWorldScene场景时候回调的。onEnter方法是从重写父类的方法,我们必需通过this._super()语句调用父类的onEnter方法,见代码第⑨行所示。

第一个Cocos2d-JS游戏(第一个闹钟)

更多内容请关注最新Cocos图书《Cocos2d-x实战:JS卷——Cocos2d-JS开发》本书交流讨论网站: JS卷》现已上线,各大商店均已开售:

京东:

Cocos2d-JS坐标系 在图形图像和游戏应用开发中坐标系是非常重要的,我们在Android和iOS等平台应用开发的时候使用的二维坐标系它的原点是在左上角的。而在Cocos2d-JS坐标

所有游戏通用的新手引导模块的开发模式教程. 游戏通用的新手引导模块的开发模式教程.目前提供cocos2d-js版的,等有时间我再把其他语言的版本放出来.(注:如果需要多个引导同时存在,或者非模态

Cocos2d-JS中的cc.LabelTTF cc.LabelTTF是使用系统中的字体,它是最简单的标签类。cc.LabelTTF类图如下图所示,可以cc.LabelTTF继承了cc.Node类,具有cc.Node的基本特性。LabelTTF类图如果我

标签: 第一个闹钟

本文链接地址:https://www.jiuchutong.com/biancheng/369080.html 转载请保留说明!

上一篇:coco2d-iphone:环境搭建(pg环境变量)

下一篇:Cocos2d-JS坐标系(cocos2dx 地图)

  • 增值税滞纳金怎么做账
  • 出口退税账务怎么做账
  • 增值税报表申报流程
  • 开办期间的利息收入怎么做账
  • 个税申报没填过租房信息,却有怎么回事
  • 短期投资会计科目编码
  • 工伤退费是什么意思
  • 合伙企业投资收益
  • 转让金融商品的会计分录
  • 承兑汇票贴现计算公式
  • 筹建期结转损益吗
  • 股东打入公户的钱怎么做账
  • 进口一批原材料,海关核定的关税完税价格
  • 公司评级有什么用
  • 价内税和价外税区别
  • 2021年个人开发票税率
  • 用户风险是什么意思
  • 应交税费借方余额填列资产负债表
  • 环评费用计入管理费用吗 是否需要摊销
  • 公益捐赠税前扣除政策
  • 企业取得免税收入怎么算
  • 公允价值上升是收益还是损失
  • 个税免缴款
  • 税务票开错了怎么办理退税
  • 耕地建厂房补偿方法
  • 坏账准备为负数怎么填资产负债表
  • vc_runtimeMinimum_x64.msi 找不到的解决方法
  • 客户回款扣除的费用
  • 政府补助调增还是调减
  • 税金及附加怎么登明细账
  • w7防火怎么开
  • 进项发票失控怎么办
  • 支付宝语音提示在哪里打开
  • edi文件怎么打开
  • PHP:mcrypt_module_is_block_algorithm_mode()的用法_Mcrypt函数
  • 增值税的类型主要有哪些
  • 使用灭火器人要站在上风口还是下风口
  • php是面向对象编程吗
  • 拥有自我意识的动物有哪些
  • vue创建项目后开始写的步骤
  • 财税[1994]26号
  • 已知税额和不含税额求税率
  • web前端期末大作业旅游页面
  • php原生导出excel表单元格格式
  • 年度报表资产总额平均值怎么算
  • 国家税务局监制的票还能用吗
  • 合并报表的会计主体
  • 实施资本公积金的目的
  • 应发工资包含
  • 如何注册小微商户
  • 理财产品分红和收益比例
  • 企业跨区变更地址需要多久
  • 金税四期可以查到闭环开票信息吗
  • 什么是公允价值变动收益
  • 垃圾处理费如何做账
  • 固定资产计提完折旧残值怎么处理
  • 总公司给分公司拨款怎么做账
  • 会计从业人员信息查询
  • 汽车折旧年限是多久
  • 税收分类编码怎么选
  • sql Set IDENTITY_INSERT的用法
  • win8的文件夹选项在哪里
  • ubuntu16.04终端在哪
  • mac怎么有线投屏到电视
  • 系统盘如何重装
  • mac打不开以下磁盘映像
  • 惠普装xp系统
  • linux的newgrp
  • win7系统如何给文件夹加密
  • jquery获取本地ip
  • cocos2dx小游戏
  • uinty实现玩家跟随鼠标位置平滑旋转角度
  • 各种摄像机的介绍
  • node.js写爬虫
  • js数字跳动增加效果
  • 简述js json对象和字符串的转换方式
  • JavaScript File API文件上传预览
  • 国家税务总局河北地税局
  • 印花税怎么计提和结转
  • 云南省2021年退休金计发基数
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设