Visualizzazione dei risultati da 1 a 4 su 4

Discussione: recupero variabile

  1. #1

    recupero variabile

    Scusate è un pò che mi scorno con il seguente problema:

    ho una paginetta html con dentro un file swf. Nel tag "embed" gli passo una variabile chiamata "valore", ecco il codice:

    <object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="300" height="200">
    <param name="movie" value="prova.swf">
    <param name="quality" value="high">
    <param name="valore" value="2">
    <embed src="prova.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="200" valore="2"></embed>
    </object>

    (Ora sto facendo le prove settando manualmente la variabile "valore", ma alla fine sarà dinamicamente creato da una pag. ASP).

    In flash devo recuperare quella variabile che, a seconda del valore passato, farà vedere un'immagine messa nello stage (in cui ci sono tre frame con tre img diverse)...
    il codice in flash è questo:

    if (_root.valore="1") {
    gotoAndPlay(2);
    }
    else if (_root.valore="2") {
    gotoAndPlay(3);
    }
    else if (_root.valore="3") {
    gotoAndPlay(4);
    }

    la domanda è: dove sbaglio nel recuperare la variabile????
    Digito, ergo sum...

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780

    Re: recupero variabile

    la domanda è: dove sbaglio nel recuperare la variabile????
    La risposta è: non sbagli nel recuperare la variabile ma sbagli semplicemente nel dichiadarla in quel modo sul codice html.

    Non puoi metterla come attributo del tag embed, nè tantomeno la puoi passare come param.

    Dovresti passarla col metodo GET concatenandola all'indirizzo del file swf come Query String (tuofilmato.swf?variabile=valore) oppure passarla con le FlashVars.

    L'argomento è stato trattato varie volte sul forum. Ti consiglio di fare qualche ricerca.

    Ti consiglio inoltre l'utilizzo di swfobject per l'inclusione del filmato su una pagina html.
    http://www.magnificaweb.it/swfobject-2/

    Fai attenzione anche allo script perchè noto qualche errore.
    codice:
    if (_root.valore=="1") {
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Ciao KillerWorm e grazie della risposta innanzitutto!

    Ho continuato a cercare nel forum e a spulciare vari thread sull'argomento, ma ancora non sono venuto a conclusione del mio problema purtroppo.

    Innanzitutto ho corretto il codice html in questo modo:

    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="300" height="200" id="prova" align="middle">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="movie" value="prova.swf" />
    <param name="quality" value="high" />
    <param name="bgcolor" value="#ffffff" />
    <param name=FlashVars value="valore=2">
    <embed src="prova.swf" quality="high" bgcolor="#ffffff" width="300" height="200" name="prova" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="valore=2" />
    </object>

    Poi, in flash, ho modificato un pò il tutto. Ora ho un solo frame con le tre immagini con alpha=0 e un campo di testo con nome istanza "valore" in cui visualizzo il valore passato.

    Il codice è il seguente:

    if (_root.valore=="1") {
    _root.img1._alpha=100;
    _root.img2._alpha=0;
    _root.img3._alpha=0;
    }
    if (_root.valore=="2") {
    _root.img1._alpha=0;
    _root.img2._alpha=100;
    _root.img3._alpha=0;
    }
    if (_root.valore=="3") {
    _root.img1._alpha=0;
    _root.img2._alpha=0;
    _root.img3._alpha=100;
    }

    Ora mi vede il parametro corretto nel campo "valore" ma non visualizza l'immagine in nessuna maniera...credo di avere la testa nel pallone, oltre alla poca dimistichezza con Flash...
    Digito, ergo sum...

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Occhio qui, dovresti utilizzare le virgolette.
    codice:
    <param name="FlashVars" value="valore=2">
    La sintassi dello script sembrerebbe corretta anche se trovo un po' artigianale l'impostazione.

    Ad ogni modo, non mi torna quest'altro punto:
    e un campo di testo con nome istanza "valore"
    Se "valore" è il nome istanza di un campo di testo allora si avrà qualche conflitto sicuramente perchè non puoi applicare contemporaneamente lo stesso nome sia ad una variabile, sia ad un'altra qualsivoglia istanza.
    A meno che tu non ti stia confondendo e invece che "nome istanza" in realtà volevi riferirti al nome della variabile associata al campo di testo.

    Se il problema non è questo allora è da ricercare da qualche altra parte.

    Vorrei capire come hai sistemato le immagini sullo stage.
    E' possibile che tu non abbia impostato il nome istanza sulle istanze delle immagini o, peggio ancora, che tu non abbia "convertito le immagini come simbolo" una volta messe sullo stage.

    Infatti per applicare l'alpha o interagire in qualsiasi altro modo tramite script, è necessario convertire le immagini in istanze di clip filmato e applicare il nome istanza dal pannello "Proprietà"... Tu hai fatto così?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

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.