位置: 编程技术 - 正文

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

  • 保险公司代收车船税会计分录
  • 土地增值税纳税义务人
  • 金税盘维护费全额抵扣吗
  • 工会经费支付福利方案
  • 未开票收入缴纳增值税怎么冲减补开发票
  • 个体注销了名下的车辆
  • 金税盘证书口令被锁死自己能解吗
  • 金融资产转回
  • 记账凭证的填写示例
  • 有限合伙合伙人要求
  • 财产租赁所得适用什么税率
  • 多收账款怎么账务处理
  • 考务费属于什么税目
  • 公司前三季度实现营业收入59.17亿元
  • 企业的免税收入用于支出所形成的费用或财产
  • 我的初级备考经验------极限挑战,超越自我
  • 费用报销交通费
  • 快速迅雷
  • 车间机物料消耗属于间接生产费用吗
  • 建筑业一般纳税人可以开普票吗
  • 银行多收的开户费怎么办
  • php语言之面向对象编程 educoder
  • 鸿蒙怎么装app
  • 苹果手机录音转mp3怎么转
  • 本月未抵扣完的进项税是否转出
  • 成都划拨土地出让金计算
  • php注释的主要作用是什么?
  • 所得税时间性差异与暂时性差异
  • 高翔ORB-SLAM2稠密建图编译(添加实时彩色点云地图+保存点云地图)
  • 纳汉双语
  • yolo v5超详细解析
  • 树莓派能干什么
  • thinkphp分表查询
  • 深度学习实战(十):使用 PyTorch 进行 3D 医学图像分割
  • javaweb界面设计
  • 逆算法怎么算
  • 进项税加计抵减是什么意思
  • 消防工程材料费用占比
  • 所得税季度申报表怎么填
  • 计提 增值税
  • js调用自己
  • sql2008设置
  • 企业财务部门对业务部门的监管要求
  • 成本核算步骤
  • 分批发货分批付款
  • 库存现金怎么算
  • 厂房维修费是制造费用还是管理费用
  • 公司二手车销售
  • 年末转出未交增值税借方余额怎么处理
  • 如果找国外客户
  • 递延所得税转回税率不一致
  • 人力资源公司可以开培训费发票吗
  • 医疗器械行业进货未取得发票怎么做会计分录的
  • 票据的提示承兑期限是什么意思
  • 如何制作u盘系统win7
  • Windows Server 2003环境更改Boot.ini文件
  • centos安装类型选择
  • vmware 启动虚拟机
  • 用u盘怎么装系统win10
  • bios里怎么找不到usb启动
  • WinXP创建一键静音快捷键(在喇叭消失的情况下实用)
  • win10拦截在哪里关
  • ubuntu下安装deb文件
  • win10周年纪念版
  • windowsxp入门
  • win7资源管理器不停的崩溃重启
  • WIN7系统如何设置开机密码和屏保密码
  • 双系统怎么屏蔽另一个磁盘
  • jquery prompt
  • 阿J的cocos2d-x学习笔记-元素消消看(四)-可发展的空间及游戏开发中的问题
  • js实现组件功能
  • 菜鸟教程安卓开发
  • linux如何批量执行脚本
  • jquery示例
  • css3瀑布流布局
  • actionscript与javascript的区别
  • python数学语言
  • 电子发票查询系统手机查询
  • 北京税务报到期限
  • 网上增值税发票验旧
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设