2013-12-20 14 views
5

Ich fragte mich, wie ich eine Textur in Cocos2d 3 wiederholen sollte. Ich habe einen Hintergrund und ich möchte es über den Bildschirm "kacheln". Ich habe this gefunden, die ccTexParams mit GL_REPEAT verwendet, aber diese wurden in Version 3 von cocos privat gemacht.Cocos2d v3 wiederholen Textur

Ich habe eine andere Lösung gefunden, die found here sein kann, erstellt eine Schleife und positioniert einen neuen Kindknoten basierend auf der Größe der Textur und der gewünschten Größe. Aber ist das performant? Wenn Sie eine 1 px breite Hintergrundtextur haben und diese auf einer iPad-Retina wiederholen möchten, haben Sie mehr als 2000 untergeordnete Knoten.

Was ist der beste Weg, um eine Textur zu wiederholen.

Antwort

3

Nun, da es keine Methode zum Wiederholen gab, ohne eine POT-Textur zu haben, machte ich etwas von meinem eigenen, das sich darum kümmert.

Könnte für jemanden nützlich sein, der dieselbe Frage hat. Der Code kann auf Github here gefunden werden.

+0

Es scheint, dass diese Klasse innerhalb von render neue Sprites erzeugt: es sieht so aus, als könnte es wirklich schwer werden. Außerdem wird es nicht mit Cocos2D v3 funktionieren, da Sprite Batch-Knoten nicht mehr vorhanden sind. – Jonny

0

CCTexture2D Klasse hat setTexParameters: Methode, Wiederholungsmodus einzustellen. Achten Sie auch darauf, dass die Textur Breite und Höhe der Zweierpotenz haben muss, da sonst der Wiederholungsmodus deaktiviert wird.

+1

Das ist in Version 2 und 1, wenn ich richtig bin. Diese Methode wurde in CCTexture_Private.h verschoben (ich könnte das hinzufügen, aber ich habe mich gefragt, warum es privat gemacht wurde). – Matthijn