2009-03-08 13 views
6

C'è un modo per ridimensionare un intero progetto Flash usando Actionscript o qualche altro metodo?Ridimensiona finestra con actionscript 3.0

Ho creato un'applicazione Flash CS3 1024x768, ma dopo aver esaminato attentamente le specifiche, ora realizzo che deve essere 800x600. Invece di rendere tutto più piccolo manualmente, mi piacerebbe ridimensionare la finestra come se qualcuno stesse trascinando il bordo esterno. O forse aggiungi un pulsante che consente di passare da 1024x768 a 800x600. È possibile?

voglio dire qualcosa di simile:

stage.stageWidth = 800; 
stage.stageHeight = 600; 

risposta

4

Sì stageWidth e stageHeight sono di sola lettura, nonostante i documenti. Ma se il file SWF è incorporato in una pagina Web, la modifica della larghezza e dell'altezza dell'elemento cambierà le dimensioni dello stage e la modalità di scala determinerà il modo in cui viene gestita. Tutti i file SWF a my Enjoy3D web site eseguono il ridimensionamento della finestra ...

+0

Ahh ... ma non è in un sito web. Ma va bene, ho scoperto che puoi trasformare tutto sul palco in un nuovo Movie Clip, ridimensionarlo e poi spezzare nuovamente il Movie Clip. – pypmannetjies

0

Non è possibile modificare la larghezza e l'altezza dal palco Actionscript, queste proprietà sono di sola lettura.

Non potresti semplicemente impostare la dimensione delle proprietà dello stage (presumo che stai usando Flash qui) a 800 per 600 prima di compilare il tuo swf?

+0

No, ridimensiona solo il palco e non gli oggetti sul palco. – pypmannetjies

1

Se si desidera, è sufficiente modificare il wrapper HTML per il file SWF e stabilire se le nuove dimensioni, anche se ho paura e il supporto rasterizzato, verranno pixelate anche quando si restringono. È meglio ridurre ogni cosa, anche se non vuoi.

Se si ha davvero bisogno di farlo in flash, utilizzare la classe ExternalInterface del pacchetto flash.external per effettuare una chiamata a una funzione JavaScript nel codice HTML. Assicurati che il tuo swf sia all'interno di un div e che sia impostato al 100% dell'altezza e della larghezza del div. Ora si modifica semplicemente la dimensione del div tramite JavaScript tramite Actionscript.

Assicurati di avere stage.scaleMode impostato nel modo desiderato.

Acclamazioni

0
  1. È possibile impostare le proprietà width e height nel file xxx-app.xml
  2. Se si vuole fare in modo dinamico, è possibile utilizzare FlexGlobals.topLevelApplication.width e height o proprietà deprecate Application.application.width e height
  3. Oppure se si dispone di un puro progetto ActionScript, per cui non è possibile eseguire FlexGlobals o Application, è possibile eseguire dal file ActionScript (Sprite) il seguente comando (nota che lo stage deve essere inizializzato prima di farlo)

    width = WIDTH; 
    height = HEIGHT; 
    stage.stageWidth = WIDTH; 
    stage.stageHeight = HEIGHT; 
    stage.nativeWindow.width = WIDTH; 
    stage.nativeWindow.height = HEIGHT;