Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-04-2006, 11:24   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 186
Question Wait-Funktionen soll Benutzereingabe verhindern...

Ich habe eine Funktion geschrieben, die ein wenig Zeit benötigt
(Sortierfunktion: einige Hittests überprüfen, Objekte bewegen, etc.)

Sollte der Benutzer in der Zwischenzeit noch ein Objekt auf die Bühne ziehen, kann es sein, dass sich die Anwendung aufhängt.

Gibt es eine Funktion, die alle Mausereignisse und Benutzereingaben abblockt, bis der Sortiervorgang abgeschlossen ist?

Meine angedachte Lösung, einfach eine Schaltervariable zu definieren, und bei jeder Mausfunktion vorher zu Überprüfen, ob sie auf true gesetzt ist, das ist nicht wirklich die elegante Lösung...

(die dazugehörige Sanduhr zu programmieren ist das kleinste Problem...)

Gruß Mjchael
mjchael ist offline   Mit Zitat antworten
Alt 27-04-2006, 13:11   #2 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg
Beiträge: 4.385
Bei modalen Fenstern wird dazu einfach ein transparenter MovieClip über die ganze Größe gelegt, mit einem Mausevent versehen, und useHandCursor auf false gestellt.
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 27-04-2006, 13:55   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 186
ist ja eigentlich ganz simpel...

auf so was einfaches bin ich einfach nicht gekommen.
Wir sind ja in Flash, nicht bei einem anderen Programm

Danke Janoscharlipp

Gruß Mjchael
mjchael ist offline   Mit Zitat antworten
Alt 27-04-2006, 14:00   #4 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.637
oder baselst dir ne pause function

PHP-Code:
function daPause(waitarg) {
        
wait == undefined wait=10 null;
        var 
p_count 0;
        var 
p_int setInterval(function () {
                if (
p_count>=wait) {
                        
arg();
                        
clearInterval(p_int);
                }
                
p_count++;
        }, 
100);
}
function 
test() {
        
trace("test");
}
trace("start - for testing /showing only");
// use
daPause(3test); 
__________________
gruß bloba

2 x onkel² b_d
bloba 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 09:09 Uhr.

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


Copyright ©1999 – 2014 Marc Thiele