如何更改FORM窗口中的用户外观点

时间:2017-10-27 16:47:30

标签: c#

Stackoverflow的冲浪者,在我提出问题之前,我将解释问题的必要性。 我正在开发一个2D平台游戏来学习和试验游戏开发。

我要做的是构建一个大于FORM窗口边框限制的地图,我的播放器将位于FORM窗口的中间,让剩下的对象围绕它移动。

在我看来,游戏的构建方式是它们不移动物体并改变位置,也许物体保持在自己的位置,玩家改变其位置“并且相机跟随它”

我在互联网上搜索了如何去做,不幸的是没有找到答案,我发现只是在团结环境中,这不适合我的情况。

您可以查看这些图片以了解我想要达到的结果:

我们使用userlook(x,y)并假设在调用它时将此点放在FORM窗口的中间。

现在我将userlook和player.position更改为:

x = 100
y = -50

结果将类似于:

有什么方法可以做类似于我在这里做的事情吗?

1 个答案:

答案 0 :(得分:0)

它已经很老了,但也许仍然可以帮助一些人。 我试图在这里达到的目标是一种可以四处移动并按照自己的帐户拍摄相机的方式。 诀窍是,当我们四处移动时,玩家仍将停留在屏幕中间,其他所有障碍物将根据他的位置改变。

因此,基本上,您需要创建一个类,该类将是Camera / Viewport控制器或您要为其指定的任何其他名称。

将坐标设置为类

class Camera {

public static int x = 0, y = 0;

public static void setX(int set) {
this.x = set;
}

public static void setY(int set) {
this.y = set;
}

public static int getX() {
return this.x;
}

public static int getY() {
return this.y;
}

}

现在对于要在地图上更新X位置的障碍物,您需要将位置设置为X + Camera.x

主要角色/对象不应受相机影响,也不应移动。 您所设置的控制器应仅更改我们创建的摄像机。

希望它能给您带来一些曙光。开始时我听不懂。