3 registered members (Ayumi, Akow, AndrewAMD),
1,505
guests, and 9
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Nächten Node finden und Objekt anbinden
#446985
11/10/14 18:39
11/10/14 18:39
|
Joined: Oct 2007
Posts: 25
Yamm
OP
Newbie
|
OP
Newbie
Joined: Oct 2007
Posts: 25
|
Ich habe einen Pfad mit einigen Nodes. Daran will ich Objekte entlang laufen lassen, allerdings soll jedes Objekt an einem anderen Node starten. Da ich möglichst eine Action für all diese Objekte haben will, wäre es toll, wenn das Objekt selber schauen könnte, welcher Node der nächste ist und von da an die Bewegung aufnimmt. Verwende ich Beispielsweise:
path_set(_ent, _pathName); path_setnode(my,my.x,my.y,0);
dann starten alle Objekte vom ersten Node des Pfades. Wie bekomme ich es hin, dass jedes Objekt von dem Node aus startet, an dem ich es im WED platziert habe?
|
|
|
Re: Nächten Node finden und Objekt anbinden
[Re: Yamm]
#447007
11/12/14 05:56
11/12/14 05:56
|
Joined: Jun 2009
Posts: 2,210 Bavaria, Germany
Kartoffel
Expert
|
Expert
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
|
Bin gerade nicht zuhause und kann deshalb nicht nach schauen.. Aber vllt gibt's was wie vec_for_path oder vec_from_path
Wow ich kann ja das online manual verwenden... Schau mal unter engine functions => paths & regions nach.
Last edited by Kartoffel; 11/12/14 06:00.
POTATO-MAN saves the day! - Random
|
|
|
Re: Nächten Node finden und Objekt anbinden
[Re: Yamm]
#447019
11/13/14 03:28
11/13/14 03:28
|
Joined: Oct 2007
Posts: 25
Yamm
OP
Newbie
|
OP
Newbie
Joined: Oct 2007
Posts: 25
|
Ich hatte nun einen etwas anderen Ansatz, der zwar leider auch nicht geht, aber vielleicht erkennt ja jemand schnell den Fehler. Ich dachte mir, wenn ich schon nicht den Vektor des Nodes heraus lesen kann, könnte ich ja das Objekt an jeden Knoten setzen und dann seine Position speichern. Die Differenz wird mit der ursprünglichen Position abgeglichen und am Ende wird der Knoten mit dem kürzesten Abstand zugewiesen. Hier der entsprechende Code:
var sumnodes = 0; // Summe aller Knoten
var node = 1; // Nummer des verwendeten Knotens
VECTOR locVecNode, nodevec, myvec;
vec_set(nodevec, vector(0,0,0));
vec_set(myvec, vector(0,0,0));
if (_pathName)
{
vec_set(myvec, _ent.x);
sumnodes = path_set(_ent, _pathName);
int i;
var distance, distance2, temp;
// Refferenzpunkt zu 1
path_setnode(my,node,NULL, NULL);
vec_set(nodevec, _ent.x);
distance = vec_dist(myvec, nodevec);
for (i = 0; i < sumnodes; i++)
{
path_setnode(my,i,NULL, NULL);
vec_set(nodevec, _ent.x);
distance2 = vec_dist(myvec, nodevec);
if (distance2 < distance)
{
node = i;
}
}
path_setnode(my,node,NULL, NULL);
}
Last edited by Yamm; 11/13/14 07:49.
|
|
|
Re: Nächten Node finden und Objekt anbinden
[Re: Yamm]
#447024
11/13/14 11:23
11/13/14 11:23
|
Joined: Sep 2003
Posts: 6,861 Kiel (Germany)
Superku
Senior Expert
|
Senior Expert
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
|
Was soll
path_setnode(my,node,NULL, NULL);
überhaupt tun, my.x auf die node Position setzen? Das macht der Befehl nicht, guck noch mal ins Manual. Der (erste) Entity-Parameter ist einfach dazu da, den korrekten Pfad zu übergeben. Den dritten Parameter solltest du mit einem Vektoren (-Pointer) füllen, also bspw.:
path_setnode(my,node,nodevec, NULL);
Übrigens, die Knoten starten nicht bei 0, sondern bei 1.
"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual Check out my new game: Pogostuck: Rage With Your Friends
|
|
|
|