Autor Beitrag
JNike
Hält's aus hier
Beiträge: 4

Windows 7, Ubuntu
VS C#, XNA Framework, C#, .NET
BeitragVerfasst: Fr 04.05.12 15:02 
Hallo,

ich habe mal eine Frage bezüglich dem XNA Framework und dem Content Manager. Und zwar, falls ich einen Content erstelle und einen Ordner erstelle der z.B. BLOCKS heißt wo alle meine Blöcke drinnen sind (.png), wie kann ich diese dann über andere Klassen laden? Ich kam schon dazu das man this.content.load<>(); nutzen kann, aber es kommt immer die Fehlermeldung, File not found, wobei es in der BASE.cs (Game1.cs) ohne Probleme funktioniert.

Wie soll ich das machen? :/

Moderiert von user profile iconTh69: Titel geändert.
Moderiert von user profile iconTh69: Topic aus C# - Die Sprache verschoben am Fr 04.05.2012 um 15:06
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 04.05.12 15:17 
Du lädst die Dateien wahrscheinlich nur mit einem relativen Pfad. Evtl. verstellst du das "Working Directory" in deinem Programm (z.B. mittels eines FileOpenDialog), so daß der relative Pfad dann nicht mehr funktioniert.

Da ich mich mit dem XNA-Framework im Detail nicht auskenne, schau mal in der Hilfe (MSDN) ob es dort eine zu Application.StartupPath ähnliche Eigenschaft gibt.
JNike Threadstarter
Hält's aus hier
Beiträge: 4

Windows 7, Ubuntu
VS C#, XNA Framework, C#, .NET
BeitragVerfasst: Fr 04.05.12 17:51 
Alles klar, dann schau ich mal nach. Außerdem, ich habe nichts am ContentManager verändert sollte alles so bleiben wie es ist. Die Klasse ist im Ordner C:\EXAMPLE\SOURCE\GAME\KLASSEN\test.cs und die Kontents sind im C:\EXAMPLE\SOURCE\CONTENT\ ordner, ich muss dort zugreifen, habs versucht mit allen Mitteln wie: ../../CONTENT/BILD

usw. nichts hat geklappt :(
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 04.05.12 19:10 
Hallo,

der Pfad muß natürlich relativ zu deiner Anwendung sein (d.h. der erzeugten EXE-Datei, nicht zu deinem Projekt).
Am besten, du fügst den Content-Ordner zu deinem XNA-Projekt im Visual Studio hinzu und stellst dann für alle untergeordneten Dateien die Eigenschaft "in Ausgabeverzeichnis kopieren" (Copy to Output Dir) auf "Kopieren, wenn neuer" (Copy, if newer).
Dann sollte es nach dem Kompilieren einen Unterordner "Content" im Ausgabeverzeichnis "Bin/Debug" (bzw. "Bin/Release") geben, so daß du vom Programm aus die Dateien relativ mittels
ausblenden C#-Quelltext
1:
Path.Combine("Content""BILD.png");					

ansprechen kannst.

Warum es vorher jedoch mit der BASE.cs einwandfrei funktioniert hat, kann ich dir aus der Ferne nicht sagen ;-)