Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash CS3 Professional

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-10-2010, 15:55   #1 (permalink)
Universaldiletta
 
Registriert seit: Jun 2001
Beiträge: 71
SWF-Steuerung ohne Aktion/Mausaktion

Buenos Dias!
Pardon, als halbahnungsloser brauche ich erneut kompetente Hilfe, auch da ich schon wieder seit einiger Zeit nicht mehr mit Flash gearbeitet habe.

Ich steuere meine Flash-Seite/Bildergalerie hauptsächlich über Vorwärts/Rückwärts-Buttons oder per Tastatur-Pfeile die aktiv zu bedienen sind und entsprechenden Stopps je frame. Soll eigentlich auch so bleiben.

Nun benötige ich ein Skript oder Trick um die swf abzuspielen ohne jede Aktion, mit Verzögerung z.B. nach 10 Sec. ohne eine Mausaktion.

Kann ich das mit meinem Mouse-Listener verbinden, der bei Mouseover bzw. on MouseMove überhaupt nur mein Menü einblendet?
Sozusagen bräuchte ich ja no MouseMove bzw. noTastatureingabe?
Und kann ich die Stoppbefehle im Hauptfilm irgendwie übersteuern?

Hat jemand eine Lösung oder Idee für mich?!
Buneos Dias
Buenos Dias ist offline   Mit Zitat antworten
Alt 24-10-2010, 20:48   #2 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
howdie,

was du brauchst ist wohl ein Timer. bist du noch fit genug dafür?

mfg

sx
__________________

flintfabrik.de
shin10 ist gerade online   Mit Zitat antworten
Alt 24-10-2010, 20:49   #3 (permalink)
Universaldiletta
 
Registriert seit: Jun 2001
Beiträge: 71
SWF-Steuerung ohne Aktion/Mausaktion

Ich versuche es noch mal anders:
Ich denke, es in meine MouseListener einzubauen wäre am einfachsten, das heisst unter else kommt dann meine nextframe () Anweisung für die swf mit den Bildern, aber wie baue ich jetzt setInterval ein, damit erst sicher ist, das die Maus vor der Aktion 10 Sekunden nicht benutzt wurde?
Hier mein Skript ohne, könnte Hilfe vertragen!
Buenos Dias


//----------------------------------

import mx.transitions.Tween;
import mx.transitions.easing.*;

//----------------------------------

var alphaTween:Tween;

//----------------------------------

_level12._alpha = 0;
_level13._alpha = 0;
_level14._alpha = 0;

//----------------------------------

var mouseListener:Object = new Object();
mouseListener.onMouseMove = function():Void {

if (mc_over.hitTest(_xmouse, _ymouse)) {

alphaTween.stop();
alphaTween = new Tween(_level12, "_alpha", Strong.easeIn, _level12._alpha, 40, 0.5, true);
alphaTween = new Tween(_level13, "_alpha", Strong.easeIn, _level13._alpha, 40, 0.5, true);
alphaTween = new Tween(_level14, "_alpha", Strong.easeIn, _level14._alpha, 40, 0.5, true);
gotoAndStop(2);

} else {

alphaTween.stop();
alphaTween = new Tween(_level12, "_alpha", Strong.easeIn, _level12._alpha, 0, 0.5, true);
alphaTween = new Tween(_level13, "_alpha", Strong.easeIn, _level13._alpha, 0, 0.5, true);
alphaTween = new Tween(_level14, "_alpha", Strong.easeIn, _level14._alpha, 0, 0.5, true);
}

};

//----------------------------------

Mouse.addListener(mouseListener);

//----------------------------------
Buenos Dias ist offline   Mit Zitat antworten
Alt 24-10-2010, 20:59   #4 (permalink)
Universaldiletta
 
Registriert seit: Jun 2001
Beiträge: 71
Zitat:
Zitat von shin10 Beitrag anzeigen
howdie,

was du brauchst ist wohl ein Timer. bist du noch fit genug dafür?

mfg

sx
Pardon, hatte Deine Antwort nicht mitbekommen. Ja auf Timer oder SetInterval bin ich schon gestossen, aber ich bin nicht fit genug es mit keinen Mausevent zusammenzubringen und würde mich über jede Anregung oder Skript freuen.
Buenos Dias
Buenos Dias ist offline   Mit Zitat antworten
Alt 24-10-2010, 21:22   #5 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
ah, is natürlich wieder as2. hab mal schnell was aus der adobe-hilfe rauskopiert. bin da nich mehr so fit
das
PHP-Code:
beginInterval(); 
setzt du dann einfach noch in dienen mouselistener und unten fügst du das an das ende deines scripts.
PHP-Code:
var intervalId:Number;
 var 
count:Number 0;
 var 
maxCount:Number 10;
 var 
duration:Number 2000;

 
 
beginInterval();

 function 
beginInterval():Void {
     if(
intervalId != null) {
         
trace("clearInterval");
         
clearInterval(intervalId);
     }
     
intervalId setInterval(this"executeCallback"duration);
 }

 function 
executeCallback():Void {
     
trace("executeCallback intervalId: " intervalId " count: " count);
     if(
count >= maxCount) {
         
//clearInterval(intervalId);
     
}
     
count++;
 } 
__________________

flintfabrik.de
shin10 ist gerade online   Mit Zitat antworten
Alt 24-10-2010, 22:26   #6 (permalink)
Universaldiletta
 
Registriert seit: Jun 2001
Beiträge: 71
Schon mal klasse. Danke
Der counter zählt prima und bei einer Mausaktion wird er wieder geleert, soweit ich das verstehe ist das eine Lösung, aber leider klappt der nextFrame nach Ablauf der 10 Sekunden nicht.


//----------------------------------

import mx.transitions.Tween;
import mx.transitions.easing.*;

//----------------------------------

var alphaTween:Tween;

//----------------------------------

_level12._alpha = 0;
_level13._alpha = 0;
_level14._alpha = 0;

//----------------------------------

var mouseListener:Object = new Object();
mouseListener.onMouseMove = function():Void {

beginInterval();

if (mc_over.hitTest(_xmouse, _ymouse)) {

alphaTween.stop();
alphaTween = new Tween(_level12, "_alpha", Strong.easeIn, _level12._alpha, 40, 0.5, true);
alphaTween = new Tween(_level13, "_alpha", Strong.easeIn, _level13._alpha, 40, 0.5, true);
alphaTween = new Tween(_level14, "_alpha", Strong.easeIn, _level14._alpha, 40, 0.5, true);
gotoAndStop(2);

} else {

alphaTween.stop();
alphaTween = new Tween(_level12, "_alpha", Strong.easeIn, _level12._alpha, 0, 0.5, true);
alphaTween = new Tween(_level13, "_alpha", Strong.easeIn, _level13._alpha, 0, 0.5, true);
alphaTween = new Tween(_level14, "_alpha", Strong.easeIn, _level14._alpha, 0, 0.5, true);
_level1.gotoAndPlay(_level1.currentFrame +1);
_level14.gotoAndPlay(_level14.currentFrame +1);
}

};

//----------------------------------

Mouse.addListener(mouseListener);

//----------------------------------

var intervalId:Number;
var count:Number = 0;
var maxCount:Number = 10;
var duration:Number = 2000;


beginInterval();

function beginInterval():Void {
if(intervalId != null) {
trace("clearInterval");
clearInterval(intervalId);
}
intervalId = setInterval(this, "executeCallback", duration);
}

function executeCallback():Void {
trace("executeCallback intervalId: " + intervalId + " count: " + count);
if(count >= maxCount) {
//clearInterval(intervalId);
}
count++;
}

Geändert von Buenos Dias (24-10-2010 um 22:45 Uhr)
Buenos Dias ist offline   Mit Zitat antworten
Alt 24-10-2010, 23:43   #7 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
ja klar, da hab ich nichts gemacht, weil ich nicht weiß, wie deine datei aufgebaut is. den code den du noch ausführen möchtest packst du ...
PHP-Code:
function executeCallback():Void {
    
trace("executeCallback intervalId: " intervalId " count: " count);
    if(
count >= maxCount) {
        
//clearInterval(intervalId);
    
}
    
count++;
    
//<-- ... einfach hier rein!

__________________

flintfabrik.de
shin10 ist gerade online   Mit Zitat antworten
Alt 25-10-2010, 17:48   #8 (permalink)
Universaldiletta
 
Registriert seit: Jun 2001
Beiträge: 71
He, ganz großes Danke für Deine Nachtschicht. Ja jetzt klappts besser. Also zumindest läuft die Bildergalerie durch, allerdings etwas unaufhaltsam, irgendwie will clearInterval nicht mehr oder nur einmal und die Dauer will auch nicht so richtig, selbst wenn ich 10x in 2000 Millisekunden ordentlich verändere und diverses probieren hat auch nicht viel ergeben.

Ich denke ich lege das Interval mit dem MouseMove Listener besser in eine extra swf (weg von meiner Menue-Einblendung), die kontinuierlich guckt ob sich was tut. Irgendwie muss ich die Pfeiltasten auch noch mit überwachen.
Und wenn clearInterval richtig klappt, müsste ich doch auch wieder 10 Sekunden haben, bevor die Schleife erneut durchgelaufen ist und wieder meinen Hauptfilm eine Frame weiterlaufen lässt?!

Ich probiere noch mal und hoffe ich kann Dich doann auch noch mal nerven.
Buenos Dias

Geändert von Buenos Dias (25-10-2010 um 23:22 Uhr)
Buenos Dias ist offline   Mit Zitat antworten
Alt 25-10-2010, 23:45   #9 (permalink)
Universaldiletta
 
Registriert seit: Jun 2001
Beiträge: 71
Smile SWF-Steuerung ohne Aktion/Mausaktion

So jetzt wird es was.
Ich bin doch noch fündig geworden und glücklicherweise hatte Fritzi74 eine ähnliche Lösung in AS3 gesucht und seine vorherige in AS2 ist fast perfekt und schön einfach für mich. Wenn ich jetzt noch onKeyDown/onKeyUp mit überwache (also Maus oder Tastatur oder beides) oder jemand ein Tipp hat wäre ich restlos glücklich.
Buenos Dias

Code:
function MouseMove() {  
    
	nextFrame();
	_root.nextFrame();
	trace("No MouseMove!");  
    clearInterval(iv);
	
}  

iv = setInterval(MouseMove, 5000);  
	
	function onMouseMove() { 
    	
		clearInterval(iv); 
	
iv = setInterval(MouseMove, 5000);  
}
Buenos Dias ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
keine aktion, mouse move, steuerung

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
Starrer Mausverfolger ohne Steuerung angeboot Flash Einsteiger 1 25-12-2007 12:20
HTML in Flash Film laden ohne browser aktion ? Yasilia Flash Einsteiger 2 12-09-2006 16:13
.flv video steuerung ohne komponente jandes Flash MX 2004 4 27-10-2005 23:38
movieclip steuerung ohne zu Springen marinovation Flash MX 4 18-06-2004 14:55
Wabbel\Wobbel-Effekt ohne Mausaktion jamo ActionScript 1 7 03-04-2003 00:40


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:15 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele