Question

Existe-t-il un moyen de redimensionner tout un projet Flash en utilisant Actionscript ou une autre méthode?

J'ai créé une application Flash CS3 1024x768, mais après un examen plus minutieux des spécifications, je me rends compte maintenant qu'il doit s'agir d'un format 800x600. Au lieu de tout réduire manuellement, j'aimerais redimensionner la fenêtre comme si quelqu'un faisait glisser le bord extérieur. Ou peut-être ajouter un bouton qui permet de basculer entre 1024x768 et 800x600. Est-ce possible?

Je veux dire quelque chose comme ça:

stage.stageWidth = 800;
stage.stageHeight = 600;
Était-ce utile?

La solution

Oui stageWidth et stageHeight sont en lecture seule, malgré la documentation. Toutefois, si le fichier SWF est intégré à une page Web, la modification de la largeur et de la hauteur de l’élément modifiera la taille de la scène et scaleMode déterminera la manière dont il est géré. Tous les fichiers SWF présents sur la mon site Web Enjoy3D font ceci lors du redimensionnement de la fenêtre ...

Autres conseils

Si vous le souhaitez, vous pouvez simplement modifier l'encapsuleur HTML de votre fichier SWF et indiquer si les nouvelles dimensions, même si je crains que les supports rasterisés ne soient pixellisés, même lors de la réduction. Il est préférable de tout réduire, même si vous ne le souhaitez pas.

Si vous avez vraiment besoin de le faire en flash, utilisez la classe ExternalInterface du package flash.external pour appeler une fonction JavaScript dans votre code HTML. Assurez-vous que votre swf est à l'intérieur d'une div et réglé sur 100% de sa hauteur et de sa largeur. Maintenant, vous ne faites que changer la taille de la div via JavaScript via Actionscript.

Assurez-vous que stage.scaleMode est défini comme vous le souhaitez.

A bientôt

Vous ne pouvez pas modifier la largeur et la hauteur de la scène depuis Actionscript, ces propriétés sont en lecture seule.

Ne pourriez-vous pas simplement définir la taille des propriétés de la scène (je suppose que vous utilisez Flash) à 800 x 600 avant de compiler votre swf?

  1. Vous pouvez définir les propriétés width et height dans votre fichier xxx-app.xml
  2. Si vous souhaitez le faire de manière dynamique, vous pouvez utiliser les propriétés FlexGlobals.topLevelApplication.width et height ou les propriétés obsolètes Application.application.width and height
  3. Ou si vous avez un projet ActionScript pur, vous ne pouvez pas exécuter FlexGlobals ni Application, vous pouvez, à partir de votre fichier ActionScript principal (Sprite), exécuter les opérations suivantes (notez que cette étape doit être initialisée avant de le faire)

    width = WIDTH;
    height = HEIGHT;
    stage.stageWidth = WIDTH;
    stage.stageHeight = HEIGHT;
    stage.nativeWindow.width = WIDTH;
    stage.nativeWindow.height = HEIGHT;
    
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top