Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-02-2006, 19:30   #1 (permalink)
Scary Guy
 
Benutzerbild von Tarcon
 
Registriert seit: Sep 2001
Ort: Hamburg
Beiträge: 107
MC-Alpha mit SetInterval ein- und ausblenden

Hallo liebe Flasher,

ich habe hier ein Projekt, bei dem ich u. a. 24 MC´s habe, die selektiv per AS ein- und ausgeblendet werden sollen. Ich habe es zunächst wieder einmal mit einer For-Schleife versucht, jedoch läuft das Fading dann so schnell ab, dass man es schlicht nicht sehen kann. Dann habe ich mich auf SetInterval konzentriert, aber irgendwas in meinem Script funktioniert nicht. Entweder habe ich Alpha 100 % oder eben 0 %. Alles dazwischen wird nicht sichtbar.

Das Ganze passiert in einer Funktion, die ich im ersten Schlüsselbild definiert habe. Diese Funktion soll nun von jedem beliebigen Frame aus aufgerufen werden können, das entsprechende Feld ein- bzw. ausblenden, soll aber dabei nicht umherspringen, also soll alles was angezeigt wird dort stehenbleiben, wo es sich gerade befindet.

Hier die FLA-Datei zum herunterladen (ca. 14 MB)...
http://www.localmusic.de/emotion1.zip


Und hier einmal meine beiden Funktionen.
(Den Hintergrund habe ich aus Gründen der Dateigröße entfernt. Später wird hinter den ein- oder ausgeblendeten Flächen natürlich Hintergrund zu sehen sein.)

PHP-Code:
fadingtime=500;

fadeIn = function (whitebox) {
    if (eval(
this["alphabox"+whitebox])._alpha<100) {
        eval(
this["alphabox"+whitebox])._alpha = eval(this["alphabox"+whitebox])._alpha+1;
        
clearInterval(intv);
        
intv=setIntervalfadeIn(whitebox), 11500 );
    } else {
        
clearInterval(intv);
    }
};

fadeOut = function (whitebox) {
trace(eval(this["alphabox"+whitebox])._alpha);
    if (eval(
this["alphabox"+whitebox])._alpha>0) {
        eval(
this["alphabox"+whitebox])._alpha = eval(this["alphabox"+whitebox])._alpha-1;
        
clearInterval(intv);
        
intv=setIntervalfadeOut(whitebox), 11500 );
    } else {
        
clearInterval(intv);
        
//eval(this["alphabox"+whitebox]).visible==false;
    
}
}; 
Die Intervall-Wartezeit ist derzeit nur zu Testzwecken so hoch!

Und vielleicht hat noch jemand einen Tipp...
Brauche ich tatsächlich für die 24 Flächen 24 verschiedene MC´s, so wie ich es derzeit gemacht habe, oder reicht es, wenn ich immer den gleichen MC verwende, allerdings unterschiedliche Instanznamen vergebe? Auch das würde mir zumindest ein wenig weiterhelfen.

Vielen Dank!!!

Viele Grüße
Tarcon
__________________
Tarcon - macht weiße Screens noch weißer.

If you can´t learn to do something
well, learn to enjoy doing it poorly.

Geändert von Tarcon (13-02-2006 um 20:15 Uhr)
Tarcon ist offline   Mit Zitat antworten
Alt 13-02-2006, 23:42   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Die Intervall-Wartezeit ist derzeit nur zu Testzwecken so hoch!
Na ja, aber bei einem Prozent Änderung alle 11,5 Sekunden wirst du so frühestens nach 10 Minuten eine sichtbare Änderung erkennen können...

Versuchs testweise mal mit einem onEnterFrame-Event:
ActionScript:
  1. function fadein(whitebox){
  2.    trace("whitebox="+whitebox);//was wird hier denn übergeben?
  3.    this.onEnterFrame = function(){
  4.       if(this["alphabox"+whitebox]._alpha<100) {
  5.             this["alphabox"+whitebox]._alpha += 5;
  6.       }
  7.       else{
  8.          delete this.onEnterFrame;
  9.       }
  10.    }
  11. }
  Mit Zitat antworten
Alt 13-02-2006, 23:47   #3 (permalink)
Scary Guy
 
Benutzerbild von Tarcon
 
Registriert seit: Sep 2001
Ort: Hamburg
Beiträge: 107
Recht hast Du, das würde wahrscheinlich sehr lange dauern.
Ich habe die Zahl nur so hoch gesetzt, weil ich sehen wollte, ob überhaupt eine Verzögerung eintritt und genau das passiert eben nicht, auch nicht bei 11,5 Sekunden... *seufz*

Ich probier´s mal mit onEnterFrame...
Sage dann bescheid, ob es geklappt hat.

Vielen dank vorerst! ;-)

Edit:
Achja, übergeben wird die Nummer der ein- oder auszublendenden Box. Die haben Instanznamen von alphabox1-alphabox24.
__________________
Tarcon - macht weiße Screens noch weißer.

If you can´t learn to do something
well, learn to enjoy doing it poorly.

Geändert von Tarcon (13-02-2006 um 23:48 Uhr)
Tarcon ist offline   Mit Zitat antworten
Alt 14-02-2006, 00:03   #4 (permalink)
Scary Guy
 
Benutzerbild von Tarcon
 
Registriert seit: Sep 2001
Ort: Hamburg
Beiträge: 107
Ähm...

Tja, okay...
Mit onEnterFrame funktioniert das einwandfrei. Allerdings muss ich zugeben, dass ich noch nicht ganz verstanden habe, warum das so ist.
Ich ging davon aus, dass ich immer wieder in diesem Frame landen muss, damit das Ganze auch ausgeführt wird. Und genau das war es ja, was ich nicht wollte.

Dennoch... Es läuft... Hmm...
Kannst Du mir noch kurz etwas zu den Instanznamen sagen? Also, brauche ich 24 verschiedene MC´s oder reicht ein einziger, den ich 24mal platziere und dann immer nur einen anderen Instanznamen vergebe?
Ich gehe jetzt mal davon aus, dass das der Fall ist, denn ansonsten wäre auch Flash ein totaler Speicherverschwender, oder?

Bevor ich nun aber meinen ganzen Film umbaue, ohne zu wissen ob ich Recht habe, hilft mir vielleicht ein Ja oder Nein weiter! ;-)

Vielen Dank aber schonmal für die andere Lösung! Einsame klasse!

Gruß
Tarcon
__________________
Tarcon - macht weiße Screens noch weißer.

If you can´t learn to do something
well, learn to enjoy doing it poorly.
Tarcon ist offline   Mit Zitat antworten
Alt 14-02-2006, 00:13   #5 (permalink)
Scary Guy
 
Benutzerbild von Tarcon
 
Registriert seit: Sep 2001
Ort: Hamburg
Beiträge: 107
Sorry... Nochmal.

Ich habe es nun doch mal kurz auf andere Weise probiert...
Es funktioniert mit nur einem MC und verschiedenen Instanznamen.

Gruß
Tarcon
__________________
Tarcon - macht weiße Screens noch weißer.

If you can´t learn to do something
well, learn to enjoy doing it poorly.
Tarcon ist offline   Mit Zitat antworten
Alt 14-02-2006, 11:15   #6 (permalink)
Scary Guy
 
Benutzerbild von Tarcon
 
Registriert seit: Sep 2001
Ort: Hamburg
Beiträge: 107
Hallo!

Ich bin es schon wieder... Ich habe nun ein weiteres Problem, wenn es denn eines ist. Ich kann jetzt mit Hilfe der Funktionen wunderbar die einzelnen MC´s ein- und ausblenden. Wenn ich allerdings im Verlauf z. B. das Einblenden starte und vor Ablauf des vollständigen Einblendens einen weiteren MC mit der Funktion einblenden will, wird das Einblenden des vorigen MC´s abgebrochen und bleibt mit der Transparenz dort stehen, wo er gerade ist.

Ich würde es aber gerne so haben, dass einen weiteren Aufruf der Funktion tätige und dann der eine MC zuende blendet, während der andere damit beginnt, oder aber der neue Aufruf solange wartet, bis der vorige abgeschlossen ist und erst dann durchgeführt wird.

Ich habe aber keine Idee, wie ich das machen soll!
Den Status des gerade ein- oder ausblendenden MC´s kann ich ja abfragen. Aber wenn der neue Aufruf dazu kommt... Was mache ich dann?

Bin ein wenig ratlos!

Gruß
Tarcon
__________________
Tarcon - macht weiße Screens noch weißer.

If you can´t learn to do something
well, learn to enjoy doing it poorly.
Tarcon ist offline   Mit Zitat antworten
Alt 14-02-2006, 11:31   #7 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Mach doch nen Prototype aus der Funktion! Den kannst du dann für jeden MC aufrufen...
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 14-02-2006, 11:34   #8 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
ich hatte da vor langer zeit mal was gescripted
[Stuff] einfaden und ausfaden von mc´s

die aktuelleren functions sind ein ganzes stück weiter hinten

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 14-02-2006, 15:05   #9 (permalink)
Scary Guy
 
Benutzerbild von Tarcon
 
Registriert seit: Sep 2001
Ort: Hamburg
Beiträge: 107
Also, ihr hattet beide Recht.

Ja, ein Prototype macht Sinn.

Und ja, offensichtlich hast Du schon einmal etwas entwickelt, was genau meinen Zwecken dienlich wäre.

Was soll ich sagen...

Es ist! Vielen Dank! Funktioniert bestens, auch wenn ich eine Weile gebraucht habe um zu begreifen, was da eigentlich passiert. Im Wesentlichen ist es jetzt in mein Hirn vorgedrungen.

Wirklich klasse!
Vielen Dank nochmal!


Gruß
Tarcon
__________________
Tarcon - macht weiße Screens noch weißer.

If you can´t learn to do something
well, learn to enjoy doing it poorly.
Tarcon ist offline   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 20:10 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele