Im пытается сделать эффект вихря на Тело круга, которое является датчиком. Я искал это, и все примеры, которые я ищу, находятся на 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(....);
}
Как рассчитать величину силы для применения каждого кадра, чтобы сделать ее вихрем?
Edit:
так я теперь объект идти прямо к центру вихря, но не «раскрутить»
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;
}
Также вы можете использовать удобный метод 'Body # applyForceToCenter()'. – kajacx