vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
XNA Vektor im Winkel drehen 
Autor: marlene
Datum: 25.08.12 12:28

Hallo,

ich versuche mich ein wenig in der Spieleprogrammierung mit XNA, im 2D Bereich.
Zum Thema Vektoren findet man einiges, denoch habe ich hier ein kleines Verständnisproblem. Ich habe einen Ball(Sprite), dieser bewegt sich und prallt vom Bildschirmrand ab, dafür habe ich in der Update Methode diesen Code:

private float speedX = 5f;
private float speedY = 5f;
private int angle = 45;
 
// Randkollision           
if (Position.X <= 0) { speedX = speedX * -1; }
if (Position.X >= 600 - Texture.Width) { speedX = speedX * -1; }
if (Position.Y <= 0) { speedY = speedY * -1; }
if (Position.Y >= 800 - Texture.Height) { speedY = speedY * -1; }
Damit wird einfach der speed mit dem sich der Ball bewegt umgekehrt. Funktioniert auch gut.


Um den Ball zu bewegen benutze ich diesen Code:

position.X += speedX * (float)Math.Cos(MathHelper.ToRadians(angle));
position.Y += speedY * (float)Math.Sin(MathHelper.ToRadians(angle));
Wenn ich jetzt im Spielverlauf den winkel auf 10 verändere bekommt der Ball eine andere Flugrichtung(nach, schräg rechts unten).
Danach ändere ich den winkel auf z.B.: 90. Wenn ich jetzt den Winkel wieder auf 10 verändere dann bekommt er eine andere Richtung als beim ersten mal(nach, schräg links oben). Ich denke das, dass Problem auch an der Randkollision liegt da dort der speed umgekehrt wird.

Ich würde gerne wissen was ich dagegen tun kann? Denn so fliegt der Sprite 10 Grad in irgendeine Richtung.

Vielen Dank
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
XNA Vektor im Winkel drehen1.662marlene25.08.12 12:28
Re: XNA Vektor im Winkel drehen967Franki26.08.12 23:45

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel