Sterne

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

SCRJ

Betreff: Sterne

BeitragSa, Aug 26, 2006 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Very Happy

aMul

Sieger des Minimalist Compo 01/13

BeitragSa, Aug 26, 2006 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink

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? Laughing Wink
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

BeitragSa, Aug 26, 2006 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Aug 26, 2006 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink

FreetimeCoder

BeitragSa, Aug 26, 2006 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Aug 26, 2006 15:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Jep, so werde ichs machen.
thx! Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group