位置: 编程技术 - 正文

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

  • 外贸企业出口退税申报流程操作
  • 纳税人对所提交信息的什么负责
  • 外购商品发放给员工 进项税额能不能抵扣
  • 高新企业要求研发投入
  • 资产评估费怎么收
  • 公司抬头的发票
  • 中小企业员工出去创业的例子
  • 即将发生坏事的预兆
  • 养老保险跨年度可以补缴吗
  • 常见的会计凭证有哪些
  • 土地使用税怎么征收标准
  • 事业单位收到借款分录
  • 维修变压器的维修方法
  • 增值税专票需要哪些开票信息
  • 个体工商户年末计提的工资,次年怎么算
  • 小规模公司怎么注册
  • 会计经验要求怎么填
  • 外管证开具后如何缴税?
  • 简并税率政策是什么?简并税率政策要点如何解读?
  • 公司没有发票的做内账,那么支付款从哪里来
  • 鸿蒙系统超级终端手机连手机
  • 无形资产入股注意事项
  • 客户用商品抵应收账怎么做
  • 企业并购效益
  • kcleaner.exe是什么
  • 金融企业贷款逾期怎么办
  • Win11 Build 22000.282正式版推送: 附更新修复内容汇总
  • 怎么做好零售
  • 企业个人借款利息怎么做账
  • 赔付支出有哪些
  • 无偿占用资金企业有哪些
  • 外购货物用于公益性捐赠
  • 资产减值准则所规范的资产
  • php css教程下载
  • node_sass
  • 计提坏账准备需要确认递延所得税吗
  • 企业亏损企业汇算清缴怎么处理
  • 计提怎么理解
  • 其他业务成本如何结转
  • 织梦安装步骤
  • 安装和使用蓄能器应注意哪些问题
  • phpcms怎么样
  • 售后租回融资租赁帐务处理怎么做?
  • 计提法定盈余公积是什么意思
  • 哪些情况可以开立基本账户
  • 所得税退税可以不退吗
  • 金税盘发票二维码怎么生成
  • 房产交易缴税
  • 经济补偿金如何做账
  • etc发票当天可以打印吗
  • 工业企业产值如何确定
  • 劳务报酬个税如何入账
  • 进项税有什么相关要求
  • 怎么结转本月期间损益
  • 高新技术企业认定管理办法
  • 税种工会经费
  • mysql如何输入数据
  • Windows Server 2008关闭闲置状态的IDE通道
  • ubuntu server教程
  • solaris删除文件夹命令
  • win10资源管理器在哪里打开
  • 电脑win8.1系统怎么样
  • win8系统关机在哪
  • mysql如何添加外键
  • win10预览版21301bug
  • windows7关机注销很慢
  • JavaScript实现QQ列表展开收缩扩展功能
  • linux 常用命令大全及其详解
  • dos命令遍历文件
  • unity简单小游戏案例
  • jquery 入门
  • android dsl动态化
  • unity3d总结
  • jquery获取文件大小
  • python socks
  • 在python中通过什么语句创建一个空集合
  • 开发笔记本哪个比较好一点
  • 潍坊市滨海经济开发区属于哪里
  • 加强党的作风建设是目前全党的中心
  • 企业税务登记是什么证件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设