Domanda

C'è un modo per ridimensionare un intero progetto Flash usando Actionscript o qualche altro metodo?

Ho creato un'applicazione Flash CS3 1024x768, ma dopo un'attenta ispezione delle specifiche, ora mi rendo conto che deve essere 800x600. Invece di rimpicciolire manualmente tutto, mi piacerebbe ridimensionare la finestra come se qualcuno stesse trascinando il bordo esterno. O forse aggiungere un pulsante che consente di alternare tra 1024x768 e 800x600. È possibile?

Intendo qualcosa del genere:

stage.stageWidth = 800;
stage.stageHeight = 600;
È stato utile?

Soluzione

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 modificherà la dimensione dello stage e scaleMode determinerà il modo in cui viene gestito. Tutti i file SWF sul il mio sito web Enjoy3D eseguono questa operazione sul ridimensionamento della finestra ...

Altri suggerimenti

Se lo desideri, puoi semplicemente modificare il wrapper HTML per il tuo SWF e dire se le nuove dimensioni, sebbene temo che i media rasterizzati vengano pixelati anche quando si restringono. È meglio ridurre tutto, anche se non si desidera.

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

Assicurati di avere stage.scaleMode impostato nel modo desiderato.

Saluti

Non puoi modificare la larghezza e l'altezza dello stage da Actionscript, tali proprietà sono di sola lettura.

Non potresti semplicemente impostare la dimensione delle proprietà dello stage (suppongo che tu stia usando Flash qui) su 800 per 600 prima di compilare il tuo swf?

  1. È possibile impostare le proprietà di larghezza e altezza nel file xxx-app.xml
  2. Se si desidera farlo in modo dinamico, è possibile utilizzare le proprietà FlexGlobals.topLevelApplication.width e height o le proprietà obsolete Application.application.width e height
  3. O se si dispone di un progetto ActionScript puro, per cui non è possibile eseguire FlexGlobals o Applicazione, è possibile eseguire dal seguente file ActionScript (Sprite) il seguente (notare 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;
    
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top