有没有办法用pygame用我自己的图片制作一个圆圈?

问题描述

您好,我想制作 pygame.circle 类型的图片(类似于 get_rect() 但圆形)。那是针对台球游戏并且能够正确移动它们,我认为它们会是圆圈。代码如下:

import pygame
import pyautogui

width,height = pyautogui.size()

pygame.init()
screen = pygame.display.set_mode(pyautogui.size())
pygame.display.set_caption('Billiard')
background_image = pygame.image.load("Table.png")
background_image =  pygame.transform.scale(background_image,pyautogui.size())
ball_1 = pygame.image.load("Ball_1.png")
ball_1 = pygame.transform.scale(ball_1,(65,65))
screen.blit(ball_1,[400,400])
clock = pygame.time.Clock()
screen.blit(background_image,[0,0])

running = True

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    
    pygame.display.flip()
    clock.tick(30)

我想把球做成圆圈 提前致谢

解决方法

创建一个透明的 pygame.Surface 对象并使用 pygame.draw.circle 在其上画一个圆圈:

radius = 20   # just for example
color = "red"

circle_surf = pygame.Surface((radius * 2,radius * 2),pygame.SRCALPHA)
pygame.draw.circle(circle_surf,color,(radius,radius),radius)