Color faden

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Megamag

Betreff: Color faden

BeitragMi, Dez 09, 2009 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe gerade ein totales Blackout bei einer simplen Mathematikaufgabe oO

Ich habe einen EntityColor Wert von 150,150,190.
Dieser soll auf 147,62,0 runtertransformiert werden, und zwar langsam.

Jetzt habe ich eine Countervariable mit einem Wert von 150, die in .01 Schritten auf 147 gezählt wird. Und ich suche jetzt diese blöden Faktoren, um die anderen Werte mit dieser Variable anzugleichen. Und ich finde einfach keine Lösung, obwohl es eigentlich ganz simpel sein sollte...

Könnt ihr mir da mal kurz helfen?

Goodjee

BeitragMi, Dez 09, 2009 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
guck doch die diferenzen an

das wären dann ja 3,88 und 190
die teilst du dann durch die frames wie lange das faden dauern soll und fügst jeden frame die different/frameanzahl auf die komponente der farbe dazu
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Megamag

BeitragMi, Dez 09, 2009 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Das verstehe ich jetzt irgendwie nicht.
Wie kommst du denn auf 3.88?

Nicdel

BeitragMi, Dez 09, 2009 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Er meint 3, 88 und 190. Das sind die Farbwerte, um die sich die Farbe verändert.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

Krischan

BeitragMi, Dez 09, 2009 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm vielleicht so? Anzahl der Schritte muss in steps festgelegt werden.

Code: [AUSKLAPPEN]
Graphics 800,600,32,2

r1=150 : r2=147
g1=150 : g2= 62
b1=190 : b2=  0

steps=600

rdiff=r2-r1 : rstep#=rdiff*1.0/steps
gdiff=g2-g1 : gstep#=gdiff*1.0/steps
bdiff=b2-b1 : bstep#=bdiff*1.0/steps

For i=1 To steps
   
   r=r1+(i*rstep)
   g=g1+(i*gstep)
   b=b1+(i*bstep)
   
   Color r,g,b
   Line 0,i,800,i
   
Next

WaitKey

End

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Dez 09, 2009 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine Variable von 0 bis 1 in geünscht kleinen Schritten zählen.

FR=Variable*Endwert+(1-Variable)*Startwert

Das dann auf alle Farben machen.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Krischan

BeitragMi, Dez 09, 2009 19:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, funzt auch:

Code: [AUSKLAPPEN]
Graphics 800,600,32,2

r1=150 : r2=147
g1=150 : g2= 62
b1=190 : b2=  0

For i#=0 To 1 Step 1.0/600
   
   r=i*r2+(1-i)*r1
   g=i*g2+(1-i)*g1
   b=i*b2+(1-i)*b1
   
   Color r,g,b
   Line 0,c,800,c
   
   c=c+1
   
Next

WaitKey

End

Der Eisvogel

BeitragMi, Dez 09, 2009 19:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich würde eine Variable machen, die von 0 bis 1 oder umgekehrt. Diese dann mal die Differenzen nehmen und dazuaddieren, bzw subtrahieren. Ist sehr variable und übersichtlich. Meine Meinung zu mindest.

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Megamag

BeitragMi, Dez 09, 2009 19:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke euch allen (besonders hectic Very Happy). Das funktioniert!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group