Erzeugen eines Texture2D aus mehreren Texture2Ds

8

Mein Problem ist, dass ich einen bodenverändernden Boden mit einem Texture2D darstellen muss, was bedeutet, dass ein Boden die Seiten das Bild der Seiten hat, und in der Mitte das gleiche 'mittlere' Bild wiederholt, so:

Um dies zu erreichen, bekomme ich die Texturen 'left edge', 'middle' und 'right edge'. Das Problem ist, dass ich nicht weiß, wie man sie zu einem einzigen texture2D zusammenfügt,

Es ist wichtig, dies zur Laufzeit zu tun, weil sich die Bodenlänge ändert (horizontal), Ich habe gelesen, dass Sie das mit SetData tun können, aber ich habe keine Ahnung, wie ...

Es ist sehr wichtig für mich, dass es als eine Textur und nicht mehrere Texturteile fungiert, da ich die Farseer Physics Engine verwende, um den Boden zu bewegen und ihn zu benutzen.

Ich verwende C # und XNA mit Visual Studio 2010, ich bin ein fast erfahrener C # -Programmierer,

Danke!

    
Itamar 01.10.2011, 08:23
quelle

3 Antworten

2

Diese Antwort kann Ihnen helfen. Entweder sollten Sie HLSL zum Wiederholen Ihres Bodens verwenden oder Sie sollten Ihren Boden auf einem RenderTarget zeichnen und als einzelne Textur speichern. Genießen.

    
icaptan 01.10.2011 09:47
quelle
1

Erstellen Sie zunächst ein neues Texture2D dienen Sie als Ihre Bodenbeschaffenheit und spezifizieren Sie die passende Breite und Höhe. Holen Sie dann die Daten der drei Texturen, die Sie zusammenführen möchten, mit GetData-Methode . Verwenden Sie abschließend die SetData-Methode , um die Daten festzulegen der neuen Textur als geeignet (überprüfen Sie den Link, können Sie den Startindex angeben).

Warnung: GetData und SetData-Methoden sind langsam. Wenn du diese Textur nur einmal pro Spiel erstellen musst (zum Beispiel bei der Initialisierung), ist das kein Problem.

    
Maja Remic 01.10.2011 09:29
quelle
1

Sie benutzen farseer ... aber es verbietet Ihnen nicht, einen Tiling-Ansatz zu verwenden ...

Ich kenne keinen Raser, aber ich nehme an, dass es eine Transformationsmatrix liefert ...

tun:

%Vor%     
Blau 01.10.2011 15:33
quelle

Tags und Links