| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| habs vergessen Registriert seit: Feb 2006
Beiträge: 990
| [stuff] particles
hallo zusammen, habe mal probiert möglichst viele particle aufzusetzen, offline schafft mein player 5000 - online bin ich mit 3000 unterwegs. mein script habe ich mehr oder weniger ´runtergeschlonst, das kann jeder nach belieben optimieren, umbauen usw. ... feedback ist wie immer willkommen. ![]() ansehen & testen die fla ziehen das ganze auf einen blick: Code:
// --------------------------------------------------------------------------------------------------
stop();
// --------------------------------------------------------------------------------------------------
///////////////////////////////////
// setup particles global vars
///////////////////////////////////
var count:Number = 0;
var particles:Number = 3000;
var sArr:Array = new Array();
// --------------------------------------------------------------------------------------------------
///////////////////////////////////
// init particles
///////////////////////////////////
var i:Number = particles;
while (i > 0) {
var dt:Sprite = new Sprite();
dt.name = "dt" + String(i);
stage.addChild(dt);
dt.x = Math.round(Math.random() * 540);
dt.y = Math.round(Math.random() * 400);
sArr.push(new Object({vx:0,vy:0,ux:0,uy:0,dx:0,dy:0}));
dt.graphics.beginFill(0xffffff,1);
dt.graphics.drawRect(0,0,1,1);
i--;
}
// --------------------------------------------------------------------------------------------------
///////////////////////////////////
// paint particles
///////////////////////////////////
function paintParticles (event:Event) {
var i:Number = particles-1;
while (i > 0) {
var p = stage.getChildAt(i);
if (p.name.indexOf("dt",0) != -1) {
sArr[i].dx = stage.mouseX - p.x;
sArr[i].dy = stage.mouseY - p.y;
var dist = Math.sqrt(sArr[i].dx * sArr[i].dx + sArr[i].dy * sArr[i].dy);
if (dist < 50) {
sArr[i].ux = stage.mouseX - sArr[i].dx / dist * 50;
sArr[i].uy = stage.mouseY - sArr[i].dy / dist * 50;
sArr[i].vx += (sArr[i].ux - p.x) * .1;
sArr[i].vy += (sArr[i].uy - p.y) * .1;
}
var va = p.rotation * Math.PI / 180;
var vx = Math.cos(va) * (.8-(Math.sin(8)*.15+Math.sin(2)*.15+.9));
var vy = Math.sin(va) * (.8-(Math.sin(8)*.15+Math.sin(2)*.15+.9));
sArr[i].vx += vx;
sArr[i].vy += vy;
sArr[i].vx *= .9;
sArr[i].vy *= .9;
p.x += sArr[i].vx;
p.y += sArr[i].vy;
if (p.x > 540) {
p.x = 0;
}
if (p.x < 0) {
p.x = 540;
}
if (p.y > 400) {
p.y = 0;
}
if (p.y < 0) {
p.y = 400;
}
}
i--;
}
}
// --------------------------------------------------------------------------------------------------
///////////////////////////////////
// init enter frame event
///////////////////////////////////
this.addEventListener(Event.ENTER_FRAME, paintParticles); Geändert von pwdVergesser (26-01-2007 um 14:33 Uhr) |
| | |
| | #6 (permalink) |
| Nordlicht Registriert seit: Jun 2001 Ort: Hamburg
Beiträge: 569
|
Ich muss mal den Leuten hier im AS3 - Bereich ein RIESEN - Kompliment machen. Langsam geht das alles in die richtige Richtung, obwohl mich das ganze stark an die alte C64 - Zeit erinnert. Das ausprobieren und letztendlich Bestmögliche aus dem zu holen, was Möglich ist. Macht weiter so Jungs, ist wirklich sehr inspirierend. Gruß... ...Patrick. PS : Andre Michelle, ich bin gespannt, was einer der kreativsten Köpfe der Flasher - Szene ( Ja DU ! ) demnächst alles bringt. Ich habe schon ein paar Ideen, welche alten C64-Games man alles mit AS3 realisieren kann.
__________________ "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen." Wachsamkeit ist der Preis der Freiheit - Keine Zensur! – Wau Holland – http://www.wauland.de |
| | |
| | #7 (permalink) | |
| [+] Registriert seit: Dec 2002 Ort: cologne
Beiträge: 2.271
| Zitat:
Geändert von André Michelle (27-01-2007 um 08:30 Uhr) | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |