Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di daem
    Registrato dal
    Oct 2000
    Messaggi
    199

    AS2 - funzione richiamata con setInterval

    Ciao a tutti,
    ho questo problema. Ho una serie di condizioni che mi gestiscono un evento (cambio colore di sfondo) che funzionano perfettamente. Ho bisogno però che questo cambio avvenga con un leggero ritardo, quindi ho pensato di utilizzare il setInterval ma non funziona. Ho anche usato setTimeout ma non cambia niente.

    Così funziona perfettamente ma senza ritardo:
    Codice PHP:
    if (quadrante == 1) {
    _parent.bgLoaderStart_mc.myColor = new Color(_parent.bgLoaderStart_mc.fadebg.colorbg);
    _parent.bgLoaderStart_mc.changebg(248,201,61,100,_parent.bgLoaderStart_mc.tween_frames,"grigio_start");
    } else if (
    quadrante == 2) {
    _parent.bgLoaderStart_mc.myColor = new Color(_parent.bgLoaderStart_mc.fadebg.colorbg);
    _parent.bgLoaderStart_mc.changebg(248,201,61,100,_parent.bgLoaderStart_mc.tween_frames,"verde_start");
    } else if (
    quadrante == 3) {
    _parent.bgLoaderStart_mc.myColor = new Color(_parent.bgLoaderStart_mc.fadebg.colorbg);
    _parent.bgLoaderStart_mc.changebg(248,201,61,100,_parent.bgLoaderStart_mc.tween_frames,"azzurro_start");
    } else if (
    quadrante == 4) {
    _parent.bgLoaderStart_mc.myColor = new Color(_parent.bgLoaderStart_mc.fadebg.colorbg);
    _parent.bgLoaderStart_mc.changebg(248,201,61,100,_parent.bgLoaderStart_mc.tween_frames,"giallo_start");

    se invece utilizzo un setInterval non succede niente...
    Codice PHP:
    tempo setInterval(pausa1000);
    function 
    pausa() {
        if (
    quadrante == 1) {
            
    _parent.bgLoaderStart_mc.myColor = new Color(_parent.bgLoaderStart_mc.fadebg.colorbg);
            
    _parent.bgLoaderStart_mc.changebg(248,201,61,100,_parent.bgLoaderStart_mc.tween_frames,"grigio_start");
        } else if (
    quadrante == 2) {
            
    _parent.bgLoaderStart_mc.myColor = new Color(_parent.bgLoaderStart_mc.fadebg.colorbg);
            
    _parent.bgLoaderStart_mc.changebg(248,201,61,100,_parent.bgLoaderStart_mc.tween_frames,"verde_start");
        } else if (
    quadrante == 3) {
            
    _parent.bgLoaderStart_mc.myColor = new Color(_parent.bgLoaderStart_mc.fadebg.colorbg);
            
    _parent.bgLoaderStart_mc.changebg(248,201,61,100,_parent.bgLoaderStart_mc.tween_frames,"azzurro_start");
        } else if (
    quadrante == 4) {
            
    _parent.bgLoaderStart_mc.myColor = new Color(_parent.bgLoaderStart_mc.fadebg.colorbg);
            
    _parent.bgLoaderStart_mc.changebg(248,201,61,100,_parent.bgLoaderStart_mc.tween_frames,"giallo_start");
        }
        
    clearInterval(tempo);

    Secondo voi qual è la causa?
    Grazie in anticipo

  2. #2
    prova così che il setInterval cambia il target
    codice:
    tempo = setInterval(pausa, 1000, this);
    function pausa(trg) {
        if (quadrante == 1) {
            trg._parent.bgLoaderStart_mc.myColor = new Color(trg._parent.bgLoaderStart_mc.fadebg.colorbg);
        ... 
        clearInterval(tempo);
    }

  3. #3
    Utente di HTML.it L'avatar di daem
    Registrato dal
    Oct 2000
    Messaggi
    199
    Originariamente inviato da Stan
    prova così che il setInterval cambia il target
    codice:
    tempo = setInterval(pausa, 1000, this);
    function pausa(trg) {
        if (quadrante == 1) {
            trg._parent.bgLoaderStart_mc.myColor = new Color(trg._parent.bgLoaderStart_mc.fadebg.colorbg);
        ... 
        clearInterval(tempo);
    }
    Scusa ma il target l'ho già identificato con _parent. Forse non ho capito bene cosa intendi...

  4. #4
    prova a fare un trace del _parent vedi che viene fuori

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.