在我试图创造的游戏中,玩家将能够向各个方向前进
我添加了一个单独的图像(1024x768 2d纹理)作为背景或地形。
现在,当玩家四处走动时,我想展示一些东西。
例如,让我们说一盏灯,当玩家移动足够时,他会看到灯。如果他回去,灯会消失,因为它不再是屏幕了
如果我不清楚,请考虑马里奥。当你走得更远时,会出现投币箱,如果你回去,它们就会消失。但背景总是保持不变
我想如果我在屏幕上产生我的所有精灵,但在1599,1422这样的位置它将是不可见的,因为屏幕只有1024x768,当玩家移动时,我会将该精灵的位置设置为1599-1,1422- 1等。这是一个很好的方法吗?
有更好的方法吗?
答案 0 :(得分:2)
有两种方法可以达到这个效果。
答案 1 :(得分:2)
你所描述的是Viewport,它描述了当前可见的“世界”的一部分。
您需要以某种方式定义“世界”的内容。这可以通过诸如场景图之类的数据结构来完成,但是对于您正在描述的简单2D环境,您可以将对象存储在数组中。您需要绑定方向键以更改视口的坐标(如果您希望它们保持居中,则需要更改您的角色)。
仅绘制当前可见的对象是个好主意。如果不知道您正在使用哪种语言或软件包,就很难对此进行评论。
答案 2 :(得分:0)
答案 3 :(得分:0)
完成基本滚动后,尝试实施一些视锥体剔除。这只是在屏幕上实际可见的绘制对象,并避免不必要的绘制无论如何都看不到的东西。
我更喜欢第2号解决方案(移动播放器和相机) - 这对我来说会更容易,但也许只是个人偏好。