我如何制作视差背景? C#Monogame?

时间:2015-07-28 19:03:14

标签: c# parallax monogame

我搜索了互联网上的所有内容,但我找不到为标题画面制作简单视差背景的方法。

1 个答案:

答案 0 :(得分:2)

通常,一种显示水平重复背景的方法,该背景应该适用于任何能够显示图像的库:

image is a background image.
image2 is a second copy of the background.

On update:
    // Move the background to the left.
    image.x -= PerUpdateDeltaX;
    // If the background is off the screen, move it back on.
    // You can use modulo/remainder to do this better.
    if (image.x < -image.width)
        image.x = image.width;
    // Put the second image to the right of the first.
    image2.x = image.x + image.width;

为了使这看起来更好,触摸的背景图像的边缘必须是无缝的。

然后,为了制作视差(在我看来有多个图层在3D中移动),只需添加更多内容:

  1. 透明度。
  2. 更多对重复背景图像,每对视差层一对。
  3. 每个图层的PerUpdateDeltaX个值不同。为了看起来不错,较高/较近的层应该比较低层移动得快。