【问题标题】:side scrolling background (python) - not 100% working侧面滚动背景(python) - 不是 100% 工作
【发布时间】:2013-10-24 21:04:27
【问题描述】:

您好,我正在为我的游戏制作一个侧面滚动背景,这是我目前得到的:

import pygame
import sys
import pygame.sprite as sprite

theClock = pygame.time.Clock()
background = pygame.image.load('space.jpg')
background_size = background.get_size()
background_rect = background.get_rect()
screen = pygame.display.set_mode(background_size)
w,h = background_size
x = 0
y = 0
x1 = 0
y1 = -h
running = True
while running:
    screen.blit(background,background_rect)
    pygame.display.update()
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    y1 += 5
    y += 5
    screen.blit(background,(y,x))
    screen.blit(background,(y1,1))
    if y > h:
        y = -h
    if y1 > h:
        y1 = -h
    pygame.display.update()
    theClock.tick(25)
pygame.quit()

目前我得到一个闪烁的屏幕,运动图像向右移动,原始图像静止在上面闪烁,任何帮助将不胜感激 - 因为它适用于我的 a-level 计算课程 a 并试图实施一个功能喜欢他的游戏很长时间了....再次感谢您的帮助

【问题讨论】:

  • 您正在“更新”两次。删除第一个pygame.display.update()
  • 谢谢你,我怎样才能让它从右到左而不是它现在在做什么?谢谢
  • 什么是yy1?你在做视差滚动吗?如果是这样,他们使用的是相同的纹理,这让我很困惑。 -- 您可能会发现教程 21 和 21 很有用:lazyfoo's SDL -- 要向右滚动,您最终会从 x 中减去,以将初始偏移量向左移动。 -- 编辑:查看这个 pygame 演示:stackoverflow.com/a/14357169/341744
  • 在看了他们用 c++ 编写的教程之后,真的很遗憾,因为它看起来非常好,可以帮到我很大的忙,还有什么你知道的谢谢!
  • 我发现了这个: import pygame, sys from pygame.locals import * pygame.init() clock = pygame.time.Clock() screen = pygame.display.set_mode((600,400),0, 32) b1 = "c:\\back.jpg" back = pygame.image.load(b1).convert() back2 = pygame.image.load(b1).convert() x = 0 screenWidth = 600 while True:对于 pygame.event.get() 中的事件:如果 event.type == QUIT: pygame.quit() sys.exit() screen.blit(back, (x,0)) screen.blit(back2,(x- screenWidth,0)) x = x + 1 if x == screenWidth: x = 0 msElapsed = clock.tick(100) pygame.display.flip() 谢谢

标签: python background scroll pygame


【解决方案1】:

我在“游戏”中也遇到了视差效果。我建议你这样做:http://www.pygame.org/project-pyParallax-2623-.html

下载模块,运行和反汇编demo,非常容易理解和复制。 (提示:parallax.ParallaxSurface.add() 方法有第三个参数,你可以传递给它,它将为你适当地缩放你的图像。非常易于使用的模块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    • 1970-01-01
    • 1970-01-01
    • 2014-09-19
    • 2014-03-07
    相关资源
    最近更新 更多