Laden...

WorldControl

Erstellt von Big Al vor 16 Jahren Letzter Beitrag vor 16 Jahren 6.469 Views
B
Big Al Themenstarter:in
342 Beiträge seit 2006
vor 16 Jahren
WorldControl

Hi,
bin beim "im Explorer rumsuchen" auf eine ältere Komponente von mir gestoßen.
Sie heißt WorldControl und es handelt sich um ein Control für 2D-Spiele. Man hat ein Bild als Hintergrund, ein Raster, auf dem man einzelne Rechtecke auswählen kann, und man kann den Ausschnitt verschieben. Perfekt ist es nicht, es stammt auch aus einem Projekt, an dem ich die Lust verloren hab, aber vielleicht kanns ja jemand brauchen.
Big Al

Da man Spatzen nicht mit Kanonen jagt, sollte man auch nicht mit Computern auf Spatzenhirne losgehen.

165 Beiträge seit 2007
vor 16 Jahren

Hallo, ich wollte Fragen, ob ich das Control auf meine Bedürfnisse optimieren darf...

Visit my Blog: http://michael.barz.de

B
Big Al Themenstarter:in
342 Beiträge seit 2006
vor 16 Jahren

Klar, kein Problem, dafür hab ichs ja gepostet.
Du kannst mir dann ja mal die geänderte Version zeigen, würde mich interessieren, was du daraus machst.
Viele Grüße,
Big Al

Da man Spatzen nicht mit Kanonen jagt, sollte man auch nicht mit Computern auf Spatzenhirne losgehen.

165 Beiträge seit 2007
vor 16 Jahren

Hallo, ich hab nid viel geändert. Ich war selbst auch am erstellen von was ähnlichem, dein Control war aber performanter. Ich hab einfach eine Property mit dem Typ List<Field> hinzugefügt. Field ist eine Klasse die ich geschrieben hab die ein paar Informationen über das Feld enthält. Zum Beispiel, was für eine Bodenstruktur da grad ist. Ob hier ein Gebäude steht und wenn ja welches. Natürlich auch noch die Position (Point) an der man zeichnen muss. Ich stell mit das dann so vor, dass ich das onClick, deines Controls verwende um dann mit der Property SelectedField, die ja schon da war, die neue FilledFields-Property zu füllen/erweitern. Dann werd ich das FilledFields Serialisieren und als Karte verwenden. Zeichnen geh ich das ganze dann follgendermaßen:


if (_filledFields != null)
{
    foreach (Field f in _filledFields)
   {
        Image image = Image.FromFile(f.Object.PicPath);
        g.DrawImage(image, /*Bereich zum Zeichnen*/)
   }
}

und später im Spiel, kann man dann per SelectedFields gucken was für ein Objekt sich hinter dem Field versteckt und demnach die Spiellogik gestalten.

Wenn de willst, kann ich dir die berarbeitete Version deines Controls inklusive der verschiedenen benötigten Klassen zukommen lassen.

Visit my Blog: http://michael.barz.de

16 Beiträge seit 2007
vor 16 Jahren

Hey,
wenn es das ist was ich denke, dann isses geil, jetzt schonmal fettes DANKE.
Muss sowas ... leider ... in JAVA machen, die Uni wollte es so.
Noch ne dumme Frage zum Abschluss: wie kann ich das öffnen?
Gruß Hug'

"Wenn du durch die Hölle gehst, gehe weiter." (Winston Churchill)

B
Big Al Themenstarter:in
342 Beiträge seit 2006
vor 16 Jahren

Na öffnen tust dus mit VisualStudio oder SharpDevelop.
Du erstellst ein Windows Forms Projekt und fügst dann im Projektexplorer das Control ein. Im Designer müsste das dann verfügbar sein.
Grüße,
Big Al

Da man Spatzen nicht mit Kanonen jagt, sollte man auch nicht mit Computern auf Spatzenhirne losgehen.

16 Beiträge seit 2007
vor 16 Jahren

Hey,
danke, hat mir gestern auch en kumpel erklärt,
hab gedacht das wäre ein fertiges Prog.
(bin C# Einsteiger 😉 )
Gruß

"Wenn du durch die Hölle gehst, gehe weiter." (Winston Churchill)

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo Hug',

hab gedacht das wäre ein fertiges Prog.

dann stände es ja unter Projekte und nicht unter .NET-Komponenten und C#-Snippets 🙂

herbivore