ridimensiona il file SWF caricato per adattarlo all'area di disegno
-
05-07-2019 - |
Domanda
un .fla è di 500 x 300. All'interno, il contenuto si sposta FUORI dallo stage 500 x 300 in modo che appaia come se si nascondesse o si allontanasse dallo schermo.
.fla rispettato ... caricato in Flex tramite SWFLoader:
<mx:Conainer width="500" height="300">
<mx:SWFLoader width="100%" height="100%" />
</mx:Conainer>
Il file .swf caricato viene mostrato all'esterno del contenitore 500 x 300 in Flex.
Come posso ottenerlo in modo che sia visibile solo ciò che è INSIDE of the Container?
Soluzione
Ok, l'ho capito.
<mx:Canvas id="swfHolder" mask="{maskCanvas}">
<mx:SWFLoader id="swffer" scaleContent="true" />
</mx:Canvas>
<mx:Canvas id="maskCanvas" backgroundColor="#000000"/>
Il trucco è usare la " maschera " proprietà. Nota l'oggetto che esegue il "mascheramento" deve avere una proprietà backgroundColor impostata. Ho trovato utile questo articolo: testo del link
Altri suggerimenti
utilizza scaleContent = " true "
nel tag SWFLoader .
<mx:Conainer width="500" height="300" clipContent="true">
<mx:SWFLoader width="100%" height="100%" />
</mx:Conainer>
Usa " clipContent " proprietà
Aiuto Flex per Canvas:
clipContent: Boolean [read-write]
Se applicare una maschera di ritaglio se le posizioni e / o le dimensioni dei figli di questo contenitore si estendono al di fuori dei bordi di questo contenitore. Se falso, i figli di questo contenitore rimangono visibili quando vengono spostati o dimensionati al di fuori dei bordi di questo contenitore. Se vero, i figli di questo contenitore sono tagliati.
Se clipContent è falso, lo scorrimento è disabilitato per questo contenitore e le barre di scorrimento non verranno visualizzate. Se clipContent è vero, le barre di scorrimento appariranno di solito quando i figli del contenitore si estendono al di fuori del bordo del contenitore. Per un ulteriore controllo sull'aspetto delle barre di scorrimento, vedere horizontalScrollPolicy e verticalScrollPolicy.