Как создать эффект водоворота / вихря?
Я пытаюсь сделать эффект вихря на круговое тело, которое является датчиком. Я искал это, и все примеры, которые я ищу, находятся на C ++ или Objective C, и я, кажется, не очень хорошо их переводил.
когда мои объекты сталкиваются, он вызывает beginContact (..) и устанавливает флаг, чтобы я мог вызвать bodyToUpdate.applyForce (...);
public void beginContact(Contact contact) {
setColliding(true);
}
//updating collition every frame
public void act(){
if (colliding) {
ball.getBody().applyForce(....);
}
Как рассчитать величину силы, чтобы применить каждый кадр, чтобы сделать его вихрем?
Редактировать:
так что теперь у меня есть объект, идущий прямо к центру вихря, но нет "вращения"
public void act() {
if (colliding) {
ball.getBody().setLinearVelocity(0, 0);
ball.getBody().applyForce((portal.getBody().getPosition().x - ball.getBody().getPosition().x) * i,
(portal.getBody().getPosition().y - ball.getBody().getPosition().y) * i,
ball.getBody().getPosition().x, ball.getBody().getPosition().y, true);
i++;
} else
i = 10;
}