Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-05-2009, 18:29   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 15
Zeitverzögerung

hallo,
ich bin noch ein ziemlicher anfänger in flash, also hoff ich das ihr mir helfen könnt.^^

ich hab auf einen button ein sound gelegt (5sek.). dieser wird abgespielt, wenn man auf den button klickt. allerdings verweist der button auf eine *.html seite, die sich dann eben öffnet. somit kann der sound nicht komplett abgespielt werden.

ich brauch also eine befehzlszeile die die eigentliche aktion erst 5 sek. später auslöst. ich hab schon die suchfunktion benutzt, dabei folgendes gefunden

anbei mal mein bisheriger code:
PHP-Code:
var interval:Timer = new Timer5000 );
interval.addEventListenerTimerEvent.TIMERplay );
interval.start();  

    
enter.addEventListener(MouseEvent.CLICKbuttonClickHandler);
                  function 
buttonClickHandler(event:MouseEvent):void {
                  
navigateToURL(new URLRequest("/indexde.html"),"_self");
                  
//trace("test");} 
wäre schön, wenn mir jemand helfen könnte.

mfg
rayner

Geändert von 123rayner456 (04-05-2009 um 18:33 Uhr)
123rayner456 ist offline   Mit Zitat antworten
Alt 04-05-2009, 18:59   #2 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 1.197
ActionScript:
  1. var interval:Timer = new Timer( 5000, 1);
  2. interval.addEventListener( TimerEvent.TIMER, play );
  3.  
  4. enter.addEventListener(MouseEvent.CLICK, buttonClickHandler);
  5.  
  6. function buttonClickHandler(event:MouseEvent):void {
  7.                   interval.start();
  8. } 
  9. function play():void{
  10.                   navigateToURL(new URLRequest("/indexde.html"),"_self");
  11. }
__________________
EDV = Ende Der Vernunft
hmpf ist offline   Mit Zitat antworten
Alt 04-05-2009, 20:09   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 15
geht leider nicht... trotzdem danke

Fehlermeldung:
1024: Eine nicht für 'override' gekennzeichnete Funktion wird außer Kraft gesetzt.

der fehler muss hier liegen:
PHP-Code:
function play():void{
                  
navigateToURL(new URLRequest("/indexde.html"),"_self");


-rayner

Geändert von 123rayner456 (04-05-2009 um 20:12 Uhr)
123rayner456 ist offline   Mit Zitat antworten
Alt 04-05-2009, 20:14   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 168
playSound statt play

Nenne die Funktion nicht play (reserviert) sondern jumpToURL o.ä.
simmerl ist offline   Mit Zitat antworten
Alt 04-05-2009, 20:24   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 1.197
Ja, sorry... das habe ich in meiner Antwort ignoriert, habe ich einfach aus dem Listener übernommen. Der Fehler tritt aber nur auf, wenn man die Funktion in einem MovieClip so nennt. Und AS3 Neulinge benutzen wahrscheinlich alle erstmal MovieClips, weil es in AS2 einfach nichts anderes als MovieClips gab.
Ich arbeite ja auch noch nicht soo lange mit AS3, aber MovieClip habe ich noch gar nicht benutzt, immer Sprite.
__________________
EDV = Ende Der Vernunft

Geändert von hmpf (04-05-2009 um 20:26 Uhr)
hmpf ist offline   Mit Zitat antworten
Alt 04-05-2009, 20:30   #6 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 15
also den sound höre ich, wen ich draufklick, aber er springt nicht weiter zur URL...
123rayner456 ist offline   Mit Zitat antworten
Alt 04-05-2009, 20:32   #7 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 168
trace

Wenn du in der jumpToUrl-Funktion (ehem. play) ein trace("jumpToUrl") notierst, wird dieses dann ausgeführt?
simmerl ist offline   Mit Zitat antworten
Alt 04-05-2009, 20:38   #8 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 15
kommt folgender error

ArgumentError: Error #1063: Nicht übereinstimmende Argumentzählung für intro_fla::MainTimeline/jumpToURL(). 0 erwartet, 1 erhalten.
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
123rayner456 ist offline   Mit Zitat antworten
Alt 04-05-2009, 20:41   #9 (permalink)
Neuer User
 
Registriert seit: Jun 2007
Ort: Belgien
Beiträge: 6
Code:
function jumpToUrl(event:TimerEvent):void
In vielen Fällen wirst du event zwar nicht brauchen, aber es wird automatisch vom Listener mitgegeben.
Psycho2481 ist offline   Mit Zitat antworten
Alt 04-05-2009, 20:47   #10 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 1.197
Nochmal sorry, wo bin ich nur mit meinen Gedanken...
__________________
EDV = Ende Der Vernunft
hmpf ist offline   Mit Zitat antworten
Alt 04-05-2009, 20:58   #11 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 15
kein Problem

hast mir ja schon n großen teil geholfen nur ich find nicht heraus, wiso er diese dumme action nicht macht. werd mal noch weiter testen. vllt. weiß ja noch jemand eine lösung...^^

EDIT: ich mach mal das aktuelle script mit rein, vllt. hab ich ja was falsch gemacht.
PHP-Code:
var interval:Timer = new Timer50001);
interval.addEventListenerTimerEvent.TIMERplay);


enter.addEventListener(MouseEvent.CLICKbuttonClickHandler);

function 
buttonClickHandler(event:MouseEvent):void {
                  
interval.start(); 
                  
trace("test 1")
}
function 
jumpToURL():void{
                  
navigateToURL(new URLRequest("/indexde.html"),"_self");
                  
trace("jumpToUrl")


Geändert von 123rayner456 (04-05-2009 um 21:05 Uhr)
123rayner456 ist offline   Mit Zitat antworten
Alt 04-05-2009, 21:20   #12 (permalink)
vermisst ein e
 
Benutzerbild von kRizzl
 
Registriert seit: Oct 2007
Beiträge: 774
hab den thread gerade nur kurz ueberflogen, aber nirgends setTimeout() gesehn.
fuer dreckige kleine verzoegerungen is das genau das richtige. in der hilfe steht zwar auch, dass man es lieber ueber nen Timer loesen sollte. das kann man sich aber entweder 1:1 mit demselben funktionsaufruf in ner eigenen library abbilden oder sich darauf verlassen, dass die jungs bei adobe das auch hinbekommen haben.

man MUSS ja nicht immer den langen weg gehen
__________________
krisrok.de
kRizzl ist offline   Mit Zitat antworten
Alt 04-05-2009, 22:03   #13 (permalink)
Neuer User
 
Registriert seit: Jun 2007
Ort: Belgien
Beiträge: 6
PHP-Code:
var interval:Timer = new Timer50001);
interval.addEventListenerTimerEvent.TIMERjumpToUrl);


enter.addEventListener(MouseEvent.CLICKbuttonClickHandler);

function 
buttonClickHandler(event:MouseEvent):void {
                  
interval.start(); 
                  
trace("test 1")
}
function 
jumpToURL(event:TimerEvent):void{
                  
navigateToURL(new URLRequest("/indexde.html"),"_self");
                  
trace("jumpToUrl")

Psycho2481 ist offline   Mit Zitat antworten
Alt 04-05-2009, 22:16   #14 (permalink)
vermisst ein e
 
Benutzerbild von kRizzl
 
Registriert seit: Oct 2007
Beiträge: 774
ActionScript:
  1. enter.addEventListener(MouseEvent.CLICK, function():void{ setTimeout(navigateToURL, 5000, new URLRequest("/indexde.html"), "_self"); });
konnte ich mir nich verkneifen.. gutnacht
__________________
krisrok.de

Geändert von kRizzl (04-05-2009 um 22:18 Uhr)
kRizzl ist offline   Mit Zitat antworten
Alt 05-05-2009, 00:30   #15 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 1.197
Und warum das schlechter ist als ein Timer, das schreiben sie nicht.
__________________
EDV = Ende Der Vernunft
hmpf ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
link, sleep, zeitverzögerung

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 19:47 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele