Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   [Andorra 2D] Particlesystem zur Laufzeit verändern (https://www.delphipraxis.net/156676-%5Bandorra-2d%5D-particlesystem-zur-laufzeit-veraendern.html)

w4rheart 10. Dez 2010 15:56

[Andorra 2D] Particlesystem zur Laufzeit verändern
 
Hallo zusammen!

Möchte creationangle meines default particles ändern.
So hab ich es erstellt:
Code:
 AdParticleSystem := TAdParticleSystem.Create(AdDraw);
 AdParticleSystem.LoadFromFile('particle.axp');
 AdParticleSystem.Texture := AdImageList.Find('particle').Texture;
Ich habe versucht über AdParticlesystem.defaultparticle auf creationangle zuzugreifen, was allerdings nicht geht!?

Folgendes habe ich dann versucht:
Code:
  particle := TAdBillboardParticle.Create(AdParticleSystem);
  particle := AdParticleSystem.defaultparticle as TAdBillboardParticle;
  particle.CreationAngle := trunc(raumschiff.angle);
  AdParticlesystem.DefaultParticle := particle;
Auch folgendes funktioniert nicht:

Code:
  particle := TAdBillboardParticle.Create(AdParticleSystem);
  particle := AdParticleSystem.defaultparticle as TAdBillboardParticle;
  AdParticleSystem.LoadFromFile('particle.axp');
  particle.CreationAngle := trunc(raumschiff.angle);
  AdParticlesystem.DefaultParticle := particle;
Dies ändert zwar den Winkel des Particles (Zumindest sieht es so aus), allerdings werden alle anderen Attribute die ich unter LoadFromFile('particle.axp'); benutze, nicht mehr angezeigt! Die Particle sind nun nur noch weiss!

Was muss ich also tun?

MfG

igel457 10. Dez 2010 21:53

AW: [Andorra 2D] Particlesystem zur Laufzeit verändern
 
Eigentlich solltest du einfach über
Delphi-Quellcode:
TAdParticleSystem.DefaultParticle.CreationAngle
auf die Eigenschaft zugreifen können. Durch das setzen von DefaultParticle werden alle dessen Eigenschatfen überschrieben.

w4rheart 12. Dez 2010 23:11

AW: [Andorra 2D] Particlesystem zur Laufzeit verändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das habe ich versucht. Klappt aber auch nicht, es sei denn ich verstehe hier irgendetwas grundlegend falsch =/

Siehe das Bild im Anhang. Ich kann hier nicht auf creationangle zugreifen.
(Ich möchte das Attribut natürlich nicht direkt nach dem ich das ParticleSystem created habe verändern.
Das ganze geschieht nacher in einer anderen Unit, aber vom Prinzip her genau so)

MfG

EDIT:
Selbst das hier klappt nicht:
Delphi-Quellcode:
   
  AdParticleSystem := TAdParticleSystem.Create( AdDraw );
  AdParticleSystem.DefaultParticle.LoadFromFile('bilder/particles/raumschiffantrieb.axp');
  AdParticleSystem.Texture := AdImageList.Find( 'particle' ).Texture;
EDIT2: SO geht es ebenfalls nicht:
Delphi-Quellcode:
    AdParticleSystem := TAdParticleSystem.Create( AdDraw );
    AdParticleSystem.Texture := AdImageList.Find( 'particle' ).Texture;
    AdDefaultParticle := TAdBillboardParticle.Create( AdParticleSystem );
    AdParticleSystem.DefaultParticle := AdDefaultParticle;
    AdDefaultParticle.LoadFromFile('bilder/particles/explosion.axp');
Ich kann zwar nun auf die Attribute zugreifen und diese verändern, allerdings wird mein Particle was im ParticleEditor erstellt wurde und über LoadFromFile geladen wurde nicht mehr angezeigt. Es sind jetzt nur weisse Particle die da rumfliegen?!!!

Könnte mir das bitte mal jemand erklären?
Ich möchte eifnach nur über LoadFromFile mein defaultParticle laden, und für dieses später/zur Laufzeit das Attribut Creationangle verändern!
Wieso ist das so schwierig?^^

igel457 13. Dez 2010 17:23

AW: [Andorra 2D] Particlesystem zur Laufzeit verändern
 
Du musst das natürlich noch entsprechend nach TAdBillboardParticle (oder was auch immer dein Partikeltype ist) casten - das hatte ich oben vergessen:
Delphi-Quellcode:
TAdBillboardParticle(AdParticleSystem.DefaultParticle).CreationAngle

w4rheart 14. Dez 2010 19:20

AW: [Andorra 2D] Particlesystem zur Laufzeit verändern
 
Danke nochmal! ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz