1
私は数日間苦労して、例えば円形の経路で画像を動かす方法を見つけようとしています。私はここに他の記事を見ているが、私はそれを得ることができない。Pygame sin、cos、tan caculating circular movement path
どのようにして画像を円形経路で移動しますか?私のコードは画像を45度だけ動かして停止します。私はそれが完全な円になり、それを続けている必要があります。
現在のコード:
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()
あなたはベクトルに慣れていない場合は、[khanacademy.org](https://www.khanacademy.org/math/linear-algebra/vectors-and-spaces)にいくつかの良いビデオがあります。 – skrx
元の回答です。速度を変えることは可能ですか? – cmdtvt
もちろん、フレームごとに4度( 'direction.rotate_ip(4)')を任意に選択しました。 – skrx