[MX] RGB / Color Objekt Spielerei

Basileus

Erfahrenes Mitglied
Anbei eine kleine Spielerei mit dem Farbobjekt und ein "Forschungsauftrag": unter manchen nicht so direkt wiederholbaren Umständen gibts ein echtes Farbflackern wenn die maus unten rechts steht, und ich raff in diesem Bezug mein eigenes script nicht mehr..

siehe unten (edit wg. Anti Verwirrung)

B
 
Zuletzt bearbeitet:
Ist imho schwer was dazu zu sagen, weil ich mir nicht sicher bin, ob das ganze Script in dem Umfang wirklich notwendig ist oder ob es eben doch genau soviel nötig hat, um so auszusehen wie es derzeit tut. *g*

Interessant ist es allemal, aber zum Nachvollziehen fehlt mir die Lust, mich durch 100 Zeilen zu wühlen. :)

Kannst du evtl. mal eine kurze Beschreibung geben, auf welcher Logik das ganze basiert?

Bei mir wäre das eher ein Fall für setTransform() gewesen, nicht setRGB(), deswegen glaube ich auch eher, dass das ganze dann einfacher geworden wäre, aber so komplett zu beurteilen vermag ich es dann doch nicht.

Grüßle,
Geist
 
Naja,
das ding ist eigentlich nur ne grosse if schleife, und hat vier sensitive Fläc´hen zum abtasten, wenn die maus über einer der flächen ist holt er sich den Ausgangs RGB Wert, zerhäckselt den von hexadezimal in echte RGB Wert im dezimal System, überprüft auf die Bedingungen, setzt die neuen Werte, transformiert die wieder in eine zusammenhängende hexadezimal Zahl, macht set RGB und fängt wieder von vorne an.

Codesparend wäre sicher das Auslagern der Zahlentransformation in eine Funktion, mach ich auch noch, ausserdem muss man natürlich nicht zwangsläufig in dezimal umwandeln, aber der andere weg is jetzt auch nicht so viel einfacher.

Das doofe ist, das ich den Fehler nicht zuverlässig reproduzieren kann, was mich in Bezug auf eine Präsentation ein bisschen schwitzen lässt, aber ich arbeite dran.

B
 
Oki, die Erklärung leuchtet ein, so in etwa stellt man sich ja auch das ganze vor, würde ich meinen.

Ich drück dir die Daumen für die Präsentation und bis dahin noch zu erledigendes Debugging. :)

Geist
 
FRAME AS:
PHP:
setcolor = new Color(_root.changeling);
setcolor.setRGB(0xFFFFFF);

converter = function (R, G, B) {
	farbe = R.toString(16)+G.toString(16)+B.toString(16);
	setcolor.setRGB(parseInt(farbe, 16));
};

Objekt AS:

PHP:
onClipEvent (load) {
	setcolor.setRGB(0xFFFFFF);
}
onClipEvent (enterFrame) {
	Ausgangswert = _root.setcolor.getRGB().toString(16);
	R_old = Ausgangswert.substr(0, 2);
	G_old = Ausgangswert.substr(2, 2);
	B_old = Ausgangswert.substr(4, 2);
	R_old = parseInt(R_old, 16);
	G_old = parseInt(G_old, 16);
	B_old = parseInt(B_old, 16);
	if (_root.lo.hitTest(_root._xmouse, _root._ymouse, true)) {
		if (R_old>80) {
			R = R_old-5;
			G = G_old;
			B = B_old;
		} else if (G_old>80) {
			R = R_old;
			G = G_old-5;
			B = B_old;
		} else if (B_old>80) {
			R = R_old;
			G = G_old;
			B = B_old-5;
		}
		_root.converter(R, G, B);
	} else if (_root.lu.hitTest(_root._xmouse, _root._ymouse, true)) {
		if (R_old>50) {
			R = R_old-5;
			G = G_old;
			B = B_old;
		} else if (G_old<170) {
			R = R_old;
			G = G_old+5;
			B = B_old;
		} else if (B_old<200) {
			R = R_old;
			G = G_old;
			B = B_old+5;
		}
		_root.converter(R, G, B);
	} else if (_root.ro.hitTest(_root._xmouse, _root._ymouse, true)) {
		if (R_old<250) {
			R = R_old+5;
			G = G_old;
			B = B_old;
		} else if (G_old>50) {
			R = R_old;
			G = G_old-5;
			B = B_old;
		} else if (B_old>50) {
			R = R_old;
			G = G_old;
			B = B_old-5;
		}
		_root.converter(R, G, B);
	} else if (_root.ru.hitTest(_root._xmouse, _root._ymouse, true)) {
		if (R_old>50) {
			R = R_old-5;
			G = G_old;
			B = B_old;
		} else if (G_old>150) {
			R = R_old;
			G = G_old-5;
			B = B_old;
		} else if (B_old<250) {
			R = R_old;
			G = G_old;
			B = B_old+5;
		}
		_root.converter(R, G, B);
	}
}

Das Farbflackern war, wenn die maus vorm ausführen der Farbobjektinit die maus schon ein ereignis getriggert hatte ( immer wenn die maus beim ersten laden über der sensitiven Fläche stand, nach jedem reload gings dann super, echte Tarnung, zum Verrücktwerden)

@geist
keine panik mann ich wolt dich garantiert nicht für mich anschaffen lassen:) !!

Würd mich aber echt interessieren ob wir hier nicht noch nen längeren Thread zu diesem wie ich finde interessanten Thema dynamische Farbverläufe hinkriegen würden !! Gibts nämlich wenig Info hier bis jetzt..

B

P.S.:
Kann es sein das der Winter in Deutschland auch vorbei ist, oder warum gibts hier so wenig MotionTweening in den letzten Tagen ??
 

Anhänge

  • demo_adv.zip
    3 KB · Aufrufe: 51

Neue Beiträge

Zurück