Ich habe seit einigen Tagen kämpfen versucht, herauszufinden, wie man zum Beispiel eine Bildbewegung in kreisförmigen Weg zu machen. Ich habe andere Beiträge hier gesucht, aber ich kann es einfach nicht bekommen.Pygame sin, cos, tan caculating kreisförmige Bewegungspfad
Also wie verschiebe ich Bild in kreisförmigen Pfad. Mein Code bewegt nur mein Bild um 45 Grad und stoppt dann. Ich würde es brauchen, um den Kreis zu schließen und weiterzumachen.
Aktuelle Code:
import pygame
pygame.init()
screen = pygame.display.set_mode((400, 400))
CENTER = (200, 200)
RADIUS = 100
x = 0
y = 0
satelliteCenter = (CENTER[0]+RADIUS, CENTER[1])
run = 1
while run == 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = 0
pygame.quit()
mouse = pygame.mouse.get_pos()
vector = x-CENTER[0], y-CENTER[1]
x +=1
distance = (vector[0]**2 + vector[1]**2)**0.5
if distance > 0:
scalar = RADIUS/distance
satelliteCenter = (
int(round(CENTER[0] + vector[0]*scalar)),
int(round(CENTER[1] + vector[1]*scalar)))
screen.fill((255,255,255))
pygame.draw.circle(screen, (71,153,192), CENTER, RADIUS)
pygame.draw.circle(screen, (243,79,79), satelliteCenter, 16)
pygame.display.update()
Wenn Sie mit Vektoren nicht vertraut sind, gibt es einige gute Videos auf [khanacademy.org] (https://www.khanacademy.org/math/linear-algebra/vectors-and-spaces). – skrx
Auf Ihre ursprüngliche Antwort. Ist es möglich, die Geschwindigkeit zu ändern? – cmdtvt
Sicher, ich wählte nur 4 Grad ('direction.rotate_ip (4)') pro Frame beliebig. – skrx