Hallo zusammen,
ich habe mir eine Klasse erstellt, die mir ein 3-Dimensionales Raster/Mesh darstellt und bearbeiten lässt. Ähnlich wie ein Terrain-Generator.
Zur Zeit kommt der Input vom Benutzer einfach über eine Picturebox. Dort kann man mit z.B. Kreise die Ebne eindrücken,
hochziehen oder Explosionen generieren die meine Klasse dann verarbeitet.
Weil ich nicht jedes mal die Punkte exportieren, und in einem fremden Programm öffnen will um das Ergebnis zu sehen
dachte ich mir MonoGame/XNA könnte da eine einfache Alternative sein.
Es sollen nur 2 Dinge passieren -
Wenn ich mit der Maus über die Picturebox gehe, soll die Ansicht so gedreht werden das man von Oben auf das Raster schaut.
Dann wird ein Kreis eingeblendet; der den Radius des z.Z. ausgewählten Werkzeug darstellt.
Wenn man mit der Maus die Picturebox verlässt, geht die Kameraposition um die RasterBreite/2 von dem Mesh weg.
Danach wird einfach Rotiert, mit Blickpunkt auf 0.
Jetzt habe ich damit ein Problem, und eine Frage.
Wenn ich meine Form aufrufen will, bekomme ich die Fehlermeldung:
Das Form.ShowDialog() ist auch keine Option, da meine Picturebox nicht das übliche CornflowerBlue aufweißt, gehe ich davon aus das hier überhaupt nichts gestartet wird.
Lege ich jetzt jedoch ein neues Projekt an- als Konsolenprojekt. Füge dem Projekt eine Form ein, und ein Picturebox darauf. Starte aus dem Modul/Console mit dem gleichen Code,
funktioniert alles wie es soll.
Ich gehe mal davon aus, das ich meiner Form einen eigenen Thread geben muss. Gleichzeitig muss aber auch die Gamelogik darauf folgen.
Das ganze irritiert mich etwas.
Die Klasse für mein Mesh, und die Form zur Bearbeitung sollen Teil eines größeren Projektes werden. Und dort arbeite ich vorwiegend mit MDI-Chields.
Kann ich überhaupt eine Klasse die auf einem anderen Thread läuft, ein übergeordnetes Fenster mitgeben wo auf einem anderen Thread läuft?
LG
Nachtrag :
Das mit einem neuen Thread stimmt wohl :
Bleibt nur die Frage mit dem MDI Chield/Parent Verhältnis zwischen 2 Threads?
*Topic verschoben*
ich habe mir eine Klasse erstellt, die mir ein 3-Dimensionales Raster/Mesh darstellt und bearbeiten lässt. Ähnlich wie ein Terrain-Generator.
Zur Zeit kommt der Input vom Benutzer einfach über eine Picturebox. Dort kann man mit z.B. Kreise die Ebne eindrücken,
hochziehen oder Explosionen generieren die meine Klasse dann verarbeitet.
Weil ich nicht jedes mal die Punkte exportieren, und in einem fremden Programm öffnen will um das Ergebnis zu sehen
dachte ich mir MonoGame/XNA könnte da eine einfache Alternative sein.
Es sollen nur 2 Dinge passieren -
Wenn ich mit der Maus über die Picturebox gehe, soll die Ansicht so gedreht werden das man von Oben auf das Raster schaut.
Dann wird ein Kreis eingeblendet; der den Radius des z.Z. ausgewählten Werkzeug darstellt.
Wenn man mit der Maus die Picturebox verlässt, geht die Kameraposition um die RasterBreite/2 von dem Mesh weg.
Danach wird einfach Rotiert, mit Blickpunkt auf 0.
Jetzt habe ich damit ein Problem, und eine Frage.
Wenn ich meine Form aufrufen will, bekomme ich die Fehlermeldung:
Das Form.ShowDialog() ist auch keine Option, da meine Picturebox nicht das übliche CornflowerBlue aufweißt, gehe ich davon aus das hier überhaupt nichts gestartet wird.
Lege ich jetzt jedoch ein neues Projekt an- als Konsolenprojekt. Füge dem Projekt eine Form ein, und ein Picturebox darauf. Starte aus dem Modul/Console mit dem gleichen Code,
funktioniert alles wie es soll.
Ich gehe mal davon aus, das ich meiner Form einen eigenen Thread geben muss. Gleichzeitig muss aber auch die Gamelogik darauf folgen.
Das ganze irritiert mich etwas.
Die Klasse für mein Mesh, und die Form zur Bearbeitung sollen Teil eines größeren Projektes werden. Und dort arbeite ich vorwiegend mit MDI-Chields.
Kann ich überhaupt eine Klasse die auf einem anderen Thread läuft, ein übergeordnetes Fenster mitgeben wo auf einem anderen Thread läuft?
LG
Nachtrag :
Das mit einem neuen Thread stimmt wohl :
Bleibt nur die Frage mit dem MDI Chield/Parent Verhältnis zwischen 2 Threads?
*Topic verschoben*
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Marcus Gräfe“ ()