Domanda

È possibile? Mi piacerebbe avere uno SWF principale che può essere visualizzato dagli utenti che o si dispone di Flash 9 o Flash 10 installato. All'interno di questo swf, un modulo separato verrà caricato solo per gli utenti che hanno installato Flash 10. Questo modulo userà qualche lampo avanzate 10 caratteristiche.

È stato utile?

Soluzione

Certo, questo dovrebbe funzionare bene proprio come hai descritto esso. Fai la tua SWF base in Flash 9, fare un controllo di versione, e il carico eventualmente in un altro SWF pubblicato come 10. Flash renderà le funzionalità avanzate nel file SWF v10, indipendentemente dalla versione del file SWF è stato caricato in.

Basta ricordare che la versione è restituito come una stringa, in modo da essere sicuri di fare un parseInt su di esso.

Altri suggerimenti

Questo dovrebbe funzionare bene a meno che non si sta cercando di utilizzare Flash 10 librerie specifiche in Flash SWF 10, che è probabilmente quello che stai facendo. Ho appena provato questo fuori, e ancora una volta Adobe delude nel loro design libreria di Flash / Flex e qualità.

Per esempio, stavo cercando di fare quanto segue

Ho un file SWF base di Flash 9 che caricherà un modulo Flash 10, se Flash Player dell'utente è di 10 o superiore. Questo modulo Flash 10 finisce utilizzando le librerie specifiche di Flash 10, come:   1) flash.net.NetStreamPlayOptions   2) flash.net.NetStreamPlayTransitions   3) NetStream.play2 Purtroppo, quando faccio questo, il runtime Flash si lamenta che non esiste una cosa come NetStreamPlayOptions, NetStreamPlayTransitions, e NetStream.play2. Ho cercato di aggirare questo duplicando i NetStreamPlayOptions e NetStreamPlayTransitions, che mi ha preso più lontano, ma purtroppo non sono riuscito a chiamare NetStream.play2, anche se io scaccio l'istanza NetStream come un oggetto.

Credo che funziona in questo modo perché la base SWF, che è Flash 9, utilizza il playerglobal.swc, destinato a Flash 9. Quando si carica il file SWF Flash 10, finisce ancora utilizzando il playerglobal.swc Flash 9 perché l'ambiente è stato inizializzato per Flash 9, che causa problemi con Flash 10 SWF. Devo ancora trovare un modo per aggirare questo.

Quando Flash è stato il passaggio da AS1 -> AS2 -.> AS3, aveva un senso perché non era compatibile, ma ora AS3 non può sempre caricare AS3, che a mio parere è molto deludente

E 'da molto tempo che non sviluppare applicazioni flash, ma ben ... questi sono i miei 2 centesimi:

Si potrebbe realmente bisogno di compilare il principale Flash a 10 e questo può essere un problema a causa del l'avviso di aggiornamento.

Questa è una possibile soluzione: http://codeofdoom.com / wordpress / 2009/02/09 / compilazione-to-flash-10-richiede-flash-9 /

Dopo aver fatto questo, penso che è facile rilevare la versione flash e caricamento dei diversi moduli SWF proprio come dici tu.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top