gpt4 book ai didi

python - 整个图像在屏幕上的移动

转载 作者:行者123 更新时间:2023-12-01 08:27:35 25 4
gpt4 key购买 nike

我无法在 pygame 中移动屏幕上的图像。

我尝试移动图像,但整个图像没有移动,但图像只是通过 KEYDOWN 扩展。

import sys
import pygame


def run_game():
"""An attempt to develop a simple game."""
pygame.init()
screen = pygame.display.set_mode((1200, 800))
pygame.display.set_caption("Rocket")
rocket_ship = pygame.image.load("images/alien_ship.bmp")
rec = rocket_ship.get_rect()
screen_rec = screen.get_rect()
rec.centerx = screen_rec.centerx
rec.bottom = screen_rec.bottom


while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
rec.centerx += 5
elif event.key == pygame.K_LEFT:
rec.centerx -= 5
screen.blit(rocket_ship, rec)
pygame.display.flip()


run_game()

最佳答案

当问题说“图像正在扩大”时 - 我相信这只是前一个图像未被删除的视觉假象。

如果行:

screen.fill( 0,0,0 )  # paint the background black

添加在循环的开头:

while True:
screen.fill( 0,0,0 ) # paint the background black
for event in pygame.event.get():

这将从屏幕上删除之前绘制的外星人。

处理此类事情的更好方法是使用 pyGame's built in sprites 。现在这看起来像是额外的工作,但将来会为您省去很多麻烦,因为涉及移动物体(以及检测碰撞等)的许多“杂务”已经由 pygame 的 Sprite 代码处理了。

关于python - 整个图像在屏幕上的移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54131065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com