Partikel Effekt

Posted By: Neoxit

Partikel Effekt - 02/22/11 16:05

Hallo erneut!

Ich bin nun dabei mich mit den Partikeln zu beschäftigen, dabei erstelle ich auf tastendruck folgendermaßen den entsprechenden sprite:

ent_create("sp.tga",vector(me.x,me.y,me.z),antrieb_effekt);

und Rufe die Funktion "antrieb_effekt" auf:

function antrieb_effekt()
{

me.flags = TRANSLUCENT | BRIGHT | BEAM;
me.alpha = 100;

while(1)
{
me.x += 1;
me.alpha -= 5*time_step;

if(me.alpha <= 0)
{
// ENTITY LÖSCHEN
}

wait(1);
}
}

So nun möchte ich das sobald der alpha wert bei 0 angekommen ist, die Entität löschen. Nur habe ich keine ahnung wie, habe das Handbuch nun schon durchwälzt und nichts entsprechendes gefunden. Zu dem Stand im Handbuch ebenfalls etwas von Partikel Effekten welches eine andere Art von Entität ist, funktionieren diese nicht mit der Trial version von GS A8?
Posted By: MasterQ32

Re: Partikel Effekt - 02/22/11 16:19

doch, die effekte funktionieren
such einfach mal nach der funktion "effect", bei ihr ist ein beispiel dabei!
um eine entity zu löschen, brauchst du den befehlt ent_remove(ENTITY* ent).
Wenn du ihn aufrufst, solltest du danach die funktion beenden:
Code:
if(me.alpha <= 0)
{
// ENTITY LÖSCHEN
ent_remove(me);
return;
}


außerdem hast du an einer stelle time_step vergessen:
Code:
me.x += 1*time_step; // Hier genauso!
me.alpha -= 5*time_step;


Posted By: Neoxit

Re: Partikel Effekt - 02/22/11 16:28

Jau danke dir danach habe ich gesucht, habs mit ent_free, ent_delete, ent_del etc versucht aber mit remove hab ichs nicht versucht ^^*

Ok kurze frage habe den part über Partikeleffecte gefunden und auch gleich mal ausprobiert, auf was würdet ihr denn eigentlich eher tendieren? Es geht hierbei später um einen Antriebstrahl eines Raumschiffes, welcher auch verschmiert werden soll (daher ja der BEAM flag). Habe alles nun mal auf effect umgestellt und nun ist das problem, das er mir bei ent_remove(p); ein fehler aufzeigt. Auch mit der p.lifespan = 0 ist in kurzer zeit schluss mit ruckelfreiheit da zu viele partikel geladen wurden aber anscheinend keine aus dem Speicher gehauen werden.

[EDIT]
Hat sich erledigt, klappt doch mit p.lifespan = 0;
Danke dennoch ^^
© 2024 lite-C Forums