B3D Particle ***LoadSprite Frage***

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Mulei

Betreff: B3D Particle ***LoadSprite Frage***

BeitragDo, Mai 25, 2006 9:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ich habe mal ne Frage
Ich möchte gerne wenn in der Function Plop_Effekt(Gelb) steht das er dann Gelbe Particle erstellt und wenn Rot dann halt Rote aber das Programm ignoriert die If abfragen.

Könnt ihr mir weiterhelfen.

Hier sind die Grafiken
https://www.blitzforum.de/upload/file.php?id=121
https://www.blitzforum.de/upload/file.php?id=120


Code: [AUSKLAPPEN]

Graphics3D 800,600,32,2
   SetBuffer BackBuffer()

 camera=CreateCamera()
 CameraClsMode camera,0,1
 CameraRange camera,1,800
 PositionEntity camera,400,-300,400
Cls


;; Felder erstellen
   Type particle
      Field xpos#
       Field ypos#
      Field xspeed#
      Field yspeed#   
      Field sprite
      Field rotation
      Field winkel
      Field alpha#
      Field richtung
   End Type






Function Plop_Effekt(SpriteF)

For I=0 To 1
R = Rand(1,2)


         ;; Neue Partikel hinzufügen
         pt.particle = New particle
            pt\xpos = MouseX() + Rand(-15,15)
            pt\ypos = MouseY()
            pt\xspeed = Rnd(-4,4)
            pt\yspeed = Rnd(-4,4)
            pt\alpha = 1
            If SpriteF = Gelb Then pt\sprite = LoadSprite("Gelb_Sprite.bmp")
             If SpriteF = Rot Then pt\sprite = LoadSprite("Rot_Sprite.bmp")
             ScaleSprite pt\sprite,5,5
         ;; Particle Drehung
            If R = 1 Then
              pt\richtung = Rand(-10,-5)
             Else
                  pt\richtung = Rand(5,10)
                EndIf
       Next

End Function



Function Explosion_Particle()



         
 For pt.particle = Each particle
      pt\xpos = pt\xpos + pt\xspeed + windspeed#
      pt\ypos = pt\ypos + pt\yspeed
      pt\winkel=(pt\winkel+pt\richtung) Mod 360
      RotateSprite pt\sprite,pt\winkel
      pt\alpha = pt\alpha - 0.005
      EntityAlpha pt\sprite,pt\alpha





 PositionEntity pt\sprite,pt\xpos,-(pt\ypos), 800


   ;; Partikel welche ausserhalb des Bildschirms liegen,werden gelöscht
   If pt\alpha <= 0 Then
    Delete pt
   EndIf
   

 
   
   Next

End Function










Repeat
Cls





If MouseDown(1)
 Plop_Effekt(Gelb)
EndIf
 Explosion_Particle()


RenderWorld()
Flip


Until KeyDown(1)

End

Goodjee

BeitragDo, Mai 25, 2006 10:29
Antworten mit Zitat
Benutzer-Profile anzeigen
die function muss so heißen:
Code: [AUSKLAPPEN]
Function Plop_Effekt(SpriteF$)
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Lunatix

BeitragDo, Mai 25, 2006 13:03
Antworten mit Zitat
Benutzer-Profile anzeigen
und das Plopp_Effekt(Gelb) muss Plopp__Effekt("Gelb") sein
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

BladeRunner

Moderator

BeitragFr, Mai 26, 2006 1:34
Antworten mit Zitat
Benutzer-Profile anzeigen
oder aber du setzt GELB und ROT als globale Konstanten fest, d.h.
BlitzBasic: [AUSKLAPPEN]

Const GELB = 0
Const ROT = 1


Hat den angenehmen Nebeneffekt dass Du zur Not auch mit den Zahlenwerten arbeiten kannst.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Mulei

Betreff: Danke

BeitragFr, Mai 26, 2006 22:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Vielen Dank hat mir sehr geholfen.

P.S wie findet ihr eigendlich die Particle Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group