Hallo Leute.
Ich habe, nachdem es in Soul Reavers und meinem Projekt ein Problem mit dem Partikelsystem gibt mich mal drangesetzt und etwas Versucht. Da wir ein fpsunabhängiges system haben müssen wir natürlich geschwindigkeit etc mithilfe einer variablen anpassen. In meinem Testsystem funktioniert das so:
das heißt bei einer Framrate von 30 ist die variable time=1 und nun werden eben alle variablen die speed usw anbelangen mit dieser variable multipliziert. Das funktioniert auch überall nur nicht beim Partikelsystem. Wenn ich zb von einer Framerate von 100fps ausgehe und nehmen wir an im spiel fällt sie dann auf 30, sind die partikel alle viel schneller als es eigentlich sein sollte.
Ist das PArtikelsystem zu empfindlich für sowas oder muss ich was spezielles beachten?
Ich weiß schon dass ich dann die Partikeleinstellungen refreshen muss.
EDIT: Im Projekt siehts so aus. global.deltatime ist hier die Variable für das oben genannte, die Abfrage auf argument0 is einfach nur obs refresht wird oder neu erstellt.
Ich habe, nachdem es in Soul Reavers und meinem Projekt ein Problem mit dem Partikelsystem gibt mich mal drangesetzt und etwas Versucht. Da wir ein fpsunabhängiges system haben müssen wir natürlich geschwindigkeit etc mithilfe einer variablen anpassen. In meinem Testsystem funktioniert das so:
das heißt bei einer Framrate von 30 ist die variable time=1 und nun werden eben alle variablen die speed usw anbelangen mit dieser variable multipliziert. Das funktioniert auch überall nur nicht beim Partikelsystem. Wenn ich zb von einer Framerate von 100fps ausgehe und nehmen wir an im spiel fällt sie dann auf 30, sind die partikel alle viel schneller als es eigentlich sein sollte.
Ist das PArtikelsystem zu empfindlich für sowas oder muss ich was spezielles beachten?
Ich weiß schon dass ich dann die Partikeleinstellungen refreshen muss.
EDIT: Im Projekt siehts so aus. global.deltatime ist hier die Variable für das oben genannte, die Abfrage auf argument0 is einfach nur obs refresht wird oder neu erstellt.
GML-Quellcode
- if (argument0=0){
- global.p_shell=part_type_create()
- part_type_sprite(global.p_shell,global.sprite_shell,0,0,1)
- part_type_alpha3(global.p_shell,1,1,0)
- part_type_orientation(global.p_shell,0,360,0,0,1)
- part_type_size(global.p_shell,0.2,0.2,0,0)}
- part_type_life(global.p_shell,500*(1/global.deltatime),550*(1/global.deltatime))
- part_type_speed(global.p_shell,4*global.deltatime,7*global.deltatime,-0.2*global.deltatime,0)

© 2008 by Teamgrill Productions
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MasterXY ()

)