CSV和重力战斗

最近两个星期,我一直在与物理学作斗争。 总的来说,这一切都是关于碰撞,重力,速度以及我在学校时必须知道的其他内容(我以为我做到了,我多么天真!)

但公平地说,在此之前,我已经为基于CSV的关卡地图编写了加载器。 也有一些惊喜。 谁知道当Corona读取文件时,它想要Windows风格的换行符,而不是Mac的换行符? 因此,如果要解析CSV,则需要将其实际保存为Windows格式。 我现在知道了! 我只花了3个小时就解决了!

现在,我有以下流程:

  1. 介绍之后,请初始化游戏加载。
  2. 此时没有任何保存,因此我只找到一个act1游戏文件,它指向其CSV级别映射。
  3. 然后,解析文件并逐个单元读取它。 如果像元值指向可观察的物体,请加载该障碍物的图像,然后将具有此图像的物理对象添加到该级别。 此游戏中没有随机的关卡生成-您可以记住该关卡并通过以获得完美的分数(还没有分数,虽然是8分)

那是我与物理学相撞的时候,我们彼此不喜欢。 第一个问题是,如果您将关卡地图移动到某些坐标,但角色仍停留在0,0处,则Stop停止正确碰撞。 好的,我通过创建一个“相机”并给我的角色一个速度在关卡中移动来解决这个问题。

然后,一项毫无意义的工作开始了。 稍后我将谈论它毫无意义,但是一开始,我就下定决心要创建一个具有重力,速度,跳跃降落着陆和其他严重问题的“真实”物理学。 我为水平速度整理了一个简单的过渡,为跳跃添加了重力和垂直速度。 令人惊讶的是-它起作用了。 而且看起来糟透了。

别误会我的意思,我的所有图形在这一点上都很糟糕,但是我对这款游戏的最终“感觉”有一些想法,而逼真的跳跃轨迹对它不起作用。 这样,在花了几天时间增加物理知识之后,我不得不花更多的钱试图向引擎解释我需要它的物理知识,但实际上并不需要。

重力大部分被去除了。 物体的重力旋转已完全消除,因此角色不再翻转。 等等等等。 我想我可以听到Corona的开发人员在痛苦中大喊大叫-他们为使所有这些工作发挥了很大作用,而我只是把这些东西扔掉了。

结果,我的碰撞处理更加接近我想要的,但是动画看起来仍然很尴尬。 我需要在速度变化上做更多的工作,因此它会随着角色移动而变化。 否则,角色将继续用两只脚牢牢地放在地面上前进。 本周没有视频,因为我受不了这种效果,这让我大吃一惊。