gpt4 book ai didi

python - 在pygame中移动一个矩形

转载 作者:太空宇宙 更新时间:2023-11-04 11:07:11 25 4
gpt4 key购买 nike

我的类(class)

class head:
def __init__(self, x, y, width, height):
self.x = x
self.y = y
self.width = width
self.height = height
self.change_x = 0
self.change_y = 0

def move_right(self):
self.change_x += 10
self.x += self.change_x
self.y += self.change_y

def draw(self):
pygame.draw.rect(screen, black,(self.x, self.y, self.width,
self.height))
pygame.display.update()

运动

FPS = 30
clock.tick(FPS)
screen.fill(white)
snake = head(600, 300, 15, 15)
snake.draw()
while True:

for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()

if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
snake.move_right()

我想让它移动我使用“pygame.draw.rect”绘制的矩形。我尝试运行它在这里和那里制作几个 twerks 但无法移动它。提前致谢。

最佳答案

更改您的无限循环,使其包括屏幕的填充以及蛇的绘制。否则它只会被绘制一次。最后,调用 pygame.display.update()

while True:
screen.fill(white)
snake.draw()

for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()

if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
snake.move_right()
pygame.display.update()

另请注意,这部分代码做了一些奇怪的事情:

self.change_x += 10
self.x += self.change_x
self.y += self.change_y

每次您按下右键时都会调用此方法。因此,添加到 self.x 的值会随着每次按下而递增。这最终导致蛇的跳跃长度增加。

关于python - 在pygame中移动一个矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59164855/

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