Yugop Matrix

KiRiN

Mitglied
Hallo!
Ich bin ziemlich neu in Flash, genauer gesagt arbeite ich seit zwei Tagen damit.
Ich versuche eine Yugop Matrix hinzubekommen, (scheint ja sehr bekannt zu sein). ich kriege es aber einfach nicht hin!
So wie ich das verstanden habe ist das Prinzip einfach:
- so ein Wabbeleffekt
- die Größe der Kreise ist gleich die umgekehrte Distanz der Maus
- minimale und Maximale Größe werden festgelegt

Es wäre ja nicht so schlimm, wenn es irgendwo, irgend ein Tutorial dafür geben würde, ich habe aber ganz ehrlich keins gefunden.

Achso: Soweit ich weiß gibt es mehrere Yugop Matrizen, ich meine die mit den Kreisen, die wenn die Maus näher kommt, immer gößer werden. - Falls man das nicht aus meinem Text erschließen kann.
 
Klar doch.

Also eigentlich ofiziell soll das der Herr auf yugop.com das "erfunden" haben, dort habe ich es auch gesehen, die links auf yugop sind aber kompliziert, nicht gefunden ^^, deswegen habe ich das selbe nochmal auf moxiecode (auch ne tolle page) herausgesucht.

Oh, noch etwas vergessen: Das auf Moxiecode und auf Yugop wahrscheinlich auch, ist für Flash 5, ginge nicht dasselbe auch für MX, oder Flash 8?
 
Ein Tutorial speziell dafür kenne ich auch nicht - aber man kann ja mal anfangen:

Ein Ansatz:
- Ein Movieclip in der Bibliothek
- der erhält einen Bezeichner namens "bobbl" (rechte Maustaste auf das Symbol ->
Verknüpfung -> Export für Actionscript anhaken und Bezeichner eingeben)
- und dann in die Zeitleiste in einen Frame
PHP:
//nur für die Tiefe beim attachen
var a = 0;
//maximaler Faktor
var maxscale = 200;
//minimaler Faktor
var minscale = 10;
//Abstand des Felds vom Rand
var pos = 50
//Abstand untereinander
var space = 50
// verteilen, 10 x 5 Punkte
for (var i = 0; i<10; i++) {
	for (var j = 0; j<5; j++) {
		newbobbl = this.attachMovie("bobbl", "bobbl", a++);
		// Eigenschaften zuweisen (Position/Abstand/Startskalierung)
		newbobbl._x = i*this.space+this.pos;
		newbobbl._y = j*this.space+this.pos;
		newbobbl._xscale = this.minscale;
		newbobbl._yscale = this.minscale;
		//bei jedem Framedurchlauf
		newbobbl.onEnterFrame = function() {
			//Differenz zur Maus
			this.xdist = Math.abs(this._x-this._parent._xmouse);
			this.ydist = Math.abs(this._y-this._parent._ymouse);
			//der gute alte Pythagoras für die Distanz gesamt ;)
			this.dist = Math.sqrt(Math.pow(this.xdist,2)+Math.pow(this.ydist,2));
			//neue Skalierung (maximale Skalierung - Distanz)
			this.newscale = (this._parent.maxscale-this.dist);
			//falls nicht zu klein, Skalierung zuweisen ansonsten Minimalskalierung
			if (this.newscale>this._parent.minscale) {
				this._xscale = this.newscale;
			} else {
				this._xscale = this._parent.minscale;
			}
			//die vertikale Skalierung entspricht der horizontalen
			this._yscale = this._xscale;
		};
	}
}
stop();
Damit hätten wir
- das Verteilen auf der Bühne
- die Reaktion auf die Maus

Was noch fehlt
- das "Weiche" beim Skalieren
- das Wabbeln

Aber daran kannst ja dann weiter arbeiten ... das Prinzip hast ja schon selbst genannt. :)
Für das Wabbeln such hier oder in sonstigen Ressourcen mal nach "wabbel" oder
"wobbel" oder so ähnlich ... spätestens bei Flashstar.de dürftest du fündig werden.

Gruß
Rena

PS: Script oben geht von Flash MX mit AS1 bis Flash8 mit AS1/2
 
Zuletzt bearbeitet:
Zurück