Sterne
Übersicht

SCRJBetreff: Sterne |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi
Habe folgendes Prolem: Meine Map ist 'sehr' gross. ca 100'000 * 100'000 Pixel. Auf dieser Map stelle ich Sterne dar, deren X und Y Positionen per zufall erzeugt werden. So weit so gut, klappt alles. Nur: Wie stelle ich die Map am schnellsten dar? Bis jetzt prüfe ich jeden Stern, ob er überhaupt im Sichtbaren Bereich liegt. Wenn Ja: Stelle den Stern dar. Wenn Nein: Prüfen den nächsten Stern. Bei aber ca 10'000 bis 100'000 Sternen wird das SEHR langsam... Auch kann ich nicht per Schleife ermitteln, welche Sternen im sichtbaren Bereich liegen (Sind ja keine gleich grossen Tiles) Hoffe ihr könnt mir einige Tipps geben. Danke schonmal im Voraus ![]() |
||
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntse die map un mehrere Bereiche einteilen, die z.B. 1000*1000 groß sind. Dann testest du erst, ob ein Bereich/ein Teil eines Bereiches sichtbar ist, wenn ja testest du alle Sterne in diesem Bereich ![]() EDIT: SCRJ hat Folgendes geschrieben: Auch kann ich nicht per Schleife ermitteln, welche Sternen im sichtbaren Bereich liegen (Sind ja keine gleich grossen Tiles) Wieso das denn nicht? Denkst du so beschränkt, das du nur mit Tiles arbeiten kannst? ![]() ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Arbeitest du mit Arrays oder Types? | ||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
SCRJ |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Arrays
[Edit] @aMul Das war auf das "direkte" Positionieren der GFX bezogen... Tiles lassen sich per Schleife direkt platzieren, da ihre Prositionen eindeutig sind...Bei Zufalls - Positionen wirds da schwieriger --> Alles prüfen ![]() |
||
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also wenn du mit Arrays arbeitest kannst du es doch so machen Dim Sterne(5,1000) oder so ähnlich.
Dann hast du fünf Felder, mit je 1000 Sternen, jetzt musst du nur noch ermitteln, in welchem Feld du dich befindest und dann kannst du das machen: Code: [AUSKLAPPEN] For i=1 to 1000
if Sterne(Feld,i)=visible then Drawimage ... endif next so müsstest du dann nicht mehr alle Sterne auf ihre sichtbarkeit überprüfen. |
||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
SCRJ |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jep, so werde ichs machen.
thx! ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group