我如何制作视差背景? C# 单人游戏?
How do i make a parallax background? C# Monogame?
我在互联网上搜索了所有内容,但找不到为我的标题屏幕制作简单视差背景的方法。
一般来说,显示水平重复背景的方法应该适用于任何能够显示图像的库:
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 中移动),只需添加一些东西:
- 透明度。
- 更多对重复背景图像,每一对视差层。
- 每一层的不同
PerUpdateDeltaX
值。为了看起来不错,higher/closer 层应该比低层移动得更快。
我在互联网上搜索了所有内容,但找不到为我的标题屏幕制作简单视差背景的方法。
一般来说,显示水平重复背景的方法应该适用于任何能够显示图像的库:
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 中移动),只需添加一些东西:
- 透明度。
- 更多对重复背景图像,每一对视差层。
- 每一层的不同
PerUpdateDeltaX
值。为了看起来不错,higher/closer 层应该比低层移动得更快。