2009-07-29 13 views
3

a .fla ist 500 x 300. Im Inneren bewegt sich Inhalt aus der 500 x 300 Bühne, so dass es scheint, als ob es versteckt oder bewegt sich vom Bildschirm.Größe skalieren SWF in Leinwand anpassen

Fla HALTEN ... geladen Flex über SWFLoader:

<mx:Conainer width="500" height="300"> 
     <mx:SWFLoader width="100%" height="100%" /> 
</mx:Conainer> 

.swf Datei geladen zeigt außerhalb der 500 x 300 Container in Flex.

Wie kann ich es bekommen, so dass nur was INNERHALB des Containers sichtbar ist?

+0

Soll die Größe des SWF so geändert werden, dass es im gesamten Canvas sichtbar ist oder Sie möchten, dass alle Bereiche außerhalb des Canvas liegen? –

+0

Adrian, für dieses Problem möchte ich maskieren, was außerhalb der Leinwand ist. Ich würde jedoch auch gern die frühere Lösung, die Sie für meine persönliche Erbauung erwähnen, kennen, wenn es Ihnen nichts ausmacht. Vielen Dank. –

Antwort

1

Ok, ich habe es herausgefunden.

<mx:Canvas id="swfHolder" mask="{maskCanvas}"> 
     <mx:SWFLoader id="swffer" scaleContent="true" /> 
</mx:Canvas> 

<mx:Canvas id="maskCanvas" backgroundColor="#000000"/> 

Der Trick besteht darin, die Eigenschaft "mask" zu verwenden. Beachten Sie, dass das Objekt, das die Maskierung durchführt, eine backgroundColor-Eigenschaft haben muss. Ich fand diesen Artikel hilfreich: link text

+0

schön zu wissen :) –

0
<mx:Conainer width="500" height="300" clipContent="true"> 
     <mx:SWFLoader width="100%" height="100%" /> 
</mx:Conainer> 

Use "clipcontent" Eigenschaft

Flex Hilfe für Leinwand:

clipcontent: Boolean [read-write]

Ob eine Clip-Maske anwenden, wenn die Positionen und/oder Größen der Kinder dieses Containers erstrecken sich außerhalb der Grenzen dieses Containers. Bei false bleiben die untergeordneten Elemente dieses Containers sichtbar, wenn sie außerhalb der Grenzen dieses Containers verschoben oder dimensioniert werden. Wenn dies der Fall ist, werden die untergeordneten Objekte dieses Containers abgeschnitten.

Wenn clipContent false ist, ist das Scrollen für diesen Container deaktiviert und Bildlaufleisten werden nicht angezeigt. Wenn clipContent auf true festgelegt ist, werden normalerweise Bildlaufleisten angezeigt, wenn sich die untergeordneten Elemente des Containers außerhalb des Containerrands befinden. Weitere Informationen zum Erscheinungsbild von Bildlaufleisten finden Sie unter horizontalScrollPolicy und verticalScrollPolicy.

+0

Leider funktioniert das nicht. Die .swf kommt immer noch aus dem SWFLoader und dem Container. :( –

+0

OK .. so haben Sie eine Fla-Datei, die sein Inhalt übersteigt die Größen von 500x300? Sie können eine Chance haben, indem Sie eine Maske in der Fla, so dass der Inhalt wird außerhalb der Originalgröße maskiert –

+0

Adrian, habe ich das versucht Ich spiele jetzt mit der Eigenschaft "mask". –

0

Bitte verwenden Sie scaleContent="true" in SWFLoader Tag.

Verwandte Themen