Seite 1 von 1

[XNA] XNA in WinForm

Verfasst: 15.10.2010, 13:59
von Raven280438
Hi,

es geht um folgendes Codeschnipsel:
http://create.msdn.com/en-US/education/ ... s_series_1

Ich habe versucht, in einem eigenen Programm das nachzubilden. Leider versteh ich 2 Sachen nicht:

1. Bei dem Beispiel gibt es in der Solution 2 Projekte. Einmal das eigendliche Programm, und dann ein Projekt namens "Content". Wie bekomm ich das in meinem neuen Projekt auch hin?

2. In dem Beispielprojekt sind im Designer die beiden Controls "SpriteFontControl" und "SpinningTriangleControl" zusehn sind. Wie kann ich eigene Controls im Designer anzeigen lassen, platzieren usw.


Gruß

Re: [XNA] XNA in WinForm

Verfasst: 15.10.2010, 15:44
von dowhilefor
1. Bei dem Beispiel gibt es in der Solution 2 Projekte. Einmal das eigendliche Programm, und dann ein Projekt namens "Content". Wie bekomm ich das in meinem neuen Projekt auch hin?
XNA arbeitet mit einer sogenannten Contentpipeline. Vereinfacht ausgedrückt du packst bilder, modelle, sounds etc. rein und raus kommt ein passendes Format für die jeweilige Platform(XNA unterstützt ja nicht nur Windows). Dieses Projekt hält also deine "Roh" daten an Content und kompiliert sie in ein XNA verständliches Format. Selber erzeugen kannst du das in dem du ein neues XNA Projekt anlegst, da ist normalerweise direkt das Content Projekt mit bei oder aber du erstellst ein neues und fügst es deinem bestehenden Projekt hinzu(Rechtsklick auf die Solution, Add new Project oder so ähnlich). Bin mir allerdings bei letzterem nicht 100% sicher wie das heisst.

Re: [XNA] XNA in WinForm

Verfasst: 15.10.2010, 16:10
von Raven280438
Hi,

wenn ich jetzt zu meinem WinForm-Projekt ein XNA Game Projekt hinzufüge, kommt ja auch eine game.cs usw. dazu.
Kann ich das einfach wieder löschen und nur das Content-Projekt drin lassen?


Hat jemand vielleicht eine Antwort auf die 2. Control-Frage? Wie hat der Author des Codes es hinbekommen, dass sein selbst geschriebener Control im Designer zusehn ist?


Gruß

Re: [XNA] XNA in WinForm

Verfasst: 15.10.2010, 17:59
von dowhilefor
wenn ich jetzt zu meinem WinForm-Projekt ein XNA Game Projekt hinzufüge, kommt ja auch eine game.cs usw. dazu.
Kann ich das einfach wieder löschen und nur das Content-Projekt drin lassen?
Ich wüsste gerade nicht was dagegen spricht. :)
Hat jemand vielleicht eine Antwort auf die 2. Control-Frage? Wie hat der Author des Codes es hinbekommen, dass sein selbst geschriebener Control im Designer zusehn ist?
Hier mal nachgeguckt, besonders hier?

Re: [XNA] XNA in WinForm

Verfasst: 15.10.2010, 22:02
von Raven280438
Hi,

so richtig versteh ich das nicht. :(

Ich bekomm es einfach nicht zu laufen. Ich hab den Code 1zu1 übernommen und nur den Namespace angepasst, aber tortzdem funtkioniert es nicht.

Re: [XNA] XNA in WinForm

Verfasst: 16.10.2010, 08:58
von Despotist
Raven280438 hat geschrieben: Ich bekomm es einfach nicht zu laufen. Ich hab den Code 1zu1 übernommen und nur den Namespace angepasst, aber tortzdem funtkioniert es nicht.
Mit so einer detailierten und präzisen Fehlerbeschreibung ist es sehr leicht dir zu helfen. Das Problem liegt an ... weiß ich nicht.

Wenn du wirklich ernsthaft Hilfe erwartest und nicht nur rumjammern willst musst du den willigen Helfern auch was geben woran sie den Fehler erkennen können.
Kompilierts nicht? Startet es nicht? Zeigt es dein Control nicht an? Kommt ne Exception? Wie sieht der Code aus? Hast du mit dem Debugger durchgesteppt?

Du kannst dir auch so während der Laufzeit Informationen (Variableninhalte, Aufrufe, Programmpfade) auf die Debug-Konsole ausgeben statt Messagebox oder Dateilog.

Re: [XNA] XNA in WinForm

Verfasst: 16.10.2010, 10:10
von The_Real_Black
Raven280438 hat geschrieben:Hi,

so richtig versteh ich das nicht. :(

Ich bekomm es einfach nicht zu laufen. Ich hab den Code 1zu1 übernommen und nur den Namespace angepasst, aber tortzdem funtkioniert es nicht.
Hast du von dem vorhandenen Control auch Abgeleitet?
Im Projekt sollten 2 fertige Controls vorhanden sein eins mit dem sich drehenden Dreieck und das andere mit dem Text. Diese beiden sind von GraphicsDeviceControl abgeleitet. Wenn man nun selbst ein XNA Control haben will sollte man das Projekt einbinden und sein eigenes Control von GraphicsDeviceControl ableiten (using und verweis hinzufügen nicht vergessen).

Wenn du den Original Namespace ändern willst solltest du bedenken, dass die Controls auch eine Designer Datei besitzen in welcher man auch den Namespace ändern muss.

Re: [XNA] XNA in WinForm

Verfasst: 16.10.2010, 14:44
von Raven280438
Hi,

ja wie gesagt, ich hab die Code 1zu1 übernommen.
Der neue Control ist von GraphicsDeviceControl abgeleitet, und der ist von Control abgeleitet

Trotzdem ist der Control nicht in der Toolbox zusehn. Ich hab ihn zum testen per Hand in die Form1.Desginer.cs reingeschrieben. Auch dadurch ist er im fertigen Programm nicht zu sehn.


Ich hab das Projekt mal hochgeladen, vielleicht hat ja jemand 2min und guckt sich das ma an.
http://www.roman-drechsel.de/Upload/ST-Texturer.rar



Gruß

Re: [XNA] XNA in WinForm

Verfasst: 16.10.2010, 18:53
von Raven280438
Irgendwie wird der Control jetz in der Toolbox angezeigt. Fragt nicht warum ;)


Danke an alle die geholfen haben ;)

Re: [XNA] XNA in WinForm

Verfasst: 16.10.2010, 20:06
von The_Real_Black
Raven280438 hat geschrieben:Irgendwie wird der Control jetz in der Toolbox angezeigt. Fragt nicht warum ;)


Danke an alle die geholfen haben ;)
"Control jetz in der Toolbox angezeigt"
Ein neues Control wird erst nach einen erfolgreichen Build angezeigt.
Fraglich ist jetzt was vorher der Fehler war.