Blutfluss (Pur via ActionScript)

Matthias Kannengiesser

Erfahrenes Mitglied
Hi Folks,

Vielleicht wollt Ihr ja mal Farbe bzw. Blut über den Bildschirm laufen lassen. Hier eine kleine Anregung:

PHP:
createEmptyMovieClip("farbe", 1000);
punktListe = new Array();
clipID = new Array();
anzahl = 20;
breite = Stage.width;
for (var i = 0; i < anzahl; i++) {
	x = ((breite / (anzahl - 1)) * i);
	punktListe[i] = {x:x, y:20, vy: (Math.random() * 0.8) + 0.1};
	clipID[i] = {x:0, y:0};
}
onEnterFrame = function () {
	for (var i = 0; i < anzahl; i++) {
		punktListe[i].vy = punktListe[i].vy + ((Math.random() * 0.1) - 0.05);
		if (punktListe[i].vy < 0) {
			punktListe[i].vy = 0;
		}
		punktListe[i].y = punktListe[i].y + punktListe[i].vy;
		clipID[i].x = (punktListe[i].x + punktListe[i + 1].x) / 2;
		clipID[i].y = (punktListe[i].y + punktListe[i + 1].y) / 2;
	}
	farbe.clear();
	farbe.beginFill(0xff0000, 100);
	farbe.moveTo(punktListe[0].x, punktListe[0].y);
	farbe.lineStyle(1, 0, 100);
	for (var i = 1; i < (anzahl - 2); i++) {
		farbe.curveTo(punktListe[i].x, punktListe[i].y, clipID[i].x, clipID[i].y);
	}
	farbe.curveTo(punktListe[i].x, punktListe[i].y, punktListe[i + 1].x, punktListe[i + 1].y);
	farbe.lineTo(breite, 0);
	farbe.lineTo(0, 0);
	farbe.lineTo(punktListe[0].x, punktListe[0].y);
};

Beispiel:
schau mal rein

Download:
hier lang

Be inspired.

Liebe Grüsse
Matze K.
 
Wow, sieht echt super aus! Hab das nachgemacht, bei mir bleibt oben immer ein weisser Rand, kann mir jemand sagen, wie ich den wegbekomme?
 
Hi@Madokan

Ich schon wieder ;)

Hab mir auch mal das script kopiert.
Meine Bühne für den Test war 850*550 groß und ich habe auch an der rechten Seite einen weissen Rand von 3pix wo der Blutfluss nicht die Bühne abdeckt !?

Hier mal die fla-datei
 
Zuletzt bearbeitet:
@root_alpha: Der weisse Rand am rechten Rand ist zu erklären - in der Entwicklungsumgebung von Flash ist Stage.width "ungenau" - eine Abweichung von 4 Pixeln um es genau zu sagen.

Testen: trace mal die Variable breite - nach der Codezeile breite = Stage.width

Ausserhalb von Flash im Player und Plug-In gibt es diese Abweichung nicht mehr.

Wie gemein was. :)

@BigHerkules: Wie gesagt hierzu müsste ich mal die Datei sehen - oben u. unten sollten keine Ränder über bleiben.

Liebe Grüsse
Matze K.
 
Zurück