2010-03-18 5 views
2

J'utilise Loader pour charger un swf externe dans mon swf et ajouter ce swf chargé à la scène en utilisant event.target.content.AS3: Définition de la taille du swf chargé

Si je règle la largeur et la hauteur du swf chargé, je redimensionne réellement le MovieClip à l'intérieur de mon swf chargé. Ce que je veux faire est de changer la taille de la scène du swf chargé.

Une façon de faire?

+0

Je n'ai jamais rencontré un cas où vous auriez voulu ou devez faire cela. Qu'est-ce que vous essayez d'accomplir? –

+0

J'ai un swf qui charge n'importe quel autre swf pour générer une vignette du swf chargé. Mon swf a une largeur et une hauteur définies où le swf chargé devrait s'adapter parfaitement. Le problème est que je ne peux pas définir la largeur et la hauteur du swf chargé, donc il s'étend à l'extérieur où il est censé être .. J'ai découvert que vous pouvez utiliser scaleX et scaleY, mais je ne suis pas sûr de savoir comment trouver la même échelle que l'endroit où je veux le charger (avec 900 x 506 btw) – Tinelise

+0

En fait .. Le swf que je testais avec juste composé d'un seul petit rectangle. Quand j'ai ajouté quelque chose à mon swf de test qui augmentait la taille de la classe du document, la largeur fonctionnait comme il se doit. Encore wierd que je ne peux que changer la taille du contenu et non l'étape du swf chargé .. – Tinelise

Répondre

1

La meilleure façon de trouver l'échelle dont vous avez besoin est de comparer les proportions des échelles de largeur et de hauteur du contenu et de la cible. Pour rendre l'ajustement swf chargé dans la zone, mise à l'échelle pour que tout est à l'intérieur, vous pouvez faire quelque chose comme ceci:

var scale:Number = Math.min(_holder.width/_loader.content.width, 
          _holder.height/_loader.content.height); 
_loader.content.scaleX = _loader.content.scaleY = scale; 

Cela fera en sorte que vous pouvez tout voir. Si vous changez Math.min en Math.max, vous obtiendrez un résultat différent si les dimensions ne correspondent pas

+0

Merci! Semble fonctionner parfaitement :) – Tinelise

Questions connexes