So bin ich neu in Pygame und ich machte ein Programm, das einen Ball nach der Schwerkraft springen wird, und es funktioniert perfekt, aber jetzt möchte ich in der Lage sein, unendlich von ihnen zu machen, indem man einen erstellt wo auch immer ich klicke. Ich weiß, wie man die Koordinaten des Klicks erhält, aber ich weiß nicht, wie man mehrere Kreise erzeugt. Würde ich irgendwie eine Funktion oder eine Klasse benutzen? Hier ist mein Code, tut mir leid, wenn es ein bisschen unordentlich ist.Erstellen mehrerer Instanzen von springenden Ball pygame
import pygame,random,time
pygame.init()
infoObject = pygame.display.Info()
side = pygame.display.Info().current_h
side = side - ((1.0/12)*(pygame.display.Info().current_h))
side = int(side)
screen = pygame.display.set_mode([side, side])
pygame.display.set_caption("")
clock = pygame.time.Clock()
done = False
BLACK = (0,0,0)
WHITE = (255,255,255)
RED = (250,30,25)
GREEN = (25, 240, 25)
YELLOW = (250,240,25)
FPS = 60
x=100
y=100
t=0
r=10
direction=0
count = 0
def faller(x,y,color,size):
pygame.draw.circle(screen,color,(x,y),size,0)
def reverse():
global t,direction
if direction == 0:
direction = 1
t=t*4/5
elif direction == 1:
direction = 0
t=1
while not done:
clock.tick(FPS)
events = pygame.event.get()
screen.fill(BLACK)
for event in events:
if event.type == pygame.QUIT or (event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE):
done = True
if direction==0:
t+=1
y+=int((9.8/FPS)*t)
elif direction==1:
t-=1
y-=int((9.8/FPS)*t)
if t==0:
reverse()
if y+r>side:
y=side-r
faller(x,y,RED,r)
reverse()
else:
faller(x,y,RED,r)
if y==side-r:
count+=1
else:
count=0
if count>=3:
done = True
pygame.display.flip()
pygame.quit()
Ja, machen Sie sich bereit, viel zu lernen! : P – rtmh
[hier] (http://www.tutorialspoint.com/python/python_functions.htm) und [hier] (http://www.learnpython.org/en/Functions) und [hier] (https://docs.python.org/3/tutorial/controlflow.html#defining-functions) sind Ressourcen über Funktionen – rtmh
[hier] (https://docs.python.org/2/tutorial/classes.html) und [hier] (http://www.tutorialspoint.com/python/python_classes_objects.htm) und [hier] (https://www.codecademy.com/courses/python-intermediate-en-WL8e4/0/1?curriculum_id=4f89dab3d788890003000096) sind Websites über Klassen. Ich habe diese in ein paar Minuten googeln. Es ist eine gute Fähigkeit, die Sie in erster Linie nutzen sollten, wenn Sie programmieren lernen. Die meisten Informationen sind bereits da draußen; Die Fähigkeit lernt zu lernen. Viel Glück. – rtmh