Liste von Objekten in bestimmter Reichweite
Übersicht

![]() |
AnaBetreff: Liste von Objekten in bestimmter Reichweite |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also erstmal ich verwende Minib3d also sind listen nun so gar kein Thema.
Ich möchte eine Liste mit Objektenanlegen, welche einen bestimmten Abstand nicht überschreiten, aber ich frag mich gerade, ob es eine schönere Möglichkeit gibt, als alle in fragekommenden Objekte durch zu gehen und den Abstand mit Entitydistance zu bestimmen. Hat jemand eine bessere Idee? |
||
Don't only practice your art,
but force your way into its secrets, for it and knowledge can raise human to divine |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Ana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm sorry Blade, dachte eigentlich es passt besser in B3d weil es hier ja schließlich um die Blitz3D Befehle geht :/ | ||
Don't only practice your art,
but force your way into its secrets, for it and knowledge can raise human to divine |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schöner? Schneller oder Selektiver ginge es vielleicht, wenn die Objekte in Sektoren (3D Array) vor sortiert wären oder du nicht alle Abstände auf ein mal berechnest, sondern alle X Millisekunden Y Objekte verarbeitest / aktualisierst. Ob das schönere Varianten sind, liegt im Auge des Betrachters. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Ana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, so hatte ich das schon gemacht, aber letztlich ist dass das selbe Problem in kleinerem Rahmen, was natürlich schneller ist, aber nicht schöner ![]() |
||
Don't only practice your art,
but force your way into its secrets, for it and knowledge can raise human to divine |
Hangman |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Diese Variante könnte man vielleicht noch etwas erweitern.
Wenn du weißt, dass sich bestimmte Objekte nur mit einer gewissen Geschwindigkeit bewegen, dann bräuchtest du die ganz weit entfernten Objekte ja auch vielleicht nur alle 10sek, die mittleren alle 2sek, und die näheren alle 1sek. nur mal so als Beispiel, die Abstände kannst ja beliebig anpassen... So gäbe es dann 3 oder je nachdem auch beliebig viele solcher Listen je nachdem wie weit du das stufen möchtest, aber spart vielleicht Rechnerzeit, wenns denn genug Objekte sind. Edit: Falls du(Xeres) genau das meintest dann sry, habs net so ganz rauslesen können aus deinem Post ![]() |
||
Ich habe Berthold gebrochen. |
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erstelle einen Array der dein "Spielfeld" rastert. Jeh nach Position des
Objektes wird es in die Liste in diesem Array eingeordnet. Hast du ein Spielfeld von 0-300x und 0-300y erstellst du beispielsweise ein Array[3,3] jedes Element in diesem Array ist eine Liste mit den im Rahmen befindlichen Objekten beispielsweise sind alle Objekte mit x>0 und x<100 und y>0 und y<100 im array[0,0] anhand deiner eigenen Position kannst du den Ausgangspunkt errechnen und das eigene sowie - jeh nach Rastergröße - die umliegenden Rasterlisten durchiterieren. Nen Kollege hat dies so bei seinem MMORPG umgesetzt und funktioniert wunderbar. Wichtig ist nur, beim Rasterwechsel die Liste zu aktualisieren. Der nachteil dieser Methode ist bei dir erstmal, das dein komplettes Verwaltungssystem für diese kleine aufgabe angepasst werden muss |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group