求冰雪奇缘游戏宝石重力式下落算法是如何实现的,已知宝石数据是一个矩阵数组,并且布局的时候任意宝石的左上角和右上角格子不会都是障碍物,求高人指路,我没有想清楚是如何实现的。
box2d?

你玩一下就那个游戏就知道了
顶一下,继续求指教。
这个用不到物理引擎
我们假设一个简单的Demo
1.不判断消除
2.地表层只有普通地面,无地面和发射口3种状态
(也就是我在这里只判断宝石的下落填充)
我们需要一个地表层,和一个宝石层
分别放进2个8x8的矩阵数组里
1:发射口为空,对应位置填宝石
2:由下往上遍历宝石,如果该位置(没宝石&&是普通地面),这个位置从上面要宝石(如果上面(没宝石&&普通地面)跳过)
如果上面无地面,从左上右上要宝石 …(后面的判断类似)
3:给上面判断中找到的宝石播放移动动画,(有了出发点和目的地播动画总会把)
以上判断你可以在线程中每帧判断,也可以做个标记位,移动完静止后不做判断,等出现消除,或者有新元素加入才判断
以上 只是一个最简单的雏形只是为了解释怎么实现下落,不知道我表达的是否清楚。
当然实际做起来不会那么简单,这类游戏的难点主要在于消除的判断,以及一些额外的物件,比如墙体冰块绳子,还有道具 特殊宝石合成之类的。
如果没做过类似的游戏可以一步步来,慢慢摸索,不要一口吃成个大胖子
感谢分享,我的思路也是这样,就是在算法细节上还没有完全考虑清楚。