Also mache ich meine Kugeln zu einem Punkt und reise weiter. Nur sein Handeln wirkt wirklich sehr komisch. Es ist so, als wenn man denkt, dass die 0,0-Position oben links statt links unten ist.Verschieben der Entität zu einem Ort mit Pixeln - libgdx - Vektormathematik
Dies ist der Code:
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();
}
Ich hoffe jemand kann mir helfen, was ich mit diesem falsch gemacht haben.
Ja, aber das ist für die Mauskoordinaten. Das Sprite denkt, dass links unten 0,0 ist. Deshalb muss es sich seltsam benehmen. EDIT: Fest .. nur 720 - (der Rest) für die dy. – Martacus