Pygame - 背景图片连续滚动

方法:让背景图像分别在(0,0)和(0,-img.heigh)两个位置向下移动它们,当其中一个位于(0,img.heigth)位置时,再次将其放置在(0,-img.heigh)位置。

具体代码:

import pygame
import sys
import pygame.sprite as sprite

theClock = pygame.time.Clock()

# 载入图片
background = pygame.image.load('background.gif')

background_size = background.get_size()
background_rect = background.get_rect()
screen = pygame.display.set_mode(background_size)
w,h = background_size

# 背景1 初始位置
x, y = 0, 0
# 背景2 初始位置
x1, y1 = 0, -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,(x,y))
    screen.blit(background,(x1,y1))
    if y > h:
        y = -h
    if y1 > h:
        y1 = -h
    
    pygame.display.flip()
    pygame.display.update()
    theClock.tick(10)
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值