Ich mag eine 2D - Karte erstellen von kleinen Kacheln zusammengesetzt, die wie Voxel aussehen sollten (z. B. das gerade von dieser Seite).
Ich denke, ich kann eine Struktur wie Voxel2D erstellen, die int X, Y und etwas Farbe hat, und jedes Voxel2D wird 5x5 Pixel groß sein (also multiplizieren Sie X und Y beim Zeichnen mit 5).
Aber wie soll ich jetzt die ganze Karte speichern? Oder gibt es in einem 2D-Array wie der klassischen Tile-Map einen schnelleren Weg?
Antworten:
Sie würden es nicht Voxel nennen, wenn es 2D ist, es ist nur kachelbasiert. Array-Speicher sollte das sein, wonach Sie suchen.
Bearbeiten: Ich frage mich, ob Ihre Frage mehr enthält als ich gelesen habe, und ich verstehe nicht wirklich, warum Sie ein 3D-Spiel wählen, um Ihre Idee zu erklären. Möchten Sie nur sicher sein, dass Sie in die richtige Richtung arbeiten, oder gibt es etwas, das Sie nicht implementieren können?
quelle
Sie können auch 2 Arrays anstelle eines verwenden, wobei eines als Kartenarray "Kacheln" enthält und eines ein Kachelarray mit vordefinierten Pixeln (5 x 5 oder weniger) ist. Bei Bedarf können Sie diese Pixel noch ändern, müssen jedoch ein neues erstellen Kachel-Array statt eines vordefinierten.
Das Gute daran ist, dass die nicht modifizierten als Bildkacheln vordefiniert werden können, bis sie aufgelöst werden.
Beachten Sie jedoch, dass das Worst-Case-Szenario dasselbe ist wie nur ein Array voller Pixel.
quelle