Feldmatrix Prototype

Matthias Kannengiesser

Erfahrenes Mitglied
Hier ein neuer Prototype zum spielen:

PHP:
MovieClip.prototype.setMatrix = function (pClip, pReihen, pSpalte, pDim, pDist, pFarbe, pAlpha, pAbstand, pMax, pMin, pMult, pFraktion) {
	var tiefe;
	for (var i = 0; i<pReihen; i++) {
		for (var j = 0; j<pSpalte; j++) {
			this[pClip] = this.createEmptyMovieClip(pClip+j+"_"+i, tiefe++);
			with (this[pClip]) {
				beginFill(pFarbe, pAlpha);
				moveTo(-pDim, -pDim);
				lineTo(pDim, -pDim);
				lineTo(pDim, pDim);
				lineTo(-pDim, pDim);
				lineTo(-pDim, -pDim);
				_x = Math.round(i*((2*pDim)+pDist)+Stage.width/2-((pReihen-1)*((2*pDim)+pDist)/2));
				_y = Math.round(j*((2*pDim)+pDist)+Stage.height/2-((pSpalte-1)*((2*pDim)+pDist)/2));
			}
			this[pClip].onEnterFrame = function() {
				this.abstX = this._x-_root._xmouse;
				this.abstY = this._y-_root._ymouse;
				this.abstand = Math.sqrt((this.abstX*this.abstX)+(this.abstY*this.abstY));
				if (this.abstand<pAbstand) {
					this.dimX = pMax-this.abstand;
					this.dimY = pMax-this.abstand;
				} else {
					this.dimX = pMin;
					this.dimY = pMin;
				}
				this.skalX = ((this.dimX-this._xscale)*pMult)+(this.skalX*pFraktion);
				this.skalY = ((this.dimY-this._yscale)*pMult)+(this.skalY*pFraktion);
				this._xscale += this.skalX;
				this._yscale += this.skalY;
			};
		}
	}
}

// Verwenden
this.setMatrix("feld", 10, 10, 10, 4, 0x0000ff, 25, 150, 250, 100 ,.36, .75);

Einfach kopieren und einfügen.

Variante:
PHP:
// Ebene 1
this.setMatrix("feld", 10, 10, 10, 0, 0xffff00, 25, 150, 250, 100 ,.36, .75);

// Ebene 2
this.createEmptyMovieClip("mc",100);
this.mc.setMatrix("feld", 10, 10, 10, 0, 0xff0000, 25, 150, 250, 100 ,.36, .90);

// Ebene 3
this.createEmptyMovieClip("mc2",200);
this.mc2.setMatrix("feld", 10, 10, 10, 0, 0x0000ff, 25, 150, 250, 100 ,.36, .20);

Liebe Grüsse
Matze K.
 
Hi, find ich echt schön das du uns deine Ergebnisse immer zeigst :)
Könntest du hier vielleicht einen Link posten wo man schon ein paar Aktionen des Spiels slebst testen kann? Also so wie bei diesem coolem Roboter, damit man schon bischen spielen kann. Danke

MfG kingax
 
Hinweis:
Solange man lediglich die Quadrate verwendet hilft die folgende Codezeile zur Optimierung:

_quality = "LOW";

Am Besten in den Prototype hinein damit - aber Achtung quality beeinflusst nicht nur die bet. Movieclips sondern den gesamten Flash Film.

@Basileus: Ich hoffe du hast spass damit. :)

@horrorkid: Ich hab unter flashstar.de vier Varianten des Effekts gepostet.

Liebe Grüsse
Matze K.
 
... auch mit low noch 96% Prozessorauslastung ab dem Filmstart, aber wie geil, und mit wievielen kleinen Abänderungen man so verschiedene Ergebnisse erzielen kann... wenn man doch bloss diese geschichte und die resultierende Mausverzögerung in den Griff kriegen könnte...

B
 
@Basileus: Vorsicht die Prozessorauslastung 96% stammt vom Flash Player - pauschal, wenn ein Film abgespielt wird. Wie gemein MM schnappt sich nahezu alles. ;)

Liebe Grüsse
Matze K.
 
Danke Matthias werds mir gleich angucken :)

//edit: Genial!
 
Zuletzt bearbeitet von einem Moderator:
Zurück