Sharpex2D 1.3.0 | 2D Game Framework

    • Beta
    • Open Source

    Es gibt 388 Antworten in diesem Thema. Der letzte Beitrag () ist von 3Angle.

      Letztens hatte ich mich nochmal damit befasst (aus Wiederholungsgründen) und da zitiere ich Folgendes aus den Quellen:
      Ein Vektor ist eine Liste von Zahlen, welche zu einem mathematischen Objekt zusammengefasst werden kann.

      EDIT:
      Hab nu die Enum usw entfernt und ne neue Eigenschaft im Player beigepackt:

      C#-Quellcode

      1. public Vector2 Movement { get; set; }


      Die Update Methode erstmal so angepasst:
      Spoiler anzeigen

      C#-Quellcode

      1. public void Update(GameTime gameTime)
      2. {
      3. Position += Movement;
      4. _spriteSheet.Update(gameTime);
      5. }


      Uuund im Maingame.UpdateInput:
      Spoiler anzeigen

      C#-Quellcode

      1. float x = 0, y = 0;
      2. if (_newKeyboardState.IsKeyDown(Sharpex2D.Input.Keys.A))
      3. {
      4. x = -5;
      5. }
      6. else if (_newKeyboardState.IsKeyDown(Sharpex2D.Input.Keys.D))
      7. {
      8. x = 5;
      9. }
      10. if (_newKeyboardState.IsKeyDown(Sharpex2D.Input.Keys.W))
      11. {
      12. y = -5;
      13. }
      14. else if (_newKeyboardState.IsKeyDown(Sharpex2D.Input.Keys.S))
      15. {
      16. y = 5;
      17. }
      18. _player.Movement = new Vector2(x,y);


      Als nächstes grübel ich dann über die korrekte Einbindung der Formel/n oben.
      Polling is trolling!

      Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Rootbob91“ ()

      Nenne das Teil mal Velocity und arbeite da nicht mit Variablen rum, sondern initialisiere das Teil direkt mit einer Vector2-Instanz.
      Dann, wie gesagt, mach das mit der GameTime und implementiere die Formel von oben. Also im Prinzip das jetzige, nur noch mit der Zeit multipliziert.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      So?

      C#-Quellcode

      1. Position += new Vector2(Velocity.X * gameTime.ElapsedGameTime, Velocity.Y * gameTime.ElapsedGameTime);

      Sorry, dass ich mich ggf. dämlich anstelle, aber die Welt da is komplett neu für mich xD..
      Polling is trolling!

      Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
      Jaa, Sharpex2D überlädt die Operatoren, das reicht also 1-mal. ;)
      Aber dann passt das soweit, jo.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      Da ich Probleme beim Aufsetzen eines neuen Projektes hatte und mich sowieso besser mit Beispielcode einarbeiten konnte (was auch soweit gut klappte), hatte ich mir das aktuelle Flying Bird Sample geladen und dann dort alles umgebaut wie ichs brauchte.

      Dort sind die Dateien (mit Versionierung?) drin. Ist das hier die Version 1.2.3?

      PS: Gleichzeitig arbeite ich auch n bissl mit Java um zu schauen wie es da aussieht mit der Spieleentwicklung.
      Bilder
      • Unbenannt.png

        6,17 kB, 258×238, 95 mal angesehen
      Polling is trolling!

      Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
      Sieht nach 1.2.3 aus, du könntest in deinen Debug Ordner mal die Eigenschaften von Sharpex2D.dll aufrufen, dort müsste die Dateiversion drin stehen.

      Es gab auf jeden Fall einen Fix für das Verhalten.. Ich würde dir empfehlen erstmal damit zu leben und dann auf Sharpex2D 2.1.x wenn es raus kommt. Dort ist das Problem auf jeden Fall beseitigt.
      Aso oke, hast du schon ne Ahnung wann das ungefähr sein wird? Oder hab ich nicht die Möglichkeit einfach vorher zu upgraden (auf > 1.3.0, oder muss dafür n neues Projekt her?).
      Sieht aber nach 1.2.3.0 aus:
      Bilder
      • Unbenannt2.png

        8,27 kB, 320×360, 101 mal angesehen
      Polling is trolling!

      Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
      Nein keine Ahnung, gibt noch viele Punkte die ich abarbeiten muss. Du kannst jederzeit updaten, in der Github Repo kannst du verschiedene Branches (Versionen wenn man es so will) auswählen, das lädst du runter kompilierst und nimmst dann die Dll davon. Falls du das machst müsstest du aber die ganzen Verweise von Nuget löschen. Ansonsten wird das schwierige wohl eher sein den Code an die neue Version anzupassen.
      Ist das Tutorial denn im Startpost aktuell? Dann versuch ich nochmal eins neu aufzusetzen. Weil so wie es jetzt aussieht hab ichs auch soweit mit GDI hinbekommen^^.. Wollte nu aber endlich davon weg und mal die Vorzüge von DirectX genießen. Ich bleib zwar erstmal im 2-2.5D Raum, aber bin dann halt doch der Ultraflüssig-FPS-Fanatiker xD
      Polling is trolling!

      Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
      Hi,

      ich habe gerade die Arbeiten an einer VS Extension abgeschlossen welche Projekt Templates für VB und C#, Item Templates und eine ContentPipeline Integration bietet. Dadurch wird das arbeiten (vorallem das content building) erheblich vereinfacht. Ansonsten fehlt nun nicht mehr viel bis zur neuen Version ;).
      Bilder
      • ExxtrgLkrH5c.png

        30,02 kB, 799×596, 109 mal angesehen
      • DBFSIFRraEu1.png

        8,97 kB, 1.531×197, 92 mal angesehen

      ThuCommix schrieb:

      Ansonsten fehlt nun nicht mehr viel bis zur neuen Version ;).

      Endlich. :)! Auf jeden Fall gute Arbeit, die Du da leistest und ich freue mich wirklich schon.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      Wer lesen kann ist klar im Vorteil: Kompiliers dir selbst.
      "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

      Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
      Moin,

      ich wollte mir das Integration Package mal angucken, bekomme es aber leider nicht compiled. VS kann keine der angegebenen Referenzen finden, obwohl nuget alles fein säuberlich runtergeladen und in den packages/ Subdir geschoben hat. Ein Hinzufügen des Pfades in den Projektsettings hat nicht geholfen, ebenso wenig wie ein manuelles Löschen und hinzufügen der Referenzen. VS sagt dazu folgendes:



      der angegebene Link verweist nur auf die Startseite der NuGet-docs -.-