Wie löse ich das folgende Problem in csharp am elegantesten?

... komplette Frage anzeigen

2 Antworten

Erklär mal gescheit was du jetzt eigentlich willst. Das ist grammatikalisch so falsch, dass man den Sinn nur erahnen kann.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von BENNIBOZz3352
27.02.2016, 20:03

also ich habe punkte die sich über ein spielfeld von links nach rechts bewegen. einen davon steuert man selbst.man soll schießen können auf andere punkte.meine lösungs Möglichkeit wäre ein unsichtbares panel mit dem punkt wandern zu lassen,also wenn man den punkt steuert sich das panel genauso mitbewegt.wenn dann auf schuss gedrückt wird soll dieses panel sichtbar werden und fliegen also jenachdem ob auf schuss nachoben oder schuss nach unten gedrückt wird die entsprechende richtung.und falls das panel dann einen punkt trifft (mit der if abfrage if panel location=location vom punkt )soll der punkt nichtmehr da sein.aber da das sehr umständlich ist und man verdammt viele panels erzeugen muss,gibt es dich sicher noch einfachere/bessere lösungen für dieses problem

0
Kommentar von BENNIBOZz3352
27.02.2016, 20:13

und wie macht man das? ein objekt beim schuss erzeugen?

0
Kommentar von BENNIBOZz3352
28.02.2016, 06:40

aber mit welchem befehl erzeugt man solch ein objekt?

0
Kommentar von BENNIBOZz3352
28.02.2016, 08:36

nein.nicht unity in visual studio.gibt es irgendeinen befehl ider eine methode z.b. Buttonshootup_click() create.new.panel(oder viereck oder was auch immer) gibt es solch einen befehl oä. ? wie würdest du das machen???

0

Wenn ich mir so deine Fragen anschaue, dann programmiere kein Spiel, sondern lerne deine Programmiersprache. Du versuchst (warum auch immer) jedes Problem mit einem Panel zu lösen - das ist echt schräg.

Vorallem Spiele sind deutlich schwieriger als übliche Desktop-Anwendungen, weil diese häufig andere Techniken, Denkweisen und vorallem objektorientierte Programmierung erfordern. Letzteres ist bei Spielen besonders wichtig.

Um aber noch auf deine Frage einzugehen: klug wäre es, wenn du alles über ein einziges Steuerelement abwickelst. Du erzeugst dir ein UserControl und arbeitest hauptsächlich mit der OnPaint-Methode, d.h. du erledigst alle Darstellungen über GDI+. Dann brauchst du dich auch nicht mit der Erzeugung irgendwelcher resourcenfressender Steuerelemente befassen, die eigentlich nur einen farbigen Punkt darstellen sollen. Du zeichnest dann deine beiden Spieler an ihren Positionen und zeichnest dann dein Geschoss.

Die Positionen werden verändert, wenn der Benutzer Tastatureingaben tätigt, dafür könntest du die OnKeyDown-Methode überschreiben und darauf reagieren. Für das Schießen gilt dies analog.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von BENNIBOZz3352
28.02.2016, 09:03

ich kann c# noch nicht richtig.ich probiere so kleine spiele zu programmieren um zu üben.

0
Kommentar von BENNIBOZz3352
28.02.2016, 10:57

habe mir vorgestern das buch schroedinger lernt c# gekauft mit knapp 1000 seiten.ein wenig c#kann ich aber also methoden schreiben,konstruktoren,schleifen,verzweigungen usw. habe auch schon ein zahlen raten spiel programmiert,dass auf zeit geht und ein menü usw. hat und man den schwierigkeitsgrad ändern kann. was genau sollte man können um anzufangen kleine Spiele zu programmieren??????( also z.b. ein 2d runner mit schlechter Grafik also die figur ist z b. nur ein punkt)

0
Kommentar von BENNIBOZz3352
28.02.2016, 12:11

danke für die ausführlichen Antworten:),ich kann die basics von csharp,mein problem ist,dass ich die Lösungen zwar finde ,diese aber oft unnötig kompliziert sind.Ist das Buch schroedinger lernt c# gut?bzw kennst du es?

0
Kommentar von BENNIBOZz3352
28.02.2016, 12:14

wieso lernt man deiner Meinung nach am meisten,wenn man versucht einen explorer zu programmieren? lernt man bei dem,was ich mache(dieses spiel)weniger/nichts?

0

Was möchtest Du wissen?