Eine bestimmte Anzahl Partikel per Funktion emittieren
Übersicht

coldieBetreff: Eine bestimmte Anzahl Partikel per Funktion emittieren |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das Problem ist folgendes: Ich hab einen Partikel(dustsprite) geladen und den dann folgendermaßen "animiert"
Code: [AUSKLAPPEN] If framenum<50
ScaleSprite dustsprite, 1+0.4*framenum,1+0.4*framenum framenum=framenum+0.1 MoveEntity dustsprite,0,0.02,0.2 else freeentity dustsprite EndIf jetzt würd ich gern eine Funktion draus machen, die dasselbe mit mehreren Partikeln macht, aber natürlich so, dass alle 1-2 Frames ein neuer Partikel dazukommt. Leider hab ich keine Ahnung wie man mit einer Funktion mehrere Objekte erstellen und die dann auch noch getrennt voneinander modifizieren kann. so pls. help ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
entfernt.
Sorry dachte wär im anderen Beginner. Geht so in B3D natürlich nicht. Hectic's Lösung ist die funktionierende |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
- Zuletzt bearbeitet von Dreamora am Sa, Apr 29, 2006 19:37, insgesamt einmal bearbeitet
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst es zB mit Dims machen, wenn die Maximalanzahl bekannt ist. Oder aber auch mit Types, wenn die Anzahl im Spiel variiert.
Beispiel mit Dim on the fly: Code: [AUSKLAPPEN] Dim dustsprite(99) ; Für 100 Sprites
dustsprite(0)=LoadSprite("pfad",modus) For q=1 To 99 dustsprite(q)=CopyEntity dustsprite(0) Next ;Ab hier kannst du dann alle einzelnt manipulieren ;Beispiel: PositionEntity dustsprite(23),10,10,0 Beispiel mit Types on the fly: Code: [AUSKLAPPEN] Type flare
Field id% Field xp# Field yp# Field xg# Field yg# Field rp# Field rg# End Type referenz=LoadSprite("pfad",modus) HideEntity referenz ;Ab hier in Hauptschleife ;Ein neues Sprite erstellen f.flare=New flare f\id=CopyEntity(referenz) ShowEntity f\id f\xp=0 f\yp=0 f\xg=Rnd(-.1,.1) f\yg=Rnd(-.1,.1) f\rg=Rnd(-.2,.2) f\rp=0 ;Sprite animieren For f.flare=Each flare f\xp=f\xp+f\xg f\yp=f\yp+f\yg f\rp=f\rp+f\rg ;Sprite löschen If aktuelleloeschen FreeEntity f\id Delete f End If Next |
||
coldie |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jo erstmal danke.
@dreamora: zur tlist konnte ich irgendwie nichts gescheites finden, sicher das es das in blitz 3d gibt? @hectic: nochmals thx. mit dim und types hab ich mich noch nicht beschäftigt. Mal sehen wie ich damit zurechtkomm. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
sorry, dachte wär im BM forum, habe posting entsprechend editiert. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group