位置: 编程技术 - 正文
推荐整理分享Cocos2dx CrazyTetris 双线伪裁剪算面积 对于判断消除的思考(二),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
上一篇主要讲了我对裁剪消除算法的思考,这一篇的主题是计算单行覆盖面积,以此来确定是否达到了裁剪条件。
就像之前所说的,在该游戏中,基本方块都由四个小方块构成,四个小方块的尺寸均是*。因此游戏区域是宽可容纳个方块,高可容纳个方块。即*。每行的间距均是。
因此,现在的问题就是,如何判定在这个宽,高的区域内,方块所占的面积。如果能够计算出其面积,而这个区域的总面积为 * = ,那么就可以据此来判断是否满足消除条件。例如:面积 > 。
因此这里主要是讨论该套面积应当如何计算。
直接接上一篇。上一篇利用裁剪线将图形集合上下切割,而这里明显是要使用两条线,将图形进行上、中、下三片切割,然后根据切割结果计算中部的面积。如图:
其中红色区域就是要计算的面积。
这时,算法思想和单线裁剪还是很类的。这里由于分了三层,因此三层编码需要两位:上层()、中层()、下层()。
然后根据该编码进行裁剪,只保存中部裁剪结果,然后利用裁剪结果(点集)创建PhysicsShapePolygon对象,并用其getArea()方法获取面积即可。
这其中,虽然进行了裁剪算法,但是并没有真正实施裁剪,因此叫做伪裁剪算法。
实现代码如下:
认识AndEngine选自Android 2D游戏引擎AndEngine快速入门教程 认识AndEngine什么是AndEngine随着Android手机、平板的盛行,Android下的游戏也不断的变得火热。而对于游戏开发有兴趣的同学们,应该也想要学习开发游戏。
Cocos2dx3.2 Crazy Tetris 由于遮罩引起的部分手机白屏 上一章是说明使用ClipplingNode制作遮罩,以显示不规则图形。但是这样一直到Android端,却在部分手机中发生了问题。具体问题表现为:白屏,只有边界(
Cocos2dx3.2 Crazy Tetris update 定时更新 游戏逻辑处理 现在,对于游戏的基本准备都已经做好,之后需要考虑的,就是游戏逻辑的处理,主要考虑一下几个方面:1判断方块是否已经落下停止,并下落新的方
标签: Cocos2dx CrazyTetris 双线伪裁剪算面积 对于判断消除的思考(二)
本文链接地址:https://www.jiuchutong.com/biancheng/371291.html 转载请保留说明!友情链接: 武汉网站建设