Counts Partikel Lib
Übersicht BlitzBasic Codearchiv
count-dokuBetreff: Counts Partikel Lib |
Mo, Mai 03, 2010 21:49 Antworten mit Zitat |
|
---|---|---|
Hi,
ich hatte am Wochenende ein wenig zu viel Zeit. Und so habe ich mich mal an einer Partikel lib versucht. Sie läuft auch stabil und schnell. Ist allerdings nur 2D... Befehle sind: CreateEmitter(x,y,min_winkel#,max_winkel#,time,parts_activation,min_life,max_life,min_speed#,max_speed#,min_color,max_color$) x,y ist die Position des Emitters min und max_winkel die Ausstrahlrichtung time ist die Zeit bis zur nächsten Ausgabe von Partikeln in ms parts_activation ist die Anzahl der Partikel pro Ausgabe min und max_life die Zeit wie lange ein Partikel "lebt" min und max_speed die Geschwindigkeit min_color die Farbuntergrenze max_color die Farbobergrenze Beides RGB Werte, lässt man max_color aus. Wird als Farbe min_color verwendet. CreateParticle(x,y,winkel#,life,speed#,farbe) x,y die Startposition winkel die Flugrichtung life Flugzeit speed Fluggeschwindigkeit farbe die Farbe des Partikels Alle diese Werte werden normalerweise von CreateEmitter übernommen. UpdateEmitters() Updatet alle Emitter und sendet evtl. neue Partikel aus. UpdateParticles() Updatet alle Partikel, zeichnet oder löscht sie. Beide Funktionen müssen in der Hauptschleife vor Flip und nach Cls aufgerufen werden. Die lib verwendet weiterhin 2Types: TEmitter und TParticle Code: BlitzBasic: [AUSKLAPPEN] ;Particle library from Count-Doku Lauffähiges Beispiel: BlitzBasic: [AUSKLAPPEN] ;Partikel test file Wenn ihr noch irgendwelche Fehler findet sagt es, ich werde sie dann beheben. Ansonsten viel spaß mit meiner Partikel lib. mfg, count-doku EDIT: Das [B3D] entfernt. EDIT2: Kleinen Geschwindigkeitsvorteil eingebaut. Danke Eingeproggt! |
||
- Zuletzt bearbeitet von count-doku am Sa, Mai 22, 2010 20:39, insgesamt 4-mal bearbeitet
Eingeproggt |
Mo, Mai 03, 2010 21:59 Antworten mit Zitat |
|
---|---|---|
Habs noch nicht getestet aber nach kurzem durchschauen des Codes würd ich sagen kann das [B3D] im Threadtitel weg oder?
und ein ganz klein wenig mehr Geschwindigkeit wär drin wenn du in "UpdateParticles" GraphicsWidth bzw. GraphicsHeight in Variablen speicherst anstatt sie für jeden Partikel erneut aufzurufen. mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
count-doku |
Di, Mai 04, 2010 8:33 Antworten mit Zitat |
|
---|---|---|
Ja das mit in einer Variable speichern würde es beschleunigen,
allerdings wollte ich in der Lib komplett auf eine globale Variable verzichten. Habs aber mal in einem Testprog ausprobiert: Ohne Debugger: Mit GraphicsWidth und GraphicsHeight: 2ms Mit Variable die einmal definiert wird: 1.5ms mfg, count-doku |
||
Übersicht BlitzBasic Codearchiv
Powered by phpBB © 2001 - 2006, phpBB Group