Vb.net Xna可滚动视图

Vb.net Xna可滚动视图,vb.net,xna,Vb.net,Xna,如何制作可滚动地图。例如,我首选的后缓冲区是800x600,映射是2400x1800(大约3x3)。另外,如何处理键盘状态以滚动和行走。我知道大多数游戏都以玩家为中心,滚动世界。这种方法的问题在于角落。将有一个较大的不可移动区域。要制作可滚动地图,可以使用简单的矩形或视口(命名为摄影机): 通过更改camera.X和camera.Y值,您可以从绘制图像的位置调整原点,从而移动相机。例如,以下代码会将相机向右移动: Dim keyboardState As KeyboardState = Keyb

如何制作可滚动地图。例如,我首选的后缓冲区是800x600,映射是2400x1800(大约3x3)。另外,如何处理键盘状态以滚动和行走。我知道大多数游戏都以玩家为中心,滚动世界。这种方法的问题在于角落。将有一个较大的不可移动区域。

要制作可滚动地图,可以使用简单的矩形或视口(命名为摄影机):

通过更改camera.X和camera.Y值,您可以从绘制图像的位置调整原点,从而移动相机。例如,以下代码会将相机向右移动:

Dim keyboardState As KeyboardState = Keyboard.GetState()

If keyboardState.IsKeyDown(Keys.Right) Then
    camera.X += 1
End If
通过在按下相应按钮时增加字符位置X和Y坐标,可以非常类似地完成行走

让玩家保持在屏幕中央有点棘手。基本上,你想让角色始终处于屏幕中央,除非它和世界边缘的距离小于屏幕的一半。在这种情况下,停止移动摄影机并开始将角色从中心移动到所需的一侧

Dim keyboardState As KeyboardState = Keyboard.GetState()

If keyboardState.IsKeyDown(Keys.Right) Then
    camera.X += 1
End If