Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

MK3E

Frischling

  • »MK3E« ist der Autor dieses Themas

Beiträge: 48

Beruf: Schüler

  • Private Nachricht senden

1

09.10.2014, 20:33

C# Picturebox Verschieben richtig Programmieren

Hallo,
ich bin gerade dabei ein Kleines spiel zu schreiben. Dabei Habe ich eine Spielertextur in einer Picturebox. wenn ich allerdings Diesen spieler Bewege mittels Tasten bewege, kostet dies sehr viel CPU last,
kann ich das Irgendwie mithilfe eines DLLimports(Wenn welche Dll muss ich importieren) oder anders elegant und vor allem mit Guter(Besserer) performance Lösen ?

C#-Quelltext

1
2
//So Ungefär natürlich Cleancode und mit WASD aber für das Grundprinzip
this.PicBoxPlayer.location = new Point (this.PicBoxPlayer.location.X -5, this.PicBoxPlayer.location.Y);


Vielen Dank schonmal , und einen schönen Abend euch
Coder aus Leidenschaft

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

09.10.2014, 22:04

Das was du vor hast macht man normal anders. Windows Forms sind eigentlich für "normale" Anwendungen gedacht. Mit normalen Anwendungen meine ich jetzt Anwendungen mit normaler grafischer Oberfläche aber ohne große Animationen etc so wie man es bei Spielen benötigt. Man kann zwar auch hier teilweise Animieren und viel Zeugs anstellen, aber für Spiele ist das ganze eigentlich nicht gedacht. Was du machen solltest wäre dir ein passendes Framework bzw eine passende Engine zu nehmen und damit zu arbeiten. Da du mit C# arbeitest nenne ich einfach mal ein paar die du dir angucken könntest. Am Ende reicht natürlich eine davon.
XNA, MonoGame, SFML.Net, SDL.Net
Dabei ist XNA von Microsoft selbst, wird aber mittlerweile nicht mehr weiter entwickelt. Schlimm ist das nicht, arbeiten kannst du damit immer noch sehr gut. Die Einarbeitung ist nicht zu schwer und es gibt einige Hilfestellungen im Internet. Bei MonoGame handelt es sich um einen Nachbau von XNA. Ich glaube ursprünglich gedacht war es XNA Spiele auch für Linux, Mac etc compilieren zu können. Unter Windows funktioniert das ganze natürlich auch genau so. Wird glaube ich auch noch weiter entwickelt. Wäre also im Prinzip eine gute Alternative zu XNA. SFML.Net ist ein Wrapper der Bibliothek SFML. Eigentlich ist SFML für C++ gedacht. Mit SFML.Net kannst du dann aber mit C# entwickeln. Die meisten Quellen dazu werden wohl eher in C++ sein, heißt wenn du dir Tutorials oder Beispielcode anguckst wird der Code meistens in C++ sein und du musst diesen dann passend zu C# umwandeln/umformen/umschreiben. An sich ist das gut machbar aber je nachdem wie viel Erfahrung du hat bzw nicht hast kann das ein wenig tricky werden. Das selbe gilt für SDL.Net wobei die Bibliothek ursprünglich für C geschrieben (auch in C geschrieben) wurde. SDL kann man auch wieder mit C++ benutzen und für C# gibt es dann den Wrapper SDL.Net. Ich würde zum rein kommen einfach mal XNA nehmen und damit experimentieren. Dazu lege ich dir mal diese Seite ans Herz. Da sind einige Tutorials zu C# und verschiedenen XNA Themen. Da ist sicherlich einiges interessantes für dich dabei.
Von Windows Forms sowie von WPF würde ich für Spiele aber erst mal absehen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“