Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-05-2004, 10:48   #1 (permalink)
QuickScope
 
Benutzerbild von jaygroove
 
Registriert seit: May 2004
Ort: Upper Austria
Beiträge: 256
Unhappy Pause in AS

hallo leute!

ich weiss, dass das thema 'pause' schon x mal hier im forum behandelt worden ist. ich hab mir auch schon diverse sucheregebnisse reingezogen, aber dummerweise schaffe ich es einfach nicht, in AS eine Pause einzulegen. wäre dankbar über eure hilfe!

mein Script:

var pauseID_num:Number = setInterval ( pause, 5000 );
FadeIn ( this.contentBar_mc, 5 );
FadeIn ( this.contentTextfield_mc, 5);

function pause() {
clearInterval (pauseID_num);
};

--

wie ihr hier seht, versuche ich eine pause von 5 sek einzulegen bevor die ganzen objekte eingefadet werden (separate funktion, aber hier nicht weiter wesentlich)

auf jeden fall funktioniert die setInterval / clearInterval gschichte net... kann mir wer verraten wieso? bitte danke!

lg jay
jaygroove ist offline   Mit Zitat antworten
Alt 24-05-2004, 11:15   #2 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
versuch es doch mal so:

var pauseID_num:Number = setInterval ( pause, 5000 );

function pause() {
FadeIn ( this.contentBar_mc, 5 );
FadeIn ( this.contentTextfield_mc, 5);
clearInterval (pauseID_num);
};
mooseMash ist offline   Mit Zitat antworten
Alt 24-05-2004, 11:38   #3 (permalink)
QuickScope
 
Benutzerbild von jaygroove
 
Registriert seit: May 2004
Ort: Upper Austria
Beiträge: 256
tja, wenn ichs so probiere, dann wird gar nichts mehr eingefadet.
ausserdem wäre es nicht wirklich klug die fadeIns in die pausen funktion reinzugeben...

ich möchte dann, wenns funktioniert die pausen gschichte global zugänglich machen...
jaygroove ist offline   Mit Zitat antworten
Alt 24-05-2004, 11:45   #4 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Ort: Muc
Beiträge: 501
Hi@jaygroove

Vielleicht hilft Dir diese Variante von einer Pause!?.

ActionScript:
  1. onClipEvent (load) {
  2.         // Setzt die Variable 'startZeit' auf den Wert der abgelaufenen Zeit
  3.         // seit Beginn der Wiedergabe
  4.         startZeit = getTimer()/1000;
  5.         // Setzt die Variable 'verzoegerung' auf den eingegebenen Sekundenwert
  6.         verzoegerung = 20;
  7.         // Hält den Film in der Hauptzeitleiste an
  8.         _parent.stop();
  9. }
  10. onClipEvent (enterFrame) {
  11.         // Aktualisiert die Variable ständig mit der vergangenen Zeit
  12.         // seit Beginn der Wiedergabe
  13.         aktuelleZeit = getTimer()/1000;
  14.         // Wenn die Differenz zwischen aktueller- und startZeit größer als
  15.         // die eingegebene Verzögerungzeit ist...
  16.         if ((aktuelleZeit-startZeit)>=verzoegerung) {
  17.                 _parent.play();
  18.                 // Hier deine Aktion
  19.         }
  20. }
  21. //Das Skript gehört auf einen MC in der Hauptzeitleiste und stoppt den Film für die festgelegte Anzahl Sekunden.
  22.  
__________________
mfg. - - Mario - - Icq 124346551 : MyWebHome : flashworld.ch : photozauber.de :

Fragen zu Flash bitte im Forum stellen, Danke
root_alpha ist offline   Mit Zitat antworten
Alt 24-05-2004, 12:11   #5 (permalink)
QuickScope
 
Benutzerbild von jaygroove
 
Registriert seit: May 2004
Ort: Upper Austria
Beiträge: 256
hallo root_alpha!

danke für deine hilfe, aber leider ist es nicht das, was ich suche.

mir gehts nämlich nicht darum, den film an sich zu stoppen (ich habe auch nur einen keyframe). ich will lediglich folgendes bewirken:

5 sek. pause
fade in erstes element
5 sek. pause
fade in zweites element
... etc

deswegen sollte die pausenfunktion auch global zugänglich sein und lediglich das actionscript pausieren...

ich bin mir inzwischen auch gar nicht mehr sicher, ob ich die setInterval anweisung von der logik richtig verstanden habe. vielleicht scheiterts daran?
jaygroove ist offline   Mit Zitat antworten
Alt 24-05-2004, 12:23   #6 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
also ganz so sicher ob ich jetzt verstanden habe was du willst bin ich noch immer nicht, i'll try my very best


angenommen du schreibst deine mit der function "FadeIn" aufzurufenden elemente in ein array,

my Elements = new Array("this.contentBar_mc, 5 ","this.contentTextfield_mc, 5");

dann setzt du dein interval

var pauseID_num:Number = setInterval ( pause, 5000 ,i++);

function pause() {
if(i>myElements.length){
clearInterval (pauseID_num);
return;
}
FadeIn ( myElements[i] );

};
mooseMash ist offline   Mit Zitat antworten
Alt 24-05-2004, 13:57   #7 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
sorry kann so nicht hinhauen, hab ich was auf die schnelle versemmelt, besser:

myElements:Array = new Array("this.contentBar_mc","this.contentTextfield_ mc");

//zaehler setzen
var count_num:Number = 0;

// interval setzen
var pauseID_num:Number= setInterval ( pause, 5000 );

function pause() {
if(count_num>myElements.length-1){
clearInterval (pauseID_num);
return;
}
FadeIn ( myElements[count_num],5 );
count:_num++;
};

besser?!
mooseMash ist offline   Mit Zitat antworten
Alt 24-05-2004, 15:26   #8 (permalink)
QuickScope
 
Benutzerbild von jaygroove
 
Registriert seit: May 2004
Ort: Upper Austria
Beiträge: 256
hey danke, es funktioniert!

hier der code:

var myElements:Array = new Array (
this.contentBar_mc, this.contentTextfield_mc,
this.contentText_mc, this.contentFader_mc
);

var count_num:Number = 0;
var pauseID_num:Number = setInterval ( pause, 400 );

function pause() {

if ( count_num > myElements.length-1 ) {
clearInterval (pauseID_num);
return;
}

FadeIn ( myElements[count_num], 5 );
count_num++;

};

...

anfangs hats nicht geklappt, weil du die elemente im array mit anführungszeichen definiert hast - aber jetzt geht's

jetzt würd ich mir lediglich noch wünschen, die pause function so aufrufen zu können, dass dort garnicht die fadein function aufgerufen wird sondern wirklich nur eine pause erzeugt wird.

ich spiel mich noch ein bischen und werd dann noch bescheid geben...

danke erstmals für deine hilfe!
jaygroove ist offline   Mit Zitat antworten
Alt 24-05-2004, 16:08   #9 (permalink)
QuickScope
 
Benutzerbild von jaygroove
 
Registriert seit: May 2004
Ort: Upper Austria
Beiträge: 256
jetzt weiß ich auch, wo mein denkfehler war:
ich hätte geglaubt dass man mit
var SID:Number = setInterval ( pause, delay );
schon ansich eine pause erzeugen kann.

anstatt dessen wird ja lediglich die funktion 'pause' in einem gewissen abstand 'delay' immer wieder ausgeführt, bis die clearInterval anweisung kommt...

hab ich's jetzt richtig verstanden?

danke nochmal für die hilfe...
jaygroove ist offline   Mit Zitat antworten
Alt 24-05-2004, 16:37   #10 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
na fein,
ist doch immer wieder schön wenn der groschen(cent) fällt.
mooseMash ist offline   Mit Zitat antworten
Alt 12-10-2004, 14:04   #11 (permalink)
Flasher
 
Benutzerbild von Lokray
 
Registriert seit: Sep 2004
Ort: Salzburg
Beiträge: 21
Question

hi
meine frage betrifft ähnliches thema, aber wahrscheinlich denke ich zu kompliziert oder zu einfach... kA

also ich habe ein dynamisches textfeld und ich will dieses textfeld über AS mit text füllen, an sich kein problem, aber ich will zwischen jeden buchstaben eine kleine pause von einer halben bis einer sekunde machen, damit es so aussieht als würde man es gerade eintippen
mein problem besteht jetzt darin dass ich
1. dieses AS nur auf dieses textfeld legen will, damit der rest des filmes normal abläuft
2. das ganze per AS regeln will (länge der pause), weil ich von der Zeitleiste wegkommen will (aus performance-gründen)

das ganze soll dann ungefähr so aussehen:

"name des textfeldes" = "t"
PAUSE
"name des textfeldes" = "te"
PAUSE
"name des textfeldes" = "tex"
PAUSE
"name des textfeldes" = "text"

ich weis es ist umständlich, ich bin ein AS-Neuling und wäre schon mal mit einer solchen lösung sehr zufrieden, wenn jemand eine komplexere bzw. kürzere Lösung parat hat wäre ich sehr dankbar!

mfg Lokray
Lokray ist offline   Mit Zitat antworten
Alt 12-10-2004, 14:57   #12 (permalink)
flashkonsole
 
Benutzerbild von Flashkonsole
 
Registriert seit: Sep 2003
Ort: Berlin
Beiträge: 59
mach es wie im bsp oben

erstes element im array:"t"
zweites : "te" .......
usw....

gruß Bernte
Flashkonsole ist offline   Mit Zitat antworten
Alt 12-10-2004, 15:08   #13 (permalink)
Flasher
 
Benutzerbild von Lokray
 
Registriert seit: Sep 2004
Ort: Salzburg
Beiträge: 21
aber weis das AS dann wo es den text ausgeben soll?
ich check den code nicht ganz...

habs mal so wie im anhang versucht...
bin völlig planlos
Angehängte Dateien
Dateityp: zip dynamischertext.zip (2,0 KB, 12x aufgerufen)

Geändert von Lokray (12-10-2004 um 15:13 Uhr)
Lokray ist offline   Mit Zitat antworten
Alt 12-10-2004, 15:33   #14 (permalink)
nobody is perfect
 
Benutzerbild von Decrone
 
Registriert seit: Apr 2002
Ort: Bremen
Beiträge: 3.049
hi

lösch mal Dein Script und gib das mal ein!

ActionScript:
  1. var signs = 0;
  2. texte = "stück für stück";
  3. function weiter(){
  4.     if (signs!==texte.length+1) { 
  5.         pro = texte.substring(0, signs);
  6.         signs++;
  7.     }else{
  8.         clearInterval(id);
  9.     }
  10. };
  11. var id = setInterval(weiter, 1000);

bye
__________________
FF Unterstützen! Erste Hilfe! häufig gestellten Fragen
...................... ............... ................................
Decrone ist offline   Mit Zitat antworten
Alt 12-10-2004, 15:36   #15 (permalink)
Flasher
 
Benutzerbild von Lokray
 
Registriert seit: Sep 2004
Ort: Salzburg
Beiträge: 21
Talking

klasse, dass ist die lösung die ich gesucht habe!! tausend dank!!

hast du vielleicht noch eine idee wie ich einen zeilenumbruch reinkriege?

mfg lokray

Geändert von Lokray (12-10-2004 um 15:41 Uhr)
Lokray 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 00:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele