Domanda

Ho incorporato un file SWF in una classe utilizzando questa sintassi sopra la definizione della mia classe:

[Incorpora (source = '/ .. / assets / MyMovieClips.swf', symbol = 'SpecialMovieClip')]
classe pubblica SpecialMovieClip estende MovieClip

L'asset MovieClip sembra collegato alla mia classe, va bene e crea un'istanza insieme ad esso, ed è visibile, ma:

  • Non riesco ad accedere alle istanze posizionate sul palco all'interno di quella clip.
  • Lo script della timeline sembra non funzionale.

È questo l'inconveniente di incorporare file SWF in fase di compilazione con Flex SDK? Quindi, forse dovrei semplicemente tornare alla compilazione con l'IDE Flash se voglio lo script della timeline o le istanze posizionate sullo stage?

È stato utile?

Soluzione

  1. se incorpori con il tag [Incorpora] tutti gli script verranno rimossi dal tuo simbolo. Ma puoi aggiungere script ai frame con MovieClip.addFrameScript ():

    funzione pubblica SpecialMovieClip () {

    addFrameScript (4, myfunc)

    }

    funzione privata myfunc () {

    stop ()

    }

  2. penso che puoi accedere ai simboli solo all'interno di un movieClip con movieClip.GetChildAt ()

Altri suggerimenti

Dai docs : ( scorri verso il basso fino a " Incorporamento dei simboli SWF ")

  

Se il file SWF contiene codice ActionScript, Flex stampa un avviso durante la compilazione e quindi espelle ActionScript dal simbolo di incorporamento. Ciò significa che puoi incorporare solo il simbolo stesso.

A seconda di cosa vuoi fare, penso che sarebbe meglio incorporare l'intero SWF o caricare le cose in fase di esecuzione.

Per inciso, riguardo al fatto di non poter accedere agli elementi all'interno del simbolo incorporato, ti sei assicurato che il file SWF di destinazione sia AS3? Se stai incorporando (o caricando) contenuto AS2, l'interoperabilità è consentita solo tramite LocalConnection. Questo è anche trattato nella pagina doc che ho collegato.

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