Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-02-2006, 15:02   #1 (permalink)
Digger2k3
Gast
 
Beiträge: n/a
Kleiner Partikeleffekt

Hi zusammen,

nach langer Abstinenz hier im FF hab ich heute mal wieder n halbes Stündchen in Flash rumgespielt und nen kleinen Partikeleffekt gebastelt ... ist wirklich nix späktakuläres, aber wenn man n paar Vars ändert und die Grafik ändert, kann man sich den Effekt schön anpassen denke ich.

Kleine Vorschau


Hier erstmal das AS:

Code:
    MovieClip.prototype.animation = function() {     this.onEnterFrame = function() {         var randomNum:Number = Math.floor(Math.random() * (10 - (-10) + 1)) + (-10);            this._y -= (Math.random()*(Math.random()*12));                          this._x += randomNum;                                                      this._alpha = Math.random()*100;                                                        if(this._y <= 50) {                             this._alpha -= 10;         }                 } } for (i=0; i<=200; i++) {                    _root.createEmptyMovieClip("atMC"+i, 99+i);        _root["atMC"+i].attachMovie("punkt", "punkt"+i, 200+i);         if (i==0) {                    _root["atMC"+i]._x = 300;                              _root["atMC"+i]._y = 250;                              _root["atMC"+i].animation();                                                        } else {                                                    _root["atMC"+i]._x = 300;                              _root["atMC"+i]._y = 250;                              _root["atMC"+i].animation();                                }                                        }


Und als Anhang die RARs, erste für MX 2004 und zweite für Flash8

In den fla's ist der Code auch kommentiert.

Ich hoffe irgendjemand erfreut sich dran und kann einen Nutzen daraus ziehen.


Über Kritik und Anregungen würde ich mich sehr freuen.

Gruß

Tino
Angehängte Dateien
Dateityp: rar partikel_MX.rar (8,1 KB, 58x aufgerufen)
Dateityp: rar partikel_Flash8.rar (8,2 KB, 101x aufgerufen)

Geändert von Digger2k3 (04-02-2006 um 15:07 Uhr)
  Mit Zitat antworten
Alt 04-02-2006, 15:14   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.749
Nett!
Schon mal bei O2 angefragt..?

Den enterFrame würd ich noch killen zwecks Performance...
sonar ist offline   Mit Zitat antworten
Alt 04-02-2006, 15:18   #3 (permalink)
Digger2k3
Gast
 
Beiträge: n/a
Zitat:
Zitat von sonar
Nett!
Schon mal bei O2 angefragt..?

Den enterFrame würd ich noch killen zwecks Performance...

danke, das freut mich.

Joa, muss ich wohl noch machen, frisst ganz schön, hab ich grade auf dem Rechner von nem Kumpel mitbekommen ... aber ist ja auch noch die erste Fassung, die zweite folgt demnächst ..

Gruß

Tino
  Mit Zitat antworten
Alt 04-02-2006, 15:35   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.749
Naja, brauchst ja nach der _y-Abfrage nur noch folgendes:
PHP-Code:
if (this._alpha <= 0this.onEnterFrame null
sonar ist offline   Mit Zitat antworten
Alt 04-02-2006, 15:42   #5 (permalink)
Digger2k3
Gast
 
Beiträge: n/a
Oha ... stimmt ... mensch, da hab ich wiedermal über 5 Ecken gedacht

Danke dir

Hier nochmal der aktualisierte Code

Code:
    MovieClip.prototype.animation = function() {     this.onEnterFrame = function() {         var randomNum:Number = Math.floor(Math.random() * (5 - (-5) + 1)) + (-5);         this._y -= (Math.random()*(Math.random()*12));            this._x += randomNum;                                               if(this._y <= 50) {                        this._alpha -= 10;         } else {             this._alpha = Math.random()*100;                }                 if(this._alpha <= 0) {             this.onEnterFrame = null;         }                             } } for (i=0; i<=200; i++) {                                                                    _root.createEmptyMovieClip("atMC"+i, 99+i);              _root["atMC"+i].attachMovie("punkt", "punkt"+i, 200+i);         if (i==0) {          _root["atMC"+i]._x = 300;         _root["atMC"+i]._y = 250;            _root["atMC"+i].animation();     } else {            _root["atMC"+i]._x = 300;         _root["atMC"+i]._y = 250;         _root["atMC"+i].animation();     } }

Zeile 7 - 11
So wird nun auch der Alpha- Fade richtig gemacht, der hat vorher net so gefunzt wie er sollte ...
Zeile 13 - 15
onEnterFrame - Anweisung wird gelöscht - DANKE sonar
Jetzt mach ich mir erstmal nen Kopf, wie ich das Script inne Schleife pappen kann, so dass der Effekt nicht aufhört,aber das frisst zu sehr Perfomance oder ?

THX

Gruß

Tino
  Mit Zitat antworten
Alt 05-02-2006, 15:27   #6 (permalink)
Digger2k3
Gast
 
Beiträge: n/a
Hi,

so hier jetzt der Partikeleffekt im onEnterFrame - somit läuft er kontinuierlich, ist aber sehr performancelastig ....

Code:
    var i:Number = 0;MovieClip.prototype.animation = function() {    this.onEnterFrame = function() {        var randomNum:Number = Math.floor(Math.random() * (5 - (-5) + 1)) + (-5);        this._y -= (Math.random()*(Math.random()*12));            this._x += randomNum;                                              if(this._y <= 50) {                       this._alpha -= 10;        } else {            this._alpha = Math.random()*100;                }                if(this._alpha <= 0) {            this.onEnterFrame = null;         }                            }}//for (i=0; i<=200; i++) {_root.onEnterFrame = function() {    i++;    _root.createEmptyMovieClip("atMC"+i, 99+i);             _root["atMC"+i].attachMovie("punkt", "punkt"+i, 200+i);        if (i==0) {         _root["atMC"+i]._x = 300;        _root["atMC"+i]._y = 250;           _root["atMC"+i].animation();    } else {            _root["atMC"+i]._x = 300;        _root["atMC"+i]._y = 250;        _root["atMC"+i].animation();    }}

Vorschau hier

Geändert von Digger2k3 (05-02-2006 um 15:28 Uhr)
  Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2014 Marc Thiele