Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-09-2005, 16:26   #1 (permalink)
Scary Guy
 
Benutzerbild von Tarcon
 
Registriert seit: Sep 2001
Ort: Hamburg
Beiträge: 107
Variablen und Scopes...

Hallo!

Ich bekomm´s einfach nicht hin und habe mich verrannt. Muss etwas ganz blödes einfaches sein, aber ich finde es nicht.

Ich möchte eine Variable setzen und dann mit Hilfe einer Funktion und einem Intervall hochzählen lassen um mit diesem Wert das Alpha einer Instanz zu ändern. Mit "FOR" funktioniert das auch super, aber alles andere. Schätze, ich schmeiße Scopes durcheinander.

Es sieht jetzt so aus:
Frame 1:
ActionScript:
  1. _global.i=0;

Frame 2:
ActionScript:
  1. stop();
  2. function showlogo() {
  3.     catlogo._alpha=(_global.i);
  4.     trace(_global.i);
  5.     _global.i++;
  6.     clearInterval(intv);
  7. }
  8. intv=setInterval( showlogo, 100 );

"i" wird auf Null gesetzt, es wird aber nichts mehr hochgezählt. Ich möchte natürlich nicht, dass das erste Frame wieder ausgeführt wird, damit _global.i nicht wieder auf 0 gesetzt wird.

Weiß jemand Hilfe?

Vielen Dank
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 27-09-2005, 17:18   #2 (permalink)
Scary Guy
 
Benutzerbild von Tarcon
 
Registriert seit: Sep 2001
Ort: Hamburg
Beiträge: 107
Nun, ich habe es jetzt so probiert, das geht aber auch nicht. Ich möchte eigentlich nur einen Einblendeffekt mit AS erzielen, der nicht per Tween abläuft. Das Hochzählen mit for geht aber so schnell, dass die Schleife durch ist, bevor der MC richtig aufgebaut ist.

ActionScript:
  1. stop();
  2. function showlogo(i) {
  3.     catlogo._alpha=(i);
  4.     trace(i);
  5.     //clearInterval(intv);
  6. }
  7. for (i=0;i<=100;i++) {
  8.     intv=setInterval( showlogo(i), 1000 );
  9. }
__________________
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 27-09-2005, 17:34   #3 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
Das mit der Schleife geht nicht nur zu schnell, der MC wird gar nicht neu gezeichnet...
Der Inhalt der Bühne wird nur gezeichnet, nachdem das komplette Script in einem Frame ausgeführt wurde.

setInterval( showlogo(i), 1000 );
geht auch nicht, da du als parameter eine funktion übergeben musst.
wenn du schreibst: showlogo(i)
dann wird der rückgabewert der funktion übergeben, diese hat aber keinen
also wenn überhaupt dann:
setInterval( showlogo, 1000, i );

versuchs mal so:
ActionScript:
  1. i = 0;
  2. function showlogo(){
  3.  catlogo._alpha = i;
  4.  i++;
  5.  if(i>100){
  6.   clearInterval(intv);
  7.  }
  8. }
  9. showlogo();
  10. intv = setInterval(showlogo, 100);
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 29-09-2005, 09:14   #4 (permalink)
Scary Guy
 
Benutzerbild von Tarcon
 
Registriert seit: Sep 2001
Ort: Hamburg
Beiträge: 107
Vielen Dank!

Das funktioniert auf Anhieb.
Dann ist mir jetzt auch klar, wo ich den den Denkfehler gemacht habe.
Ich war immer der Meinung, der Film würde sich ständig selbst loopen und somit während der laufenden Schleife immer wieder zum Frame zurückkehren, in dem die Schleife steht. Dann wäre i immer wieder auf 0 zurückgesetzt worden und deshalb habe ich es anders versucht!

Danke nochmal! Das klärt noch so einiges mehr bei mir. ;-)
__________________
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 29-09-2005, 12:56   #5 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
Jo, standardweise loop der film immer durch, aber nur wenn du mehr als einen frame hast. Genauer gesagt wenn der film länger als 1 frame ist.

das versteh ich auch nicht so ganz...
1 frame loopt nicht, 2 frames loopen
aber ich nehms mal so hin
__________________
Some Flash Worx
Alphanimal 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 10:51 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele