Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-01-2012, 18:01   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2011
Beiträge: 44
Nach 5 Minuten keiner Eingabe ->Funktion

Hallo Liebes Forum,

habe mal eine Anfänger Verständnisfrage:
Ich möchte nach ca. 5 Minuten keiner Eingabe (Mausklick), also wenn 5 Minuten nichts passiert, eine Funktion ausführen, oder ein Frame anspringen.
Wenn dann wieder mit der Maus geklickt wird, spring man wieder an eine andere Stelle... usw.
Habe jetzt schon etwas herumgelesen, aber ich weiß leider noch nicht wie man
das am besten anstellt. Sollte man setInterval oder besser setTimeout verwenden, oder gibt es noch andere Möglichkeiten?
Was ist am ressourcenschonendsden?

Bin dankbar für jeden Tipp
Gruß Rookie
*Rookie* ist offline   Mit Zitat antworten
Alt 21-01-2012, 18:43   #2 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
Benutz am besten die Timerklasse und bei Mausklick reset()

mfg

sx
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 22-01-2012, 02:13   #3 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.231
Das sähe dann z.B. so aus:
PHP-Code:
var timerTick:int=1000*60*5// ms*sec*min
 
var timer:Timer=new Timer(timerTick,1);
timer.addEventListener(TimerEvent.TIMER_COMPLETEinactiveHandler);

timer.start();

stage.addEventListener(MouseEvent.CLICK,resetTimer);
function 
resetTimer(e:MouseEvent){    
    
trace("Reset");
    
timer.reset();
    
timer.start();
};

function 
inactiveHandler(e:TimerEvent){
    
trace("INACTIVE");

LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert ist offline   Mit Zitat antworten
Alt 22-01-2012, 07:38   #4 (permalink)
Neuer User
 
Registriert seit: Sep 2011
Beiträge: 44
Hallo,

vielen Dank für die Antworten!!!
Habe gerade mal das Script getestet, irgendwie funktioniert das glaube ich nicht mit AS2, oder?
Sorry, das habe ich garnicht dazugeschrieben *schäm*
Könntet Ihr mir vielleicht noch einen Tipp geben, wie ich das AS2 "migriere"?

LG Rookie
*Rookie* ist offline   Mit Zitat antworten
Alt 22-01-2012, 09:57   #5 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.042
Warum denn As2?

In As2 benutzt du setTimeout() und clearTimeout().
__________________
anbei Grüße vom milchreis: Viva la [Silb]

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 22-01-2012, 10:26   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2011
Beiträge: 44
As2, weil ich den anderen Kram auch in As2 habe
Leider denke ich mir selber ein Ei zu legen, wenn ich den Rest ins As3 ummodeln sollte...
Ich bin leider ein echter Flash Newbie.
Gibt es nicht vielleicht ein gutes Tutorial für die Timinggeschichte, oder kann man automatisiert As2 in As3 wandeln?

Gruß, Rookie
*Rookie* ist offline   Mit Zitat antworten
Alt 22-01-2012, 10:35   #7 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.231
Was hast Du denn bis jetzt?

LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert ist offline   Mit Zitat antworten
Alt 22-01-2012, 10:54   #8 (permalink)
Neuer User
 
Registriert seit: Sep 2011
Beiträge: 44
Hi ANdré,
vielleicht kannst Du Dich ja noch erinnern, dass ist ja vor einiger Zeit mit Deiner Hilfe entstanden
Und das ist wohl auch der Kern, weshalb ich bei As2 bleiben wollte...
PHP-Code:
//SENDER
stop();
//Mouse.hide();
//fscommand("fullscreen", true);
var sending_lc:LocalConnection = new LocalConnection();
//-----------------------------------
btnZF.onRelease = function()
{
    
_root.daten "Start";
    
sync();
    
gotoAndStop(52);
};

//weitere Buttons...

function sync()
{
    
sending_lc.send("receiver","getData",_root.daten);

PHP-Code:
//RECEIVER
stop();
//Mouse.hide();
//fscommand("fullscreen", true);
var reveiving_lc = new LocalConnection();
reveiving_lc.getData = function(plot)
{
    switch (
plot)
    {
        case 
"Start" :
            
gotoAndStop(2);
            break;
.
.
.
    }
};
reveiving_lc.connect("receiver"); 
LG, Rookie
*Rookie* ist offline   Mit Zitat antworten
Alt 22-01-2012, 11:15   #9 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.231
Ah ja...

Was hast Du denn genau mit dem Überwachen der MouseClicks vor?

Hier mal die Basis:
PHP-Code:
// AS2
var delay:Number 1000*60*5;     // ms*sec*min
var timeOut:Number;        //Fungiert als Referenz für den TimeOut

_root.onMouseDown activeHandler;        //Eventhandler definieren

function startTimout():Void{    //Reset und Start des TimeOut 
    
clearTimeout(timeOut);    //aktuellen Timeout löschen
    
timeOut setTimeout(inactiveHandler,delay);      //neuen Timeout initialisieren
}

function 
inactiveHandler():Void{    //Funktion, die bei Inactivität ausführt wird
    
trace("INACTIVE");
    
// do some communistic stuff ;)
}

function 
activeHandler():Void{     //Bei Aktivität wird startTimeout() für den Neustart des Timeout aufgerufen
    
trace("Reset");
    
startTimout();    
}

startTimout(); //am Anfang einmal starten 
Schau mal, ob Du das angepaßt bekommst.

LG ANdré

PS: Die LocalConnection in AS3 läuft ganz ähnlich...
Und AS3 ist jede Reise wert.


[EDIT]
oder noch kürzer:
PHP-Code:
// AS2
var delay:Number 1000*60*5;     // ms*sec*min
var timeOut:Number;        //Fungiert als Referenz für den TimeOut

_root.onMouseDown startTimout;        //Eventhandler definieren

function startTimout():Void{    //Reset und Start des TimeOut 
        
trace("Reset");    
        
clearTimeout(timeOut);    //aktuellen Timeout löschen
    
timeOut setTimeout(inactiveHandler,delay);      //neuen Timeout initialisieren
}

function 
inactiveHandler():Void{    //Funktion, die bei Inactivität ausführt wird
    
trace("INACTIVE");
    
// do some communistic stuff ;)
}

startTimout(); //am Anfang einmal starten 
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.

Geändert von andrelehnert (22-01-2012 um 11:19 Uhr)
andrelehnert ist offline   Mit Zitat antworten
Alt 22-01-2012, 11:41   #10 (permalink)
Neuer User
 
Registriert seit: Sep 2011
Beiträge: 44
Hi ANdré,

wenn Du sagst, dass mein LocalCon-Kram einfach in As3 zu wandeln ist, stellt sich ja die Frage, ob man das nicht besser machen sollte?
Wo liegen denn eigentlich die Vorteile zu As3 ?
Noch kurz weitere Infos:
Meine anfängliche Frage nach dem Ressourcenhunger bezieht sich darauf, dass evtl. ein FullHD Video läuft,
und wenn dann noch etwas anderes passiert und noch der "Timer" im
Hintergrund läuft, dachte ich es könnte schnell mal zu viel des Guten sein...?
Der "Timer" sollte nach einer gewissen Zeit des "Nichtstuns" z.B. ein Video am Receiver starten, also eine Art Standby.
Gruß, Rookie
*Rookie* ist offline   Mit Zitat antworten
Alt 22-01-2012, 12:01   #11 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.042
Zitat:
Zitat von *Rookie* Beitrag anzeigen
Wo liegen denn eigentlich die Vorteile zu As3 ?
Der einzige wirkliche Vorteil von As2 der mir einfällt, ist die Möglichkeit ältere FlashPlayer zu nutzen.
Letztlich sind aber die neueren Laufzeitumgebungen so weit verbreitet, das niemand mehr auf As2 setzt.

Wirkliche Gründe As2 zu nutzen, habe ich sonst noch nicht gehört, höchstens Ausreden

Vor allem da du bei beiden Sprachen praktisch von null anfängst, solltest du dich für As3 entscheiden.

Zitat:
Zitat von *Rookie* Beitrag anzeigen
Hintergrund läuft, dachte ich es könnte schnell mal zu viel des Guten sein...?
Das sollte kein Problem sein.
__________________
anbei Grüße vom milchreis: Viva la [Silb]

[Von null auf Flash in einem Klick.] <<< klick

Geändert von milchreis (22-01-2012 um 12:02 Uhr)
milchreis ist offline   Mit Zitat antworten
Alt 22-01-2012, 12:45   #12 (permalink)
Neuer User
 
Registriert seit: Sep 2011
Beiträge: 44
Vielen Dank ANdré,
habe Dein Script gerade mal getestet - läuft perfekt
Vielen DANK!!!

Ich habe auch gerade mal nach As3-LocalConnection gegoogelt,
aber ich glaube damit lache ich mir gleich wieder die nächste Baustelle an
Ich gebe zu, dass das ist eine Ausrede ist!

Trotzdem erst mal ein dickes Dabkeschön an alle...

LG
Rookie
*Rookie* ist offline   Mit Zitat antworten
Alt 22-01-2012, 13:18   #13 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.231
Zitat:
Zitat von *Rookie* Beitrag anzeigen
Ich habe auch gerade mal nach As3-LocalConnection gegoogelt,
aber ich glaube damit lache ich mir gleich wieder die nächste Baustelle an
Ich gebe zu, dass das ist eine Ausrede ist!
Wenn es ein simple Anwendung bleibt, wäre für Dich doch jetzt ein schöner Weg,
sie in AS2 fertig zu machen und dann auf AS3 zu übertragen.
So kannst Du ohne Druck lernen und AS3 lieben lernen.


LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert ist offline   Mit Zitat antworten
Alt 22-01-2012, 14:04   #14 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.042
Zitat:
Zitat von *Rookie* Beitrag anzeigen
Ich habe auch gerade mal nach As3-LocalConnection gegoogelt,
aber ich glaube damit lache ich mir gleich wieder die nächste Baustelle an
abhängig von den Sucheinstellungen:
Das erste Suchergebnis ist ein Tutorial das sehr gut zeigt, das es kaum Unterschiede gibt.
Und das auch noch auf Deutsch.

Das zweite Ergebnis ist die offizielle deutsche Referenz zu As3 mit sehr vielen Erklärungen und Beispiel.

Hier dein Code in As3, bei dessen Entstehung hauptsächlich kopiert wurde:

//der Einfachheit halber in einer Klasse, als Beispiel
PHP-Code:
package 
{
    
import flash.display.Sprite;
    
import flash.events.Event;
    
import flash.events.MouseEvent;
    
import flash.net.LocalConnection;
    
    
/**
     * nach Hause telephonieren...
     * @author milchreis
     */
    
public class Main extends Sprite 
    
{
        private var 
daten:String;
        private var 
receiving_lc:LocalConnectionsending_lc:LocalConnection;
        
        public function 
Main():void 
        
{
            if (
stageinit();
            else 
addEventListener(Event.ADDED_TO_STAGEinit);
        }
        
        private function 
init(e:Event null):void 
        
{
            
removeEventListener(Event.ADDED_TO_STAGEinit);
            
// entry point
            
            
sending_lc = new LocalConnection();
            
receiving_lc = new LocalConnection(); 
            
            
receiving_lc.client this;
            
receiving_lc.connect("receiver");
            
            
stage.addEventListener(MouseEvent.MOUSE_UPonRelease);
        }
        
        private function 
onRelease(event:MouseEvent):void 
        
{
            
daten "Start";
            
sync();
        }
        
        private function 
sync():void
        
{
            
sending_lc.send("receiver","getData",daten);
        }
        
        public function 
getData(plot:String):void
        
{
            
trace(plot);    
        }
    }

Die Strukturellen Änderungen kommen lediglich dadurch zu stande, das der Code in eine Klasse gepackt wurde.

Der einzige wirkliche Unterschied zur As2-Variante ist, das man die methode die aufgerufen wird (getData), nicht so direkt auf dem Localconnection Objekt anlegen kann.

Übrigens: Mit dieser Nutzung von "_root" hast du deine erste schlechte Angewohnheit von As2 abbekommen.
Je mehr du dir von denen aneignest, desto schwerer wird ein Umstieg auf As3.
__________________
anbei Grüße vom milchreis: Viva la [Silb]

[Von null auf Flash in einem Klick.] <<< klick

Geändert von milchreis (22-01-2012 um 14:11 Uhr)
milchreis 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Flash loop hält nach 30 Minuten an. gogderruler Flash 8 1 31-05-2010 15:24
Tasten inaktiv nach Eingabe in TextInput Clash ActionScript 3 2 04-11-2009 09:12
Suche: Programm was den PC nach xx Minuten runterfährt. Funkey Am Rande 7 14-03-2006 12:33
Nach Eingabe neues Browserfenster orange_567 Flash MX 2004 1 17-08-2005 15:33
Hat hier echt keiner Ahnung davon? :-) (Eingabe-Text-Scroll) SpiritedBlue Flash MX 2 12-09-2003 22:15


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele