Share via


XNA-Sample: MoonTaxi (Teil 1)

Hallo lieber Leser dieses Blogs. Bedingt durch den Wechsel meines Arbeitgebers wurde dieser Blog inzwischen eingestellt und ich habe leider keine Chance, die Inhalte auf dem aktuellen Stand zu halten. Dank der hohen Nachfrage des XNA Tutorials, habe ich diesen Beitrag auf meinen neuen Blog umgezogen. Dort stehen dann auch die notwendigen Downloads zum Sourcecode zur Verfügung. Ich entschuldige mich für diese Weiterleitung, hoffe aber trotzdem auf größtmöglichen Spaß.

Das Tutorial befindet sich jetzt auf https://blog.tomwendel.net

Direkte Links zum MoonTaxi XNA Tutorial:

Comments

  • Anonymous
    April 21, 2010
    Sehr schönes Tutorial, danke dafür! Werde ich heute noch ausprobieren! Freue mich schon auf die nächsten Teile!

  • Anonymous
    June 03, 2010
    absolut der hammer dein Tutorial. danke dir vielmals für deine Mühe und deine super Erklärungen. werde sofort loslegen mit deinem Spiel

  • Anonymous
    July 23, 2010
    es ist gut aber ich kann irgend wie dieses moon taxi nict finde

  • Anonymous
    November 04, 2010
    Ich stimme zu. Ich habe den ersten Teil gerade ohne Vorkentnisse nachprogrammiert und sofort nachvollzogen. Aber eines stört mich: Die Gravitation wirkt sich nur auf die Y-Achse aus. Da mein mathematisches Wissen bereits sehr eingestaubt ist, würde ich mich freuen, wenn du dazu schreiben könntest, wie man das Taxi mathematisch korrekt auf der X-Achse durch Gravitation abbremsen lassen kann.

  • Anonymous
    November 04, 2010
    Hallo Nepochal. Die Gravitation wirkt nun leider nur nach unten, daher nur die Y-Achse. Was du vielleicht meinst ist die Dämpfung durch den Luftwiderstand? Also dass das Fahrzeug auch wieder langsamer wird, wenn du nichts tust? Das ist auch nicht so schwer. Was dabei physikalisch passiert ist, dass das Fahrzeug vom Luftwiederstand kontinuierlich langsamer wird. Dabei ist die Dämpfung prozentual und nicht linear. Das Fahrzeug verliert mehr Geschwindigkeit, je schneller das ist. Um es in Zahlen auszudrücken: Das Taxi wird pro Sekunde vielleicht um 10% langsamer. Am besten realisierst du das, indem du nach der ganzen Geschwindigkeitsberechnung einfach x Prozent pro Sekunde abziehst. // Geschwindigkeitsänderung auf das Taxi anwenden taxi.Speed = new Vector2(taxi.Speed.X + deltaX, taxi.Speed.Y + deltaY); taxi.Speed *= 0.9 * (float)gameTime.ElapsedGameTime.TotalSeconds; Etwa so. Aber vorsicht. Ich hab das jetzt nicht getestet.

  • Anonymous
    November 07, 2010
    The comment has been removed

  • Anonymous
    November 28, 2010
    The comment has been removed

  • Anonymous
    November 30, 2010
    Content.Load<Texture>("taxi") prüft auf den Asset Name. Zusätzlich kann man noch einen Pfad angeben, sollten die Assets in Ordnern angeordnet ist. Der Asset Name wird erstmal autogeneriert aus dem Dateinamen (Vorsicht! Groß/Kleinschreibung beachten), kann aber über die Eigenschaften des Assets geändert werden.

  • Anonymous
    March 17, 2011
    The comment has been removed

  • Anonymous
    April 07, 2011
    Super sache! Mache gerade eine Ausbildung als Anwendungsentwickler und mache privat sehr viel mit C#. Habe lange nach einem ausführlichen Tutorial gesucht  und bin jetzt zum glück fündig geworden! Top sache ^^

  • Anonymous
    April 07, 2011
    Vielen Dank!!! Ich arbeite auch schon an einer Fortsetzung. so stay tuned...

  • Anonymous
    April 20, 2011
    Vielen Dank! Und mach bitte bitte weitere Tuts. Ich weiß, man kann sowas nur vollständig beherrschen, wenn man einfach alles einzeln selber ausprobiert und sich informiert etc.pp., aber evtl kannst du ja auch weiterführendes, egal was(Buch, Seite..), empfehlen?

  • Anonymous
    May 04, 2011
    Hallo, super Tutorial, vielen vielen Dank dafür :). Ich hoffe wirklich es war nicht das letzte ;). Leider habe ich jetzt ein kleines Problem, und das beginnt schon bei der ersten Variablendeklarierung: Ich benutze das Visual Studio 2010 Express für Win Mobile und XNA 4.0. Wenn ich jetzt das Taxi als variable initialisieren will: taxiTexture = Content.Load<Texture2D>("Taxi"); bekomm ich folgende Fehlermeldung: The name 'taxiTexture' does not exist in the current context Leider kann ich den Grund für die Fehlermeldung nicht finden, was mach ich falsch? Kann es an XNA 4.0 liegen? Ich hoffe Sie können mir helfen. mfg

  • Anonymous
    May 08, 2011
    The comment has been removed

  • Anonymous
    May 31, 2011
    Wo finde ich dein demo project und die resoucen bzw. bilder für das game??

  • Anonymous
    June 01, 2011
    Hallo Steve, am Ende jedes Artikels gibt es einen Link "Quellcode Teil x". Da würde ich es als erstes versuchen. Cheers Tom

  • Anonymous
    July 03, 2011
    The comment has been removed

  • Anonymous
    July 03, 2011
    Moinsen. ich mache mein Zeug normalerweise mit Paint.NET (www.paint.net).

  • Anonymous
    August 28, 2011
    sehr schönes Tutorial danke dafür !!

  • Anonymous
    February 07, 2012
    Hallo, sehr schönes tutorial, führt einen richtig gut ein. Nur noch einen Verbesserungsvorschlag: Ich würde das so machen die Bewegung mit der Bewegungsgleichung lösen: public void Bewegen(Microsoft.Xna.Framework.GameTime gametime,float powerX,float powerY)        {            Vector2 power = new Vector2(powerX * POWER, powerY * POWER);            // Gravitation            Speed.Y = Speed.Y + (float)(GRAVITY * gametime.ElapsedGameTime.TotalSeconds);            Position.Y = Position.Y + Speed.Y   * (float)gametime.ElapsedGameTime.TotalSeconds + (float)(GRAVITY * Math.Pow(gametime.ElapsedGameTime.TotalSeconds, 2) / 2);            //Power            Speed = Speed + (power * (float)gametime.ElapsedGameTime.TotalSeconds);            Position = Position + Speed * (float)gametime.ElapsedGameTime.TotalSeconds + Speed * (power * (float)Math.Pow(gametime.ElapsedGameTime.TotalSeconds,2))/2;        }

  • Anonymous
    June 25, 2012
    Hallo Herr Wendel, ich möchte gerne die zeit wenn man die taste loslässt bis zum stoppen des objekts verkürzen bzw es direkt zum stehen zu bringen. Wie genau geht das? MfG Marco

  • Anonymous
    October 17, 2012
    The comment has been removed

  • Anonymous
    November 10, 2012
    Tolles Tutorial, hat mir sehr weitergeholfen! Finde ich sogar besser als das Buch, dass ich gerade über XNA lese ("Spieleprogrammierung mit dem XNA Framework") Ich hoffe es kommt noch mehr!

  • Anonymous
    December 28, 2012
    The comment has been removed

  • Anonymous
    December 29, 2012
    Hallo Herr Wendel, können Sie bitte den Quellcode noch einmal zur Verfügung stellen - SkyDrive meldet, dass die Dateien nicht mehr vorhanden wären. Vielen Dank!