Punkte nach Bild verteilen

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

ToeB

Betreff: Punkte nach Bild verteilen

BeitragDi, Dez 30, 2008 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich wollte anlässlig des bevorstehendem silvester abend eine kleine Paticle-demo in form von silvester rakten effecten erstellen, funzt auch alles und sieht sehr schön aus. Jetzt wollt ich aber die Punkte die bei einer Explosion logischer weiße wegfliegen nach einem 32*32 bild anordnen und dann gleichmäßig auseinander fliegen lassen. Das anordnen hab ich so geamacht :
Code: [AUSKLAPPEN]
LockBuffer ImageBuffer(t_img,a)
   For xx = 1 To 32
      For yy = 1 To 32
         pix = ReadPixelFast(xx,yy,ImageBuffer(t_img,a))
         r_=(pix And$FF0000) / $10000
         g_=(pix And$FF00) / $100
         b_=pix And$FF
         If r_ > 0 And g_ > 0 And b_ > 0
            SetParticleColor(r,g,b)
            w# = -ATan2(xx-16,yy-16)+90
            AddParticle(Rand(300,400),2,x+(xx-16)/10.0,y-(yy-16)/10.0,z,Cos(w)*0.01,-Sin(w)*0.01,0,Rand(360),Rnd(0.1,5),0,0.5,1)            
         EndIf
      Next
   Next
   UnlockBuffer ImageBuffer(t_img,a)


es wird jeder pixl durchgeprüft und wenn er nicht schwarz ist wird ein neuer Particle erstellt. Das funzt ja auch nur die verteilung klappt nicht. Ich wollte der Winkel zur mitte (16,16) ausrechnen lassen und dann in diesem winkel den speed mit Sin/Cos berechnen. Aber das klappt nicht so ganz. Wie mach ich das am besten, so dass die figur sich praktisch "vergrößert" also die particle alle gleich schnell weg fliegen, so das man die Figur auch noch erkennt ?

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group