CocosCreator初体验

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CocosCreator初体验相关的知识,希望对你有一定的参考价值。

参考技术A 机缘巧合,最近接到关于游戏的需求,前后调研了一下Unity3D和CocosCreator,但是考虑到是作为项目的一部分而使用,并且局限于Unity3D的使用条款,为了避免法律问题,最后选择的是使用CocosCreator来实现。第一次接触Unity3D和CocosCreator这类的游戏引擎,大约用了一个月的时间,从学习到项目大部分完成,之后要打包成静态库供其他客户端的同事们使用。学习途径主要是CocosCreator官网文档和官方Demo(看中文的文档就是爽!!!)。本片文章的目的主要是记录一下过程中遇到的问题及解决方案,并不是完整的教程。

本次要做的是一个最简单的跑酷类游戏,无需使用Tiled(地图编辑器),spine(骨骼动画编辑器)。也是做了这个小游戏才发现游戏其实已经发展的很成熟了。
我们可以看到,元素很简单,背景主要有远景、中景,通过设置不同的速度来实现现实中跑动的效果。主要的逻辑实现部分是在前景的任务和障碍物。由于没有使用物理引擎,所以是直接使用CocosCreator的碰撞检测实现的。主人公可以跳跃越过障碍物,撞开障碍物,收集金币。按住屏幕,hero跳起,按的时间长一些,主人公的跳跃也会高一些,自然一些的话还是需要简单的物理公式的。正常情况下hero是在x轴上是没有速度的,一种情况是当障碍物挡住hero时会有一个和障碍物同样的速度模拟阻挡的效果,还有一种情况是阻挡产生之后hero产生了位置上的移动,需要一个速度回到原位置。由于CocosCreator提供了碰撞检测之后的回调函数,所以我们可以很轻松的在回调中做一些相关操作,比如让碰到的金币消失之类的。

有位同事做过cocos2d-x的开发,使用的c++,向他请教了一些基础了知识,但是细节上跟cocosCreator相差恨远,因为cocosCreator是用cocos2d-js框架并配合可视化的编辑器来实现的。由于是先调研的Unity3D,对这种脚本的方式还是比较能够接受的。其核心思想是在组件,在编辑器中制作精灵和动画,然后通过脚本组件来控制其逻辑实现,各种功能都组件化,当我们需要给精灵添加一个功能的时候,就是向其添加一个组件。在这个小游戏的制作过程中用的组件的数量也是有限的,主要是使用了:

编辑器给我们提供了方便的拖拽界面,直接将我们需要使用的图片导入,就会自动生成精灵文件(但是用过Unity3D之后,还是感觉Unity3D的功能集成度更高一些,而且还可以做3D)。

在编写脚本的时候也是不能脱离编辑器的,在编写脚本的时候着实是让我这个ios程序员有点摸不到头脑了,JS的使用方式有点让我不太适应,没有了xcode的提示功能,写起来还是有些费劲的。JS也是边学边写,不过得益于官方的Demo几乎把所有组件都写了一遍,所以就照着葫芦画瓢。写的时候就发现,其实引擎并没有帮我们做很多的工作(Unity3D可以直接在编辑器里设置物理属性,不过听说下个版本的CocosCreator也会有)。在编写脚本的过程中,最复杂的就是hero脚本的编写,需要检测碰撞和处理hero跳跃过程中的不同状态。碰撞检测的话需要自己计算碰撞发生的位置,当做矩形碰撞器来处理的,只计算x轴和y轴的碰撞。x轴发生碰撞的话,hero有一个和障碍物一样的速度,y轴碰撞一直持续的话就是调整hero的y轴的位置,让其在障碍物的顶部。跳跃的过程中完成动画的切换。

与CocosCreator编辑器不同的是,这个编辑器是我写的一个生成障碍物的一个app,可以方便让产品配置障碍物的位置。主要的实现思路是使用UICollectionView,界面非常的简单,主要是配合CocosCreator脚本的实现,需要将颗粒状的障碍物连成一个长的条状,所以需要将界上的障碍物颗粒结构化一下,取到障碍物的最底部的颗粒的位置,然后连接在一起的高度,这样的话就是对每一列的统一种类的障碍物进行深度优先搜索,记录最低点和搜索过的深度,这样的生成的JSON文件在CoCosCreator脚本里就可以直接使用了。

Hadoop初体验

Hadoop初体验

HDFS初体验


HDFS shell常用命令

# 在/目录创建一个目录
hdaoop fs -mkdir /itcast

# 上传文件到/itcast目录中
hadoop fs -put zookeeper.out /itcast

# 查看/目录
hadoop fs -ls /

# 查看存储余量
hdfs dfs -df -h




Web UI页面操作


思考


Hadoop MapReduce +YARN初体验

# 官方自带的示例jar包目录
/export/server/hadoop-3.1.4/share/hadoop/mapreduce

hadoop-mapreduce-examples-3.1.4.jar是官方提供的示例jar包。


计算圆周率Pi的值–官方示例

# 进入到官方示例jar包目录下
cd /export/server/hadoop-3.1.4/share/hadoop/mapreduce

# 计算圆周率Pi的值
hadoop jar hadoop-mapreduce-examples-3.1.4.jar pi 2 4

第一步是先连接到YARN集群主角色ResourceManager,找YARN申请运算资源



词频统计–官方示例

# 进入到官方示例jar包目录下
cd /export/server/hadoop-3.1.4/share/hadoop/mapreduce

# 统计词频
## hadoop jar jar包名 统计词频参数 指定统计文件 结果输出文件
hadoop jar hadoop-mapreduce-examples-3.1.3.jar wordcount /input/hlm.txt /out/hlmcount

第一步是先连接到YARN集群主角色ResourceManager,找YARN申请运算资源

# 查看统计输出结果
hdfs dfs -cat /out/hlmcount/part-r-00000


通过webui查看运行结果

以上是关于CocosCreator初体验的主要内容,如果未能解决你的问题,请参考以下文章

cocos初认识

PetaPoco初体验(转)

我的Go+语言初体验—— 一个Golang开发者的Go+初体验

PHP初体验

maven初体验

ipython及Python初体验