Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-08-2003, 14:39   #1 (permalink)
jlo
keep on crushin´...
 
Registriert seit: May 2003
Ort: mönchengladbach
Beiträge: 64
dynamisches Textfeld ausblenden (-faden)

Hi Leute,

ich habe ein dynamisches Textfeld mit "createTextField" erstellt und lösche es mit ".removeTextField", wenn es nicht mehr gebraucht wird. So weit, so gut.

Nun möchte ich aber das Textfeld "ausblenden", bevor es "removed" wird.

Dazu habe ich es mit folgendem Script probiert:

ActionScript:
  1. for (var i = 100;i <= 0;i--) {
  2.    _root["meinTextFeld"]._alpha = i;
  3. }

Das funzt aber leider nicht. Weiß jemand, warum???
__________________
jlo


Das Leben ist zu kurz, um sich zu langweilen!
jlo ist offline   Mit Zitat antworten
Alt 14-08-2003, 14:55   #2 (permalink)
anyway
Gast
 
Beiträge: n/a
...weil Deine for-Schleife binnen Sekundenbruchteilen durchgelaufen ist - danach rendert Flash erst die Screen; mit dem Ergebnis, daß Dein Textfeld dann bereits schon aufsgefadet ist.

Schreib das mal ins erste Keyframe Deiner Hauptzeitleiste Start den Film und sieh was passiert - den Rest müsstest Du dann auch alleine schaffen.

ActionScript:
  1. alph = 100;
  2. onEnterFrame = function () {
  3. trace(alph--);
  4. }

anyway.
  Mit Zitat antworten
Alt 14-08-2003, 15:29   #3 (permalink)
jlo
keep on crushin´...
 
Registriert seit: May 2003
Ort: mönchengladbach
Beiträge: 64
Hallo anyway,

leider versteh´ nicht so ganz, was Du mir mit Deinem AS mitteilen möchtest!!

OK, meine Schleife wird zu schnell durchlaufen. So schnell, dass es nicht zur Anzeige kommt. Aber wie sieht eine Lösung aus? Muss ich eine Pause einbauen, oder wie, oder was???
__________________
jlo


Das Leben ist zu kurz, um sich zu langweilen!
jlo ist offline   Mit Zitat antworten
Alt 14-08-2003, 15:38   #4 (permalink)
paranoid...
 
Benutzerbild von Geheimrat
 
Registriert seit: Aug 2002
Ort: Marburg
Beiträge: 1.003
Irre ich mich, oder kann man dynamische Textfelder gar nicht faden?
__________________
...ich sag's nur meinem Fanblog: ICH BLOGGE !
Geheimrat ist offline   Mit Zitat antworten
Alt 14-08-2003, 16:03   #5 (permalink)
Pixelschieber
 
Benutzerbild von casio
 
Registriert seit: Feb 2002
Ort: Hamburg
Beiträge: 300
eben....dynamische Textfelder lassen nicht mit Alphawerten ausblenden.

Das müßte man ein bisschen tricksen...
__________________
Sogar sekundär-strukturierte Sonarselektoren sondieren
sensitive Selektionssimulatoren.
casio ist offline   Mit Zitat antworten
Alt 14-08-2003, 16:07   #6 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
warum ? einach textfel in ein emc packen
und den faden.....
PHP-Code:



alph 
100;
mc.onEnterFrame = function () {
        
alph--;
this._alpha=alph

__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 14-08-2003, 16:14   #7 (permalink)
Pixelschieber
 
Benutzerbild von casio
 
Registriert seit: Feb 2002
Ort: Hamburg
Beiträge: 300
@Bloba.....wenn das so einfach funktionieren würde...

Probiere es mal aus, was du geschrieben hast..
__________________
Sogar sekundär-strukturierte Sonarselektoren sondieren
sensitive Selektionssimulatoren.
casio ist offline   Mit Zitat antworten
Alt 14-08-2003, 17:00   #8 (permalink)
anyway
Gast
 
Beiträge: n/a
@ casio:

Dann bette doch mal einen Font in das dynamische Textfeld ein und probier nochmal, was der bloba da gepostet hat - er hat nämlich recht

@ jlo:

Nö, keine Pause - aber Du musst halt einen enterFrame-Event nutzen, damit pro angezeigtem Bild etwas von Deinem Alphakanal abgezogen wird...Das mit der for-Schleife klappt vielleicht bei Javascript nicht aber in Flash.


anyway.
  Mit Zitat antworten
Alt 14-08-2003, 18:05   #9 (permalink)
paranoid...
 
Benutzerbild von Geheimrat
 
Registriert seit: Aug 2002
Ort: Marburg
Beiträge: 1.003
@anyway

Jaaa...aber Fonts einbetten ist doof...ich benutze da immer einen kleinen Trick.

Einfach einen MC in der Farbe des Hintergrundes über das Textfeld legen...und den dann EINBLENDEN...geht auch...

Ist zwar Holzhammer-Methode...aber immer noch besser als die Fonts einzubetten...

__________________
...ich sag's nur meinem Fanblog: ICH BLOGGE !
Geheimrat ist offline   Mit Zitat antworten
Alt 14-08-2003, 18:53   #10 (permalink)
Pixelschieber
 
Benutzerbild von casio
 
Registriert seit: Feb 2002
Ort: Hamburg
Beiträge: 300
@anyware

sorry...nimm alles zurück...*verneig*

aber trotzdem nimmt dann der Film einiges an kb zu...
__________________
Sogar sekundär-strukturierte Sonarselektoren sondieren
sensitive Selektionssimulatoren.
casio ist offline   Mit Zitat antworten
Alt 15-08-2003, 10:42   #11 (permalink)
jlo
keep on crushin´...
 
Registriert seit: May 2003
Ort: mönchengladbach
Beiträge: 64
Hey Flasher,

leider bin ich gestern nicht mehr zum posten gekommen. Entschuldigt also bitte die Verspätung.

@ anyway

Ich habe Dein Script gestern natürlich probiert, bevor ich gepostet habe. Im Trace hat er auch schön bin ins unendliche runter gezählt.

Mein Problem ist, dass die von mir angewandte Funktion bereits im "onEnterFrame"-Event steht. Vielleicht komme ich heute dazu, die fla zu posten. Bin mir aber nicht ganz sicher...

@ bloba

Ich werde den Vorschlag mal checken. Vielleicht funzt´s ja...

@ alle anderen

Danke für die Tipps und Hinweise.
__________________
jlo


Das Leben ist zu kurz, um sich zu langweilen!
jlo ist offline   Mit Zitat antworten
Alt 15-08-2003, 11:08   #12 (permalink)
jlo
keep on crushin´...
 
Registriert seit: May 2003
Ort: mönchengladbach
Beiträge: 64
Hi Leute,

die fla ist einfach zu groß. Hier das Script. Es handelt sich um Text-Anzeigen eines Preloaders, die im Anschluss an die "Verrichtung der Arbeit" nicht einfach gelöscht, sondern ausgeblendet werden sollen.

Vielleicht wird das Problem damit deutlicher. Vielleicht hab´ ich mich ja auch nur falsch ausgedrückt

ActionScript:
  1. /*  Textfelder zur Anzeige der Info´s mit eigenem Format anlegen */
  2.    
  3.   // Format definieren
  4.   myFormat = new TextFormat();
  5.   myFormat.font = "Verdana";
  6.   myFormat.size = 10;
  7.   myFormat.bold = true;
  8.   myFormat.color = 0xffffff;
  9.  
  10.   // Felder erzeugen
  11.   for(var i = 0;i <= 4;i++){
  12.     _root.createTextField("anzeige" + i, 1, 100, 200, 250, 20);
  13.     _root["anzeige" + i].setNewTextFormat(myFormat);
  14.   }
  15.  
  16.  
  17. /*  onEnterFrame */
  18.  
  19.   _root.onEnterFrame = function(){
  20.     arc()
  21.     var t = _root.getBytesTotal();
  22.     var g = _root.getBytesLoaded();
  23.     var st = getTimer();
  24.     var rt = Math.round((st-at)/1000);
  25.     var et = Math.round((t*rt)/g);
  26.     var ct = Math.round(-(rt-et));
  27.    
  28.     if (g == t) {
  29.  
  30.       // faden
  31.       for(var i = 100;i <= 0;i--) {
  32.         _root["anzeige0"]._alpha = i;
  33.         _root["anzeige1"]._alpha = i;
  34.         _root["anzeige2"]._alpha = i;
  35.         _root["anzeige3"]._alpha = i;
  36.         _root["anzeige4"]._alpha = i;
  37.       }
  38.      
  39.       // Textfelder löschen
  40.       for(var i = 0;i <= 4;i++) {
  41.         _root["anzeige" + i].removeTextField();
  42.       }
  43.  
  44.       _root.d_mc.clear();      
  45.       delete this.onEnterFrame;
  46.       gotoAndPlay(10);
  47.        
  48.     } else {
  49.       var p = (g/t)*100;
  50.       anzeige0.text = "geladen = " + Math.round(g / 1024) + " Kb";
  51.       anzeige1.text = "total = " + Math.round(t / 1024) + " Kb";
  52.       anzeige2.text = Math.round(p) + " % loaded";
  53.       anzeige3.text = "abgelaufene Zeit = " + rt + " sek.";
  54.       anzeige4.text = "noch circa " + ct +" sek.";
  55.       sector = Math.round(p * 3.6);  
  56.     }
  57.   }
__________________
jlo


Das Leben ist zu kurz, um sich zu langweilen!
jlo ist offline   Mit Zitat antworten
Alt 15-08-2003, 11:41   #13 (permalink)
anyway
Gast
 
Beiträge: n/a
Habe Dein Script nur überflogen. Aber was mir auf anhieb auffällt ist, daß Du die Verdana, die Du für Dein TF verwendest nicht einbettest.

Damit würde lediglich die Systemschriftart Verdana angezeigt werden (insofern auf dem Usersystem vorhanden) oder ein vergleichbarer Schriftschnitt bei nicht-Vorhandensein der Verdana.

In beiden Fällen wäre es jedoch nicht möglich das TF per Alphakanal ein- bzw auszublenden.

Eine recht gute Lösung wäre hier, eine swf zu laden, die nichts anderes enthält, als ein dynamisches Textfeld, in das der jeweilige Schriftschnitt komplett eingebettet wäre.
Dieses TF wäre dann auch nachträglich zu formatieren + Du müsstest den jeweiligen Font nicht in den Hauptfilm einbetten.

@ casio:

Manchmal kommt man aber nicht umhin, den Font einzubetten. Wenn der Kunde z.B. einen bestimmten Font favorisiert, muß der auch eingebettet sein, um zu gewährleisten, daß auf sämtlichen Userrechnern auch nur dieser Font angezeigt wird und kein Systemersatz.
Ergibt sich halt immer aus den Anforderungen, die das jeweilige Layout stellt.

anyway.
  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 05:57 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele