我知道做一个水平和垂直滚动游戏(像马里奥),在这个游戏类型,字符总是在相同的距离离用户。角色只在水平滚动器中向左和向右移动,在垂直滚动体中移动到上下移动。
但在2D游戏中,角色可以在场景中自由移动,比如图形冒险。
那么,我如何才能在地面上自由地移动角色的深度感呢?
在这个视频中可以看到一个例子:http://youtu.be/DbZZVbF8fZY?t=4m17s
谢谢你。
发布于 2015-02-04 14:20:00
我就是这样做的:
首先,想象一下,你正从上往下看你的场景。像这样设置你的坐标系统。所以你场景中的所有物体都有X和Y坐标。你所有的物体运动和检查(当字符撞到墙或什么的时候),计算是在2D世界中进行的。
现在,要画你的世界,如果你想要更简单的东西,没有一些等距透视3D看你只是先画你的背景图像,然后把你所有的物体排列到很远的地方,然后用那种方式画它们。偏离你的Y弦,以挤压运动区域一点。在Y上加上一些常量,将该区域向下移动。如果你的角色可以跳或飞(移动槽Y斧子),只需移动Y coord为一定数量。
但是如果你想让它更3D,你就必须做一些透视变换--用Y和一些常量来乘以你的X坐标(常数从1开始,然后调到最优值为止)。你也可以用Y coord做类似的事情,但不要认为像这样的冒险游戏需要它。
如果没有图像,这可能很难理解,但它实际上是非常简单的转换。
https://stackoverflow.com/questions/28316330
复制相似问题