Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: actionscript 3 parent

  1. #1

    actionscript 3 parent

    function pauseit(event:Event){
    MovieClip(root).puls.main.stop();
    };

    questa funzione che si trova sulla root principale quando chiamata deve STOPPARE il clip con nome istanza 'main' all'interno del clip con nome istanza 'puls'.

    mi da questo errore:
    codice:
    ReferenceError: Error #1069: Impossibile trovare la proprietà main su flash.display.SimpleButton e nessun valore predefinito presente.
    	at banner_fla::MainTimeline/pauseit()
    :master:

  2. #2
    nessuna dritta?

    ho provato con:

    function pauseit(event:Event){
    MovieClip(parent).puls.main.stop();
    };

    ma mi dice:
    TypeError: Error #1034: Assegnazione di tipo forzata non riuscita: impossibile convertire flash.display::Stage@e137b51 in flash.display.MovieClip.
    at banner_fla::MainTimeline/pauseit()


    Dipende forse dal fatto che puls è un pulsante e non un movieclip?

    Ave

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Il primo errore deriva dal fatto che "puls" non è un movieclip, ma un SimpleButton, e quindi non puoi comandare in maniera diretta elementi contenuti nella sua timeline.

  4. #4
    grazie per le risposta and80,

    esiste una qualche maniera per fermare quella timeline, o è impossibile?


  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Forse (dico forse perchè non l'ho testato), puoi accedere al clip interno al pulsante, utilizzando la proprietà "upState" che dovrebbe restituirti un oggetto MovieClip (che poi dovrebbe essere il clip a cui vuoi accedere), ma non posso dartene la sicurezza finchè non provo e stamattina dubito di riuscirci.

  6. #6
    Grazie AND80!

    aspetto gli sviluppi allora.


  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Nel mentre che aspetti, puoi tentare anche tu.
    Purtroppo come ti dicevo, ho poco tempo in questi giorni e non riesco sempre a provare queste cose, quindi potrebbe essere una cosa un po' lunga.

  8. #8
    ciao And,

    secondo me questo metodo potrebbe funzionare

    http://www.w3facile.com/index.php/fl...ema-_root.html

    anche se finora non sono riuscito ad adattarlo alle mie esigenze in quanto devo fare una cosa inversa a quella mostrata.

    In alternativa potrei usare Actionscript 2 dicendo:

    on (release){
    _root.puls.main.stop();
    }

    solo che neanche questo mi funziona, perchè?

  9. #9
    Secondo me è proprio sbagliato concettualmente il fatto di avere mc dentro a pulsanti che fanno cose che devono essere comandate.
    Ora io non ho visto i tuoi sorgenti, ma non sarebbe più facile fare tutto coi MovieClip (in AS3 gli mc hanno la proprietà buttonMode che abilita la manina del mouse) oppure ricorrere a pulsanti indipendenti che comandano mc, anche fare solo l'area sensibile sopra all'mc che ti interessa.

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Beh, non è correttissimo, ma non è detto che non si possa fare, l'importante poi è sapere appunto come controllare quelle situazioni con as, se as si vuole usare.
    Comunque ho provato quello che dicevo, in pratica se all'interno del pulsante c'è solo il movieclip, allora richiamandolo con "upState" si ricava direttamente, mentre nel caso che ci siano più cose all'interno del pulsante, in fase di compilazione viene creato dentro ai vari stati uno Sprite che contiene il contenuto appunto degli stati, quindi nel primo caso avresti:

    root['puls'].upState.stop();

    Nel secondo caso è più complicato, perchè lo spostamento degli elementi in questo Sprite fittizio rende più complessa la ricerca del clip che si vuole manipolare, anche se utilizzando la funzione getChildAt è possibile scorrere gli elementi presenti nello Sprite e manipolarli, ad esempio nella prova che ho fatto ho inserito prima un clip e poi un campo di testo e ho trovato il clip nel livello 0, quindi l'ho potuto manipolare solo in questo modo:

    var ref = root['puls'].upState;
    ref.getChildAt(0).stop();

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.