Types auslesen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Jey

Betreff: Types auslesen

BeitragFr, Dez 23, 2005 0:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Meine Frage ist ganz simpel, weiß jedoch nicht, ob dies mit Types einfach nicht möglich ist, oder ob ich dazu ein Befehl übersehen habe.

Also man stelle sich zb eine Itemliste for, es werden alle Items angezeigt.
Wenn dies viele werden und die schleife "for each" sehr lang wird, raubt das ja ganz schön geschwindigkeit. Wenn ich aber einfach nur anzeigen will, was ich gerade von der Liste sehe, da es sich um ein Scrollfenster handelt, kann ich dann nur ne abfrage einbauen ob ichs gerade sehe und somit ein wenig Zeit sparen?

Ich weiß das klingt verwirrend aber das Problem ergibt sich häufig genauso
mit items die auf der Map verteilt liegen, wenn ich die immer alle abfrage um sie falls ich sie sehe zu zeichne dauert das ewig.
Müsste ich dazu ein neues Type machen, und die Items alle X durchgänge
auf sichtbarkeit überprüfen und in den neuen Type schreiben und nur diesen Anzeigen?

Arbeite noch nicht lange mit Types und ihr merkt sicher, das ich versuche wie bei den Arrays zu arbeiten aber ich kann ja kein bestimmtes Objekt aufrufen ohne alle auf die Identität des Objektes zu prüfen?

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragFr, Dez 23, 2005 1:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich würde alles in Dim Felder einlesen und dann zwei Variabeln erstellen, die erste variabel setzt du auf 0 und die zweite auf die zahl der möglich sichtbaren Items. Dann wenn der Spieler auf den Button Itembar runter scrollen klickt machst du bei den beiden Variabeln +1. Und mit einer For/Next schleife lässt du die Items anzeigen.

MFG

Blitzmaker
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium

Hubsi

BeitragFr, Dez 23, 2005 10:49
Antworten mit Zitat
Benutzer-Profile anzeigen
On the fly:BlitzBasic: [AUSKLAPPEN]
item.item=First item
start=Handle(item.item)


; Hauptschleife oder so
Repeat
item=Object(start)
For i=1 To anzahl_anzuzeigende_items
; Item anzeigen oder was auch immer
If After item=Null Exit
item.item=After item
Next
If scrollen
item=Object(start)
If Not item.item=Last item item.item=After item ; oder Before item
EndIf
Forever
So oder so ähnlich Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

antome

!!! gesperrt !!!

BeitragFr, Dez 23, 2005 10:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau dir mal die Befehle Object
und Handle in der Onlinehilfe an.

Dort gibt es auch im Bereich 2D Tuts für Types, am Rande werden auch die beiden Befehle gestreift.
Evtl. noch Code auf der Offiziellen BB Seite anschauen, gibt es dort reichlich in denen auch Object und Handle benutzt werden.

Smile jetzt war ich ein Tick zu spät, Hubsi war schneller.
 

Jey

BeitragSa, Dez 24, 2005 0:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Dank euch! Der Befehl Objekt war mir nicht klar. Auch Exit kannte ich gar nicht Rolling Eyes hab bei sowas immer Goto benutzt und bin froh das nicht mehr zu müssen.
Das klappt soweit alles, nur funktioniert dies nur wenn die anzuzeigenden Einträge hintereinander liegen.
Das Problem bei meiner Map bleibt also bestehen:
Viele Items liegen auf der Map verstreut, nun muss er jede Runde überprüfen ob meine Maus darauf zeigt. Mit der For each Schleife wieder enorm bremsend. Also nur alle paar durchläufe überprüfen und die sichtbaren in eine neue Type schreiben?
Oder evt alle paar Runden die Entfernung zum Char überprüfen und die Liste nach entfernung sortieren und dann nur die bis zu einer bestimmten entfernung anzeigen?
Oder wie macht ihr sowas?
 

Dreamora

BeitragSa, Dez 24, 2005 2:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Für so etwas lege ich einen 2 dimensionalen Array an, dann kann ich direkt mit der Feldkoordinate des Chars nachsehen, ob in diesem Feld etwas ist oder nicht.
Je mehr Objekte das vorkommen, desto weniger "unnutzer Ressourcen" werden mit dem ObjektArray für die Welt "verschwendet"
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group