上一篇文章写了星星生成的逻辑,详情请看 Cocos Creator开发游戏消灭星星——星星生成
星星消除是发生在用户点击之后,所以需要处理用户触摸操作。在上一篇 *** 星星预制时有提及,在脚本组件 starCtr.js 的start函数里监听触摸。
消除星星是消除上下左右相连的星星,所以需要根据用户点击的星星找到其他相连的星星。在Utils中增加 *** needRemoveList:
现在来完成触摸处理逻辑:
通过用户点击的星星坐标找到与其相连的星星们,然后发射delete_stars事件,通知地图消除星星。关于监听和发射时间参考官方文档 监听和发射事件 。
在matrixCtr.js的onLoad *** 中添加事件监听
先添加几个属性来记录消除数据
在回调函数中处理消除逻辑
上一篇 说过,动画和特效主要放在节点 ActionRoot 中处理。如图,combo特效就在combNode节点中播放。
asset、atlasAsset分别存储骨骼动画资源,combName中存储骨骼动画的名字,和资源数组一一对应,_anim是dragonBones组件。
playComb即是播放特效的 *** 。
combCtr是脚本组件matrixCtr中的属性,即是场景中ActionRoot节点的脚本组件。
将需要消除的星星对应的坐标清空(赋值-1)
按规则星星是一个一个消除的,所以bomb会递归调用,直到所有星星都消除。在消除星星的同时,有分数计算和动画逻辑。
星星的移除是在 *** bombStar 中处理的,在创建星星的时候使用了对象池,所以移除时把它重新放入对象池。
在移除星星的同时,伴随有星星爆炸的特效。 starParticle 是一个预制,层级很简单,在一个空节点中,添加Particle System组件和脚本组件particleCtr。
Particle System组件设置自动移除,在属性检查器中勾选 Auto Remove On Finish 选项。
我们知道一次消除星星方块越多,得分越高。
分数动画有几种:
动画在actionCtr.js中处理:
因为分数也会被频繁的创建和移除,所以也使用了对象池,分数的预制 *** 后面介绍。
与单个方块的分数动画一样,消除总得分动画:
层级结构很简单,都是空节点下加一个Label节点。父节点上都有一个脚本组件partScore、totalScore。
脚本也很简单,setScore *** 给Label赋值。
与单个分数不同的,总得分的Label动画使用Creator的Animation编辑器 *** 。所以,预制中需要在节点label中添加Animation组件,在这里我们在添加一个脚本组件totalScoreLabel,这个脚本主要处理Animation动画的事件回调 *** 。
是的,推荐你安装一个易玩游戏盒子,那个里有很多游戏版本和游戏类型,我平常游戏都是在这个里下载的,还挺好用的感觉。
你喜欢什么类型的游戏直接在首页分类里下载就行了,或者直接搜索游戏名称,挺方便的。
并且游戏盒子里的的游戏都是官方免费的,一键下载、安装、管理,并且没有附加广告
游戏盒子里游戏资源丰富,更新很快。
不能了,我姐姐儿子以前玩游戏那个爸爸去哪儿也是的,一会一短信,扣了一百多,他还炫耀自己一个劲闯关了,笑死我了,现在游戏就这点不好,动不动提示购买这那的
转载请注明:氪金游戏网 » 资讯攻略 » 消灭星星是单机游戏吗知乎文章怎么写的的简单介绍
本文仅代表作者观点,不代表氪金游戏网立场。
本文系作者授权发表,未经许可,不得转载。
1条评论
这篇文章充满了正能量,激励我勇往直前。http://www.ghzszy.com/pdf_35.pdf