Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-06-2006, 00:51   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Ort: Hessen
Beiträge: 219
Question Wieder mal eine Pause / setInterval Frage :(

Hi,

ich bräuchte eine Pause in meinem Skript, aber leider klappt es nicht, ich weiß nicht wo ich sie einfügen soll bzw. wie.

Hier das Skript:
PHP-Code:
var arr = [];
var 
tween_handler:Object '';
var 
tl this;
var 
x_posis = [1110 219328437]; 

for (var 
1x<=9x++)

    
arr.push("MC"+x); 
}

function 
auswahl()

    var 
arr1 arr.concat(); 
    for (var 
0i<5i++)
    { 
        var 
clip arr1.splice(random(arr1.length), 1); 
        
// trace ( clip );
        
trace ("fertig ausgewählt");
        
tl.attachMovie(clipclipi, {_x:x_posis[i], _y:1}); 
        
tl["t"+i] = new Tween(tl[clip], "_alpha"Strong.easeIn01002true);
        
tl["t"+i].obj tl[clip];
        
tl["t"+i].onMotionFinished = function()
        {
            new 
Tween(this.obj"_alpha"Strong.easeIn10002true); 
        };
    } 
}

// Das erste mal manuell starten: 
auswahl ( );


function 
updateTimer():Void
{
    
// trace (getTimer());
    
auswahl ( );
}


var 
intervalID:Number setInterval(updateTimer4000); 
Es wird eine Auswahl aus ein paar MCs erstellt, willkürlich nebeneinander angeordnet, von 0 auf 100 eingefadet, JETZT soll das Skript 8 Sekunden anhalten, dann wieder von 100 auf 0 ausfaden.

Beispiele wie
PHP-Code:
_root.sleeptime=setInterval(function() {
if (
test != null){
    
callFunction(test);
  } 
},
20000
habe ich viele gefunden, aber ich weiß nicht wie bzw. wo ich das bei mir einbauen muss

Könnt ihr mir da helfen?
Danke schon mal
Bye, Transmitter
__________________
Signatur oder nicht Signatur ...
Transmitter ist offline   Mit Zitat antworten
Alt 01-06-2006, 14:47   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
aber ich weiß nicht wie bzw. wo ich das bei mir einbauen muss
Das kommt darauf an, wo du die Pause setzen willst. Z.B. bietet sich die onMotionFinished-Funktion an, weil da die Bewegung beendet ist.
  Mit Zitat antworten
Alt 01-06-2006, 23:30   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Ort: Hessen
Beiträge: 219
Zitat:
Zitat von agedoubleju
Das kommt darauf an, wo du die Pause setzen willst. Z.B. bietet sich die onMotionFinished-Funktion an, weil da die Bewegung beendet ist.
Die Pause soll zwischen Fadeout und Fadein, sodass die Bilder länger zu sehen sind.
Ich hatte einen Versuch gestartet das vor die onMotionFinished Funktion zu setzen, aber bin da kläglich gescheitert
Wie sollte das denn aussehen?
__________________
Signatur oder nicht Signatur ...
Transmitter ist offline   Mit Zitat antworten
Alt 02-06-2006, 03:25   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Wie sollte das denn aussehen?
Hab ich doch geschrieben... Anscheinend wird doch im onMotionFinished der Alpha wieder zurückgesetzt. D.h. in der Funktion solltest du zuerst deine Intervallpause setzen und nach der Pause den new Tween in einer eigenen Funktion starten, bspw.:
PHP-Code:
tl["t"+i].onMotionFinished = function()
        {
            
_level0.intervalID2  setInterval(weiter8000,this); 
             
        }; 
function 
weiter(obj){
   
clearInterval(_level0.intervalID2);
   new 
Tween(this.obj"_alpha"Strong.easeIn10002true);

  Mit Zitat antworten
Alt 02-06-2006, 13:41   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Ort: Hessen
Beiträge: 219
Ja, das stimmt .. so werden die Bilder länger angezeigt.
Aber der Fadeout funktioniert nicht mehr, das ist ein harter Cut von 100 auf 0.
Kann man den Fadeout dann auch wieder anzeigen lassen?
__________________
Signatur oder nicht Signatur ...
Transmitter ist offline   Mit Zitat antworten
Alt 04-06-2006, 12:22   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Ort: Hessen
Beiträge: 219
Ich schieb das nochmal nach oben.

Scheint nicht zu gehen, oder doch?
__________________
Signatur oder nicht Signatur ...
Transmitter ist offline   Mit Zitat antworten
Alt 04-06-2006, 12:41   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Nee, das this bei setInterval bezieht sich auf den Tween selbst und nicht auf den getweenten MC. So z.B. geht's:
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
//
var tl this;
var 
clip "dein_mc";
var 
0;
//
tl["t"+i] = new Tween(tl[clip], "_alpha"Strong.easeIn01002true);
tl["t"+i].mc tl[clip]
//
tl["t"+i].onMotionFinished = function() {
    
_level0.intervalID2 setInterval(weiter1000this.mc);
};
//
function weiter(obj) {
    
clearInterval(_level0.intervalID2);
    new 
Tween(obj"_alpha"Strong.easeIn10002true);

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 11-06-2006, 12:29   #8 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Ort: Hessen
Beiträge: 219
Ich schieb das nochmal nach oben, das funktioniert leider immer noch nicht.

Ich habe das Gefühl, dass Flash nicht weiß welches Objekt ausgefadet werden soll.
Wenn ich weiter in setInterval aufrufe, wo wird denn da bei deinem Vorschlag der Parameter übergeben?
__________________
Signatur oder nicht Signatur ...
Transmitter ist offline   Mit Zitat antworten
Alt 11-06-2006, 13:17   #9 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
PHP-Code:
tl["t"+i] = new Tween(tl[clip], "_alpha"Strong.easeIn01002true);
//neuen Tween mit dem MC aus der Var "clip" 
tl["t"+i].mc tl[clip
//diesen MC dem Tween anhängen
// 
tl["t"+i].onMotionFinished = function() { // wenn Tween fertig ist
    
_level0.intervalID2 setInterval(weiter1000this.mc); 
//den Intervall "weiter" starten, 1000 wäre eine Sekunde, this.mc übergibt das Objekt
}; 
// 
function weiter(obj) { 
//obj wird hier also mit übergeben und enthält den MC
    
clearInterval(_level0.intervalID2); 
    new 
Tween(obj"_alpha"Strong.easeIn10002true); 
// der hier wierder ausgeblendet wird

Wenn das bei dir nicht klappt, dann mach mal eine Beispieldatei fertig.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 11-06-2006, 13:43   #10 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Ort: Hessen
Beiträge: 219
Bringt leider auch keinen Erfolg, ich hänge mal einen Barebone an und hoffe du kannst mir helfen.
Ich bin da absolut ratlos
Angehängte Dateien
Dateityp: zip Barebone.zip (5,7 KB, 5x aufgerufen)
__________________
Signatur oder nicht Signatur ...

Geändert von Transmitter (11-06-2006 um 13:54 Uhr)
Transmitter ist offline   Mit Zitat antworten
Alt 11-06-2006, 13:53   #11 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Gut, bei mehreren Objekten überschreibst du ja den Intetervall... Guckst du hier:
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
var 
tl this;
var 
MCArray = [];
var 
x_posis = [50160279];
// MCs in ein Array laden:
for (var 1x<=3x++) {
    
MCArray.push("MC"+x);
}
function 
auswahl() {
    var 
arr1 MCArray.concat();
    for (var 
0i<2i++) {
        
// Ein MC auswählen:
        
var clip arr1.splice(random(arr1.length), 1);
        
// Diesen MC zu this hinzufügen:
        
tl.attachMovie(clipclipi, {_x:x_posis[i], _y:50});
        
//neuen Tween mit dem MC aus der Var "clip"  
        
tl["t"+i] = new Tween(tl[clip], "_alpha"Strong.easeIn01002true);
        
//diesen MC dem Tween anhängen
        
tl["t"+i].mc tl[clip];
        
tl["t"+i].onMotionFinished = function() {
            
// wenn Tween fertig ist 
            
this.mc.intervalID2 setInterval(weiter4000this.mc);
            
//den Intervall "weiter" starten, 1000 wäre eine Sekunde, this.mc übergibt das Objekt 
        
};
    }
}
function 
weiter(obj) {
    
//obj wird hier also mit übergeben und enthält den MC 
    
clearInterval(obj.intervalID2);
    new 
Tween(obj"_alpha"Strong.easeIn10002true);
    
// der hier wierder ausgeblendet wird 
}
auswahl(); 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 11-06-2006, 14:03   #12 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Ort: Hessen
Beiträge: 219
Achja .. daran scheint es gelegen zu haben. :-S

Vielen Dank, jetzt kann ich wieder ruhig schlafen.
__________________
Signatur oder nicht Signatur ...
Transmitter 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 15:20 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele