How to draw a circle in PyGame?
51,265
Solution 1
You've mistyped the name of the function. The correct name is pygame.draw.circle.
def drawCircle():
pos=getPos()
pygame.draw.circle(screen, BLUE, pos, 20) # Here <<<
Solution 2
Here is how you can draw a circle in pygame;
import pygame
pygame.init()
screen = pygame.display.set_mode((x, y)) #x and y are height and width
pygame.draw.circle(screen, (r,g,b), (x, y), R, w) #(r, g, b) is color, (x, y) is center, R is radius and w is the thickness of the circle border.
Solution 3
Here is how you can draw a circle properly
import pygame
window = pygame.display.set_mode((500,500))
red = (200,0,0)
circleX = 100
circleY = 100
radius = 10
active = True
while active:
for event in pygame.event.get():
if event.type == pygame.QUIT:
active = False
pygame.draw.circle(window,red,(circleX,circleY),radius) # DRAW CIRCLE
pygame.display.update()
Solution 4
Mainter a counter for the number of circles you have drawn and write the number with the co-ordinates same as the centre of the circle. Also the command is pygame.draw.circle and not pygame.draw.circl
Author by
Admin
Updated on February 17, 2022Comments
-
Admin over 2 years
Hi I am having a problem with drawing a circle
ERROR: module object has no attribute 'circle'
. what am I doing wrong?And also how can I put numbers in circles?
For example: (first click is circle with 0 second is circle with 1 and so on)
import pygame WHITE = (255, 255, 255) BLUE = ( 0, 0, 255) GREEN = ( 0, 255, 0) RED = (255, 0, 0) TEXTCOLOR = ( 0, 0, 0) (width, height) = (200, 300) running = True def main(): global running, screen pygame.init() screen = pygame.display.set_mode((width, height)) pygame.display.set_caption("TUFF") screen.fill(background_color) pygame.display.update() while running: ev = pygame.event.get() for event in ev: if event.type == pygame.MOUSEBUTTONUP: drawCircle() pygame.display.update() if event.type == pygame.QUIT: running = False def getPos(): pos = pygame.mouse.get_pos() return (pos) def drawCircle(): pos=getPos() pygame.draw.circle(screen, BLUE, pos, 20) if __name__ == '__main__': main()