partikel- Dim oder Type?
Übersicht

![]() |
KddCBetreff: partikel- Dim oder Type? |
![]() Antworten mit Zitat ![]() |
---|---|---|
moin
ich wollte mich nun mal an ein kleines "partikelsystem" wagen und habe mir dazu ein paar beispiele angesehen und habe teils welche mit dim feldern und ander mit types gesehen. was würdet ihr mir empfehlen- Types oder Dim? Und gibt es sonst noch etwas grundlegendes zu beachten? Das es später als singlesurface behandelt weden soll weiß ich schon werde es aber erstmal zum rumprobieren nur mit sprites machen. Danke für eure Hilfe kddc.l3usch |
||
- Zuletzt bearbeitet von KddC am Mi, Okt 03, 2007 10:20, insgesamt 4-mal bearbeitet
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Types oder alternativ Mal Banks ansehen.
Dim hat 2 Probleme: 1. Entweder du vergrösserst und verkleinerst ihn immer. dann wird er extrem langsam 2. Du vergrösserst und verkleinerst ihn net, dann hast du ne fixe grösse sprich fixe anzahl partikel fürs gesamte system, was auch net immer so toll ist. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
KddC |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für die fix antwort....dann werd ich wohl types nehmen....
mal sehen wie weit ich komm ![]() mfg |
||
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dreamora hat Folgendes geschrieben: Dim hat 2 Probleme: 1. Entweder du vergrösserst und verkleinerst ihn immer. dann wird er extrem langsam 2. Du vergrösserst und verkleinerst ihn net, dann hast du ne fixe grösse sprich fixe anzahl partikel fürs gesamte system, was auch net immer so toll ist. Oder wenn du Dim-Felder nehmen willst, benutze folgenden Walkaround: Mach ein ausreichend großes Dim-feld und speicher immer die Anzahl der Partikel in einer gesonderten Variable. So hast du nur noch das "Problem", dass du an eine Maximalgröße gebunden bist. |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
KddC |
![]() Antworten mit Zitat ![]() |
---|---|---|
auch noch mal danke...hab es jetzt aber mit types gemacht...ich hatte eh schon mit types angefangen war aber n biischen verunsichert was denn nun besser ist.
wenn ihr wollt könnt ihr euch das ja mal anschauen. habe es mit Rauchtextur hochgeladen und den code hier gepostet...könnt ja mal gucken. hab ausserdem eine Frage...man kann ja auch ne textur nehmen die das programm direkt in c speichert. das sind dann ganz normale Kreise... Und bei denen erkennt man, anders als bei der rauchtextur, dass die Partikel wenn sie in der luft fliegen immer stark hin undher ruckeln...könnt ihr mir sagen wie man das behebt und woran das liegt...das wäre nett. Danke ![]() ![]() ![]() also hier der Link(zip archiv mit rauchtextur) http://www.file-upload.net/dow...h.zip.html Und hier der code Code: [AUSKLAPPEN] ; von Julian Tiemann
partikel=CreateImage(64, 64) SetBuffer ImageBuffer(partikel) ClsColor 0, 0, 0 Cls Color 255, 255, 255 Oval 16, 16, 32, 32 SaveBuffer(ImageBuffer(Partikel), "C:/Partikel.bmp") AppTitle "Rauchpartikel" Graphics3D 800,600,32,2 SeedRnd MilliSecs() camera=CreateCamera() PositionEntity camera,0,1,-10 Type partikel Field Qualm Field zeit# Field alpha# Field groesse# Field farbg Field farbr End Type Global Qualm = LoadSprite("smoke1.bmp",3) ;<-------------wenn man die Rauchtextur hat ;Global Qualm = LoadSprite("C:\partikel.bmp",3) ;<-------------wenn man die Rauchtextur nicht hat HideEntity qualm HidePointer ;-----------------------------------------------Hauptteil-----------------------------------------------; Repeat mx=MouseX() my=MouseY() If MouseDown(1) Then ADDqualm() End If curTime = MilliSecs() If curTime > checkTime Then checkTime = curTime + 1000 curFPS = fpscounter fpscounter = 0 If currentFrame>75 If curFPS<fps_low Then fps_low = curFPS EndIf Else fpscounter = fpscounter + 1 End If UpdateWorld() UppQualm() RenderWorld() Oval mx-3,my-3,6,6,0 Text 0,0,curfps Flip Until KeyHit(1) ;----------------------------------------------Ende Hauptteil-------------------------------------------; End ;---------------------------------------------Qualm erstellen-------------------------------------------; Function AddQualm() For i=0 To 2 p.partikel=New partikel p\qualm=CopyEntity(Qualm) p\zeit#=100 p\alpha#=Rnd(0.1,0.9) p\groesse#=Rnd(90,100) p\farbg=255 p\farbr=255 PositionEntity p\qualm,(MouseX()/100)-5.5,-MouseY()/100+4,0 Next End Function ;-------------------------------------------Qualm aktualisieren-----------------------------------------; Function UppQualm() For p.partikel = Each partikel If p\zeit# > 0 Then p\zeit# = p\zeit# + 1 p\alpha#=p\alpha#-0.01 p\groesse#=p\groesse+5 p\farbg=p\farbg-4 TranslateEntity p\qualm,Sin(Rnd(-0.5,0.5))*20 ,Rnd(0.07,0.1),Rnd(-0.5,0.5) EntityColor p\qualm,p\farbr,p\farbg,0 EntityAlpha P\qualm,P\alpha# ScaleSprite P\qualm,P\groesse# /150,P\groesse# /150 ;<-------------wenn man die Rauchtextur hat ;ScaleSprite P\qualm,P\groesse# /300,P\groesse#/300 ;<-------------wenn man die Rauchtextur nicht hat End If If p\alpha# < 0.1 Then FreeEntity P\qualm Delete P End If Next End Function Danke für eure Hilfe kddc.l3usch |
||
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
habs mir mal angeschaut, und ich hab drei punkte die mich stören
1) blitzforum bietet ein archiv an wo man runterladen kann, keine dritt seiten (des mag ich halt ned .. ist soein tick von mir) 2) der rauch kommt etwas schnell, als würde er mit druck irgenwo hinausgeblasen, würde somit als dampf besser passen. 3) Der rauch wird nicht da erstellt, wo die maus ist. Von der obtik her und wie die so erstellt wurden/übergänge hat mir gefallen. ~edit~ noobfrage: ist das eigentlich ein "richtiges" partikel system? mfg Dottakopf |
||
![]() |
KddC |
![]() Antworten mit Zitat ![]() |
---|---|---|
nein ist kein system ![]() ![]() habe jetzt auch neu angefangen um das ganze einem system ein stück näher zu bringen ![]() Ich habe auch nicht vor das ganze später mit partikel candy zu vergleich sondern es wäre dann vllt auch so gedacht, dass sich anfänger das ganze mal anschauen und benutzen können und vllt auch n bisschen daraus lernen können weil ich denke dass es vergleichsweise sehr sein wird und somit um einiges übersichtlicher. Mal sehen vllt kommt es ja auch gar nicht so weit. das mit der geschwindigkeit stimmt....der ist wirklich sehr schnell ![]() und dass mit der maus ist mir auch bewusst....ich hab nur noch nicht herausgefunden woran es liegt.... und den nächsten versuch werde ich extra für dich hier im archiev hochladen (wie groß dürfen die dateien eig sein die man hier hochläd?) mfg |
||
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oha nur intwa 2MB ^^
Nö du brauchst nich für mich extra etwas neues/besseres schreiben, ich arbeite mit sowas überhaupt nicht, und müsste des selbst ersmal ânschauen, wie man sowas macht. wegen der maus: Ka woran das liegt, aber ich glaube im 3D nimmt er mousex() und mousey() nicht einfach so, bzw. die "übersetztung" von 2D bildschim kordinate auf 3D koordinate im raum stimmt dann nicht so genau. Hab blos mal kurz im 3D bereich gearbeitet, daher bin ich da n voll nubie mfg Dottakopf |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group