Wie man ein Objekt "skalierbar" macht, während es in einem Formular gerendert wird

8

Ich rende mein Spiel in einem WinForm wie in diesem Beispiel: WinForms Series 1: Grafikgerät

In meinem Spiel habe ich ein Objekt, zum Beispiel ein Rechteck, das ich schon setzen und bewegen kann, in meiner Spielwelt, einmal erstellt. Mein Projekt hier ist ein Level-Editor.

Was ich tun möchte, ist, jedes Objekt "ansässig" oder "skalierbar" zu machen (Entschuldigung, wenn das nicht das richtige Wort ist), genauso wie es in jeder Software gemacht wird, die wir üblicherweise benutzen, ich meine:

Ich habe eine Klasse wie:

%Vor%

Sobald die Klasse instanziiert wurde, dachte ich in dem Formular etwas wie: (gameWrapper ist das Steuerelement, das mit dem Beispiel erstellt wurde, um das Spiel innerhalb des Formulars zu zeichnen)

%Vor%

Inside gameWrapper:

%Vor%

Genau das habe ich mir vorgenommen. Zeichne kleine Buttons / Rechtecke mit einer Funktion und behandle dann Klicks darauf.

Ist bereits ein Code zum Erreichen dieses Verhaltens geschrieben? Eigentlich mache ich mir keine Sorgen darüber, wie sich das Objekt in der Größe verändern wird, sondern nur an den ästhetischen Knöpfen.

    
Francesco B. 01.01.2014, 15:46
quelle

2 Antworten

6

Ich habe es getan!

Die Hauptfunktion:

%Vor%

Mit diesen Funktionen:

%Vor%

Wenn ich es zeichnen möchte, brauche ich nur ein Rechteck, zum Beispiel:

%Vor%

Das einzige, was fehlt, ist die Handhabung von Klicks auf jedem Quadrat. Dies geschieht durch einen einfachen "Enthält" -Test mit Mauspositions-Coor.

Ein Bildschirm des Ergebnisses:

    
Francesco B. 06.01.2014, 10:59
quelle
1

Ich denke, was Sie suchen, ist etwas wie CRectTracker ( Ссылка ) in VC ++. Leider ist noch kein C # -Äquivalent vorhanden. Sie können den folgenden Link für einen Starter ansehen.

Ссылка

    
Junaith 10.01.2014 19:01
quelle