2009-03-08 21 views
6

¿Hay alguna manera de cambiar el tamaño de todo un proyecto de Flash utilizando Actionscript u otro método?Cambiar el tamaño de la ventana con actionscript 3.0

He creado una aplicación Flash CS3 de 1024x768, pero tras una inspección más cercana de las especificaciones, ahora me doy cuenta de que tiene que ser de 800x600. En lugar de hacer manualmente todo más pequeño, me gustaría cambiar el tamaño de la ventana como si alguien estuviera arrastrando el borde exterior. O quizás agregue un botón que permita cambiar entre 1024x768 y 800x600. es posible?

quiero decir algo como esto:

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

Respuesta

4

Sí stageWidth y stageHeight son de solo lectura, a pesar de los documentos. Pero si el SWF está incrustado en una página web, al cambiar el ancho y alto de su elemento cambiará el tamaño de la etapa y scaleMode determinará cómo se maneja. Todos los SWFs en my Enjoy3D web site hacen esto en el tamaño de la ventana ...

+0

Ahh ... pero no está en un sitio web. Pero está bien, he descubierto que puedes convertir todo en el escenario en un nuevo clip de película, cambiarle el tamaño y luego volver a separar el clip de película. – pypmannetjies

0

No se puede cambiar el ancho y la altura de la fase Actionscript, esas propiedades son de sólo lectura.

¿No podría simplemente establecer el tamaño de las propiedades del escenario (supongo que está utilizando Flash aquí) a 800 por 600 antes de compilar su swf?

+0

No, sólo cambia el tamaño de la etapa y no los objetos en el escenario. – pypmannetjies

1

Si quisieras, podrías simplemente editar el contenedor HTML para tu SWF y decir si las nuevas dimensiones, aunque me temo y los medios rasterizados, se pixelarán incluso cuando se reduzcan. Lo mejor es reducir todo, aunque no quieras.

Si realmente necesita hacerlo en flash, utilice la clase ExternalInterface del paquete flash.external para hacer una llamada a una función de JavaScript en su HTML. Asegúrate de que tu swf esté dentro de un div y configúralo al 100% de la altura y ancho del div. Ahora simplemente cambia el tamaño del div a través de JavaScript mediante Actionscript.

Asegúrese de que tiene stage.scaleMode configurado de la manera que desee.

Saludos

0
  1. Se podría establecer las propiedades de anchura y altura en el archivo xxx-app.xml
  2. Si desea hacerlo de forma dinámica, se puede usar FlexGlobals.topLevelApplication.width y altura o propiedades las propiedades de Application.application.width y height obsoletas
  3. O si tiene un proyecto de ActionScript puro, mediante el cual no puede hacer FlexGlobals o Application, puede desde su archivo de ActionScript principal (Sprite) ejecutar lo siguiente (tenga en cuenta que el escenario debe estar inicializado antes de hacer esto)

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