gpt4 book ai didi

Python3 PyGame 如何移动图像?

转载 作者:行者123 更新时间:2023-12-03 17:11:12 27 4
gpt4 key购买 nike

我尝试使用 .blit但是出现了一个问题,这里有一个截图来进一步解释我的问题:
随着我的鼠标移动,图像似乎在屏幕上被弄脏了
It just copies my image.
代码:

import pygame   
import keyboard
black = (0,0,0)
white = (255, 255, 255)

pygame.init()

screen = pygame.display.set_mode((600, 400))
screen.fill(black)
screen.convert()

icon = pygame.image.load('cross.png')
pygame.display.set_icon(icon)
pygame.display.set_caption('MouseLoc')
cross = pygame.image.load('cross.png')


running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT or keyboard.is_pressed(' '):
running = False

mx, my = pygame.mouse.get_pos()
screen.blit(cross, (mx-48, my-48))
print(my, mx)
pygame.display.update()

最佳答案

修复给定代码中的缩进,它将所有重要的东西放在 while 循环之外。
您还可以添加一个 def 语句,每次移动 Sprite 时都会重绘窗口:

def redraw_game_window():
screen.fill(black)
screen.blit(•••)
pygame.display.update()
并把它放在你的程序的末尾,在把所有 fill 放在一起之后和 blit def 语句中的语句:
redraw_game_window()
此语句将使您更容易在屏幕上 blit 更多项目,这将防止对象在屏幕上绘制,因为每次移动对象时都会更新屏幕。

关于Python3 PyGame 如何移动图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63198666/

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