Итак, я делаю свои пуль в точку и путешествую дальше. Только его действие действительно действительно странно. Это похоже на то, что расположение 0,0 находится в верхнем левом углу, а не внизу слева.Перемещение объекта в положение с пикселями - libgdx - векторная математика
Это код:
float speed = 100;
Vector2 direction;
Vector2 thisPos = new Vector2(getX(), getY());
Vector2 mousePos;
public Bullet(){
super();
setSprite(sprite);
setX(0); setY(0);
float dx = Gdx.input.getX() - getX();
float dy = Gdx.input.getY() - getY();
mousePos = new Vector2(Gdx.input.getX(), Gdx.input.getY());
direction = new Vector2(dx, dy);
//sprite.setRotation(direction.angle(thisPos));
direction.nor();
}
public void update(){
Vector2 dirAd = new Vector2(direction);
thisPos.x += dirAd.x * speed * Gdx.graphics.getDeltaTime();
thisPos.y += dirAd.y * speed * Gdx.graphics.getDeltaTime();
setPosition(thisPos.x, thisPos.y);
super.update();
}
Я надеюсь, что кто-то может помочь мне, что я сделал неправильно с этим.
Да, но это для координат мыши. Спрайт думает, что внизу слева 0,0. Должно быть, это почему-то странно. EDIT: Исправлено. Просто сделал 720 - (остальное) для dy. – Martacus