位置: 编程技术 - 正文

第一个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 地图)

  • 总公司是小规模分公司是一般纳税人
  • 工资里个人代扣款是什么
  • 医药行业发票税率
  • 预付账款退回怎么做凭证
  • 财务会计和预算会计是两套账吗
  • 售后维修收入怎么入账
  • 小微企业零申报多久报一次税
  • 人员新增申报表
  • 关联方交易影响因素
  • 营改增后企业所得税怎么算
  • 研发机构认定条件
  • 哪些纳税人可以申请存量留抵退税
  • 关税的记税依据
  • 应付账款保理是什么意思
  • 折扣为负数是什么意思
  • 换件维修的部件什么意思
  • 代理进口业务
  • 营改增后房地产企业增值税税率
  • 代管商品物资登记制度
  • 项目一次性奖励会计分录怎么处理
  • 事业单位的房租上缴国库吗
  • 公积金抵扣个税上限
  • 销售不动产如何开票样本
  • 收到未抵扣的红字发票
  • 大宗物资吧
  • 购进农产品再销售
  • 企业发工资扣缴个人承担部分如何做账?
  • 非税收入票据如何打印
  • 为什么申报个人所得税还要补税
  • 其它权益工具投资处置时其他综合收益转那
  • linux常用命令make
  • php登录注册
  • 如何在win11上安装旧版ie
  • 高新企业有啥用
  • 本年利润和未分配利润怎么结转
  • html页面间传数据
  • php socket_create
  • 境外支付佣金代扣代缴增值税
  • 小规模纳税人本年累计金额
  • php实现文件上传需要使用哪个全局变量
  • 移动端适配方案面试题
  • 简单解决微信文案的方法
  • php事件机制
  • input输入框限制最大字数
  • 个税系统有什么用
  • 数量金额式账页图片
  • 在vue项目如何引入异步组件?
  • linux mint 下mysql中文支持问题
  • 织梦怎么用模板建站
  • 资产负债表季报是累计三个月数据吗
  • 职工教育经费包括住宿费吗
  • 专利年费的滞纳金怎么做账
  • 职工薪酬属于收益性支出
  • 印花税技术服务合同包括哪些
  • PostgreSQL教程(十四):数据库维护
  • 外贸企业出口货物会计分录
  • 增值税留抵税款制度
  • 缴纳车辆购置税有发票吗
  • 研发支出费用化对财务报表的影响
  • 公司发放工作服怎么做账务处理
  • 哪些费用可以入开办费
  • 未抵扣进项税额转出会计分录
  • 维修基金只有收据没有发票吗
  • 发票金额小于实付金额会计分录
  • 公司支付质保金怎么做账
  • mysql中的where子句
  • ubuntu software database is broken错误该怎么解决?
  • freebsd操作命令
  • sxgdsenu.exe - sxgdsenu是什么进程 有什么用
  • win7系统IE浏览器打开跳转到360浏览器,怎么阻止
  • WIN10系统中读卡器驱动的正确安装程序
  • Linux中通过Socket文件描述符寻找连接状态介绍
  • android 4.2
  • android移动网络
  • linux怎么全盘备份
  • python的遍历
  • shell脚本.sh
  • unity射击游戏完整功能代码
  • js变量作用域
  • 税务稽查检查笔录范文
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设