Schüsse animieren - Vektor



  • Naja, du zeichnest doch die Kugel OnPaint , oder? Anfangs Kugel K = Spieler . Bei jedem Update K += \overrightarrow{SM} * f, wobei ff von mir aus 0.1 - je nachdem wie schnell das sich das Ding bewegen soll. Bis irgendwann was getroffen ist ( K >= Enemy ) oder das Spielfeld verlässt.



  • du zeichnest doch die Kugel OnPaint, oder?

    Ja das mache ich.
    Und bei mir ist es so das KugelX = SpielerX und KugelY = SpielerY ist.

    Aber wie soll ich sagen wie sich die X und Y Position erhöht.
    Der Computer weiß ja nicht was "SM" ist.

    Ich kann ja der Kugel immer nur einen neuen X und Y Wert zuweisen
    und nicht sagen mit welchem Vektor sie sich bewegen sollen.


  • Administrator

    Indem du den Vektor SM berechnest, speicherst und in einem regelmässigen Intervall anwendest.

    Ich frage mich allerdings, ob es so klug ist, wenn du bei deinem Wissensstand ein solchens Spiel programmieren möchtest. Mich beschleicht mehr und mehr das Gefühl, dass dich dieses Projekt völlig überfordert.

    Grüssli



  • Dravere schrieb:

    Indem du den Vektor SM berechnest, speicherst und in einem regelmässigen Intervall anwendest.

    Gibt es einen Datentyp Vektor in dem ich ihn Speichern kann?

    Ich frage mich allerdings, ob es so klug ist, wenn du bei deinem Wissensstand ein solchens Spiel programmieren möchtest. Mich beschleicht mehr und mehr das Gefühl, dass dich dieses Projekt völlig überfordert.

    Nein. Es gibt ein paar Sachen die mir Probleme bereitet haben, aber ansonsten komme ich gut voran.


  • Administrator

    Du hast die Qual der Wahl:
    PointF , Point , Size oder SizeF .

    Und alle 4 sind nicht wirklich praktisch. Size und SizeF haben immerhin Addition und Subraktion mit sich selbst implementiert. Point und PointF kann man jeweils nur um ein Size , bzw. SizeF , addieren oder subtrahieren. Dafür kann man Point und PointF direkt mit der Matrix Klasse verwenden.

    Die Überlegung liegt daher nahe, dass man hier eine eigene Vektor Struktur erstellt, welche implizit in PointF , bzw. Point , oder SizeF , bzw. Size , konvertiert werden kann.

    Ich würde es zudem mit den Gleitkommazahlen-Versionen (-F) versuchen. Kommastellen sind in Spielen des Öfteren praktisch 🙂

    Grüssli




  • Administrator

    D.J. schrieb:

    Und was ist mit
    http://msdn.microsoft.com/de-de/library/system.windows.vector.aspx

    Ist für WPF gedacht. Aber gut, die WindowsBase.dll sollte auf jedem Computer mit .Net 3.0 oder höher sowieso vorhanden sein und daher macht es nichts aus, wenn du die noch dazulinkst. Falls du Matrizen verwendest, solltest du dann aber die Matrix Klasse aus WPF nehmen. Sonst musst du für alle Operationen immer hin und her konvertieren.

    Falls du auch .Net vor 3.0 unterstützen möchtest, geht das allerdings nicht.

    Grüssli



  • Hm ich bekomms einfach nicht hin...


  • Administrator

    D.J. schrieb:

    Hm ich bekomms einfach nicht hin...

    Das ist blöd. Vielleicht solltest du dich doch zuerst mit einfacherem beschäftigen? 😉

    Oder lies dich zumindest mal in die Vektorgeometrie ein. Die Wikipedia mit fortführenden Links ist ein möglicher Einstiegspunkt, welcher aber womöglich auch etwas steinig ist. Vielleicht wäre daher ein Buch zur Spieleprogrammierung nicht schlecht. Ich kann dir allerdings keine Empfehlungen für die Spieleprogrammierung im Bereich von C# geben, da ich nur welche für C++ kenne.

    Diese C# Bücher werden dann aber höchstwahrscheinlich auch XNA einsetzen und nicht WinForms 😉

    Du könntest drüben im Forum zur Spieleprogrammierung mal nach entsprechenden Bücher für die Spieleprogrammierung unter C# fragen. Mach dich allerdings auf kritische Rückfragen gefasst.

    Grüssli



  • Vielleicht wäre daher ein Buch zur Spieleprogrammierung nicht schlecht. Ich kann dir allerdings keine Empfehlungen für die Spieleprogrammierung im Bereich von C# geben, da ich nur welche für C++ kenne.

    Ich denke ich schau mal was sich für XNA finden lässt.
    Das soll ja eigentlich die Hauptsprache für Spiele aller Art sein.

    Wenns dich vielleicht interessiert.
    Das ist das Spiel das ich versucht habe nachzumachen 😉

    http://www.youtube.com/watch?v=R8VjUpQjVBc&feature=relmfu


Anmelden zum Antworten