3

宇宙シューティングゲームを作成する予定で、星が連続的に下に移動する背景が必要です。以下の私のコードを見ることができます。画像http://tinypic.com/r/9a8tj4/5

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)
x = 0
y = 0
w,h = background_size
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
    if(y > h):
        y = 0
    else:
        y += 5
    screen.blit(background,(x,y))
    pygame.display.flip()
    pygame.display.update()
    theClock.tick(10)
4

1 に答える 1

6

これが私がすることです:

背景画像を (0, 0) と (0,- img.height) で2 回ブリットして表面を下に移動し、どちらかが pos(0, img.heigth) にあるときに pos ( 0,- img.height) 再び。

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
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,(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)
于 2013-06-22T11:41:38.107 に答える