Domanda

Ecco la situazione: ho una shell che carica un .swf esterno. Ora, quello .swf è 800x600, ma è un pezzo di animazione e ci sono elementi che si estendono dal palco. Quando carico .swf nella shell e chiamo il suo attributo width, restituisce 1200 - perché include gli elementi che escono dallo stage.

Questo non è quello che voglio - idealmente, ci sarebbero due proprietà, una per restituire la "larghezza calcolata" e una per restituire la "larghezza predefinita". Esistono queste proprietà e, in caso contrario, qual è la soluzione alternativa migliore?

È stato utile?

Soluzione

La larghezza e l'altezza del file SWF caricato come definito dal file FLA con cui è stata creata sono reperibili nell'oggetto Caricatore in cui è stato caricato il file SWF.

swfLoader.contentLoaderInfo.width
swfLoader.contentLoaderInfo.height

Questo mostrerà sempre le dimensioni definite nelle proprietà FLA. Non fa alcuna differenza se immagini, MovieClips o cosa hai esteso fuori dal palco.

Le proprietà stage.stageWidth e stage.stageHeight restituiranno sempre la larghezza dello stage, lo stage è sempre il primo più SWF. In altre parole, rappresenterà sempre le dimensioni del palco della shell. C'è solo uno stadio in un'applicazione Flash.

Altri suggerimenti

Mark ha molto probabilmente ragione sul caricatore di contenuti info l'oggetto conterrà la larghezza e l'altezza corrette. Non mi sono mai verificato, quindi non posso garantirlo. I documenti dicono "nominale" e lo contrappongono a "reale", quindi sembra ragionevole.

Ci sono un paio di altre opzioni. È possibile mascherare il file SWF esterno. Crea una maschera delle dimensioni del palco e metti tutto il contenuto al di sotto di esso. Un'altra idea è quella di creare un Movie Clip basato su un set di forme rettangolari impostato su alpha per 0 posizionarlo su x: 0, y: 0 e far corrispondere larghezza e altezza allo stage. Dagli un nome di istanza e poi quando viene caricato usa quel valore per la dimensione.

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