Pregunta

¿Hay alguna forma de cambiar el tamaño de un proyecto Flash completo usando Actionscript o algún otro método?

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

Me refiero a algo como esto:

stage.stageWidth = 800;
stage.stageHeight = 600;
¿Fue útil?

Solución

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

Otros consejos

Si quisiera, simplemente podría editar el envoltorio HTML para su SWF y saber si las nuevas dimensiones, aunque me temo que los medios rasterizados se pixelarán incluso cuando se reduzcan. Es mejor reducirlo todo, aunque no quieras hacerlo.

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

Asegúrate de que tienes stage.scaleMode configurado de la forma que lo deseas.

Saludos

No puede cambiar el ancho y el alto de la etapa desde el ActionScript, esas propiedades son de solo lectura.

¿No pudiste establecer el tamaño de las propiedades del escenario (supongo que estás usando Flash aquí) en 800 por 600 antes de compilar tu swf?

  1. Puede establecer las propiedades de ancho y alto en su archivo xxx-app.xml
  2. Si desea hacerlo de forma dinámica, puede usar FlexGlobals.topLevelApplication.width y las propiedades de altura o las aplicaciones Application.application.width y height en desuso
  3. O si tiene un proyecto de ActionScript puro, en el que no puede hacer FlexGlobals o Aplicación, desde su archivo de script principal (Sprite) puede ejecutar lo siguiente (tenga en cuenta que la etapa debe inicializarse antes de hacer esto)

    width = WIDTH;
    height = HEIGHT;
    stage.stageWidth = WIDTH;
    stage.stageHeight = HEIGHT;
    stage.nativeWindow.width = WIDTH;
    stage.nativeWindow.height = HEIGHT;
    
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top