如何在python3(Pygame)中连续旋转图像?

2024-09-28 23:03:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图制作一个类似饼干点击器的游戏,我试图让中间的饼干旋转,但什么也没有发生:(.之前它只是从屏幕上旋转,但后来我删除了代码,因为我放弃了,但现在我做了其他事情,我现在有点需要旋转。(我刚开始2周,所以不要判断)这是我的代码:

import pygame, sys, time, random

pygame.init()

height = 650
width  = 800

cookies = 0
cps = 0

font = pygame.font.SysFont('Arial', 25)
clock = pygame.time.Clock()


cookie_surface = pygame.image.load('/Users/cameronbitter/Python/Game/cookie.png')
cookie_surface = pygame.transform.scale(cookie_surface, (275, 275))
cookie_rect = cookie_surface.get_rect(center = (width/2, height/2))

screen = pygame.display.set_mode((width, height))

auto_clicker = pygame.image.load('/Users/cameronbitter/Python/Game/mouse_cursor.png')
auto_clicker = pygame.transform.scale(auto_clicker, (480,360))
auto_clicker_rect = auto_clicker.get_rect(topleft = (450, -100))

rotation = 0

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.QUIT
            sys.exit()
        if event.type == pygame.KEYDOWN:
            cookies += 1
            time.sleep(0)

    screen.fill((0,0,0))





    cookies_text_surface_p1 = font.render("Cookies :", True, (255,255,255))
    cookies_text_surface_p2 = font.render(f"                {cookies}", True, (255,255,255))

    pygame.transform.rotate(cookie_surface, (rotation))

    if rotation >= 360:
        rotation = 0

    rotation += 1
    print(rotation)

    screen.blit(cookies_text_surface_p1,(10, 10))
    screen.blit(cookies_text_surface_p2,(10, 11))
    screen.blit(cookie_surface, (cookie_rect))
    screen.blit(auto_clicker, (auto_clicker_rect))

    pygame.display.flip()
    clock.tick(60)

Tags: textrecteventautotimecookiescreensurface
1条回答
网友
1楼 · 发布于 2024-09-28 23:03:58

^{}返回一个新的旋转的^{}对象。您必须^{}新曲面:

while True:
    # [...]

    rotated_cookie_surface = pygame.transform.rotate(cookie_surface, rotation)
    rotated_cookie_rect = rotated_cookie_surface.get_rect(center = cookie_rect.center)

    # [...]

    screen.blit(rotated_cookie_surface, rotated_cookie_rect)

    # [...]

How do I rotate an image around its center using Pygame?

相关问题 更多 >