这最后两个星期主要是为了使游戏更加稳定。 这意味着我要修复错误并实施一些核心改进,以使游戏的外观和感觉更好。
这是我修复的一些有趣的错误:
可能会爬上障碍物的球员
在某些情况下,有一个错误使播放器进入方块之上。 假设碰撞没有100%地起作用。

这里的问题是我没有考虑到可能同时有多个对象碰撞。 因此,每当我检测到一次碰撞结束时,我都只是删除了“碰撞标志”,该标志使玩家无法进入方块上方。
现在,此问题已解决,我们的播放器的行为也达到了预期:仅在没有障碍的区域中移动。
可以随时触摸方块即可移动方块的玩家
这也是一个有趣的。 事实证明,我们的播放器可以随时移动它碰到的任何块。 请允许我向您展示:

它的工作方式是,只有在按下“射击”按钮时才能移动直接触摸的块。
这又是一个带有标记的问题,标记是否应该移动块。 现在解决了🙂
使游戏像素完美
这是我上周做出的最重要的更改之一。 实施还花费了很多时间。 但是结果非常好,最重要的是,设计师也很高兴🙂
如您所见,游戏风格是像素艺术。 但是默认情况下,Unity尚未准备好以大分辨率处理像素画。 因此,我进行了一些更改,以避免出现半像素移动,并且尽管分辨率也始终看起来不错。
我在twitter中关注了这个线程(再次感谢@Davitsu!)来实现更改。 其中一些已经完成,但是其他一些(例如网格捕捉)已从中获取。
这是Unity中像素完美所需的更改的摘要:
- 从您支持的所有分辨率中禁用抗锯齿。
- 将纹理的“过滤器模式”设置为“ 点”(无过滤器) ,将“压缩率”设置为“ 无”
- 将精灵的单位像素(PPU)更改为图块大小
- 使用之前的设置,使用以下公式更改相机的地形尺寸以将1px匹配为1 scren px:
正交尺寸=垂直屏幕分辨率/ PPU / 2 - 您可以通过将Sprite Renderer放在子对象中,并在LateUpdate ()中附加一个计算该元素的脚本来捕捉网格 :
position.x =(Mathf.Round(parent.position.x * PPU)/ PPU)— parent.position.x;
position.y =(Mathf.Round(parent.position.y * PPU)/ PPU)— parent.position.y;
这就足以拥有一个漂亮的像素完美游戏。
除了在我的情况下不是! 我还必须更改生成级别的方式,因为位置计算是在不考虑上面设置的PPU的情况下进行的。
做出更改后,无论我尝试哪种分辨率,游戏看起来都很棒。 即使在全屏模式下!

我们终于有了一个玩家精灵!
如您在最后一张图片中看到的,我们终于有了我们的角色。 这是对其行走动画的测试(即将实施)

静态精灵已经存在,我认为它看起来非常好! 终于看起来游戏正在成形🙂
仍有许多事情要做,但是我们的节奏很好。 下次更新见!
