Eine bestimmte Anzahl Partikel per Funktion emittieren

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

coldie

Betreff: Eine bestimmte Anzahl Partikel per Funktion emittieren

BeitragSa, Apr 29, 2006 18:42
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Confused
 

Dreamora

BeitragSa, Apr 29, 2006 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
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

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Apr 29, 2006 19:17
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Apr 29, 2006 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Apr 29, 2006 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group