Comunidad de diseño web y desarrollo en internet online

Funcion Resize() en AIR Ayuda¡¡¡

Citar            
MensajeEscrito el 14 Ago 2008 07:49 pm
Hola que tal, les escribo por que no he podido aplicar un resize a mi aplicacion en air, ya he tratado de varias formas pero no doy con las lineas de codigo correctas, si alguien me pudiera ayudar con este problema ya que desde hace dias estoy con esto y no he podido avanzar mi aplicacion por este motivo.

Explicacion:

Tengo un boton llamado: "resize_btn";

Ahora lo que deseo es que al arrastrar este boton el estage cambie de tamaño pero no se como hacerlo... espero me puedan ayudar con mi problema...el codigo lo necesito en AS 3.0

Por sonic23

28 de clabLevel



Genero:Masculino  

2007

firefox
Citar            
MensajeEscrito el 14 Ago 2008 11:25 pm
Seria algo asi:

Código ActionScript :

package 
{
   import flash.display.Sprite;
   import flash.display.NativeWindow;
   import flash.display.NativeWindowResize
   import flash.events.MouseEvent
   import flash.events.Event
   import flash.display.StageScaleMode
   import flash.display.StageAlign

   public class some extends Sprite
   {
      public function some()
      {
         stage.scaleMode = StageScaleMode.NO_SCALE;
         stage.align = StageAlign.TOP_LEFT;
         resize_btn.addEventListener(MouseEvent.MOUSE_DOWN, initResize);
         stage.addEventListener(Event.RESIZE, doResize);
      }
      private function initResize(e:MouseEvent)
      {
         stage.nativeWindow.startResize(NativeWindowResize.BOTTOM_RIGHT);
      }
      private function doResize(e:Event)
      {
         trace( stage.stageWidth ) 
         trace( stage.stageHeight )
      }
      
   }

}


Saludos!!

Por Tmeister

260 de clabLevel

2 tutoriales

 

firefox
Citar            
MensajeEscrito el 15 Ago 2008 02:59 pm
Muchas gracias Tmeister, me fue de gran ayuda tu ejemplo, la verdad ya tenia dias truncado por este motivo, solo que cuando compile la clase que me mandaste me marco errores, asi que, lo que hice, fue pasar el codigo directamente al .fla a la linea de tiempo principal dejo el ejemplo para futuras referencias:

Para este ejemplo es necesario agregar un boton en el escenario con el nombre "resize_btn" el codigo ira en la primera la linea de AS en el primer frame...


Código :

import flash.display.Sprite;  
import flash.display.NativeWindow;  
import flash.display.NativeWindowResize; 
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.StageScaleMode;
import flash.display.StageAlign;
   
stage.scaleMode = StageScaleMode.NO_SCALE;  
stage.align = StageAlign.TOP_LEFT;  
resize_btn.addEventListener(MouseEvent.MOUSE_DOWN, initResize);  
stage.addEventListener(Event.RESIZE, doResize);        
     
function initResize(e:MouseEvent)  
       {  
          stage.nativeWindow.startResize(NativeWindowResize.BOTTOM_RIGHT);  
       } 
      
      function doResize(e:Event)  
       {  
          trace( stage.stageWidth )   
          trace( stage.stageHeight )  
       }  

Asi es como lo pude lograr pero de nuevo muchas gracias Tmeister, quien fue el que realizo el codigo...
Ahora solo me falta acomodar mis componentes en el escenario a manera que se vallan ubicando dentro del estage segun el resize o el tamaño que valla tomando.algo asi como diagramación liquida...estare trabajando en eso pero cualquier aporte sobre de esto tambien se agradeceria espero no haber pedido demasiado..buen chao :)

Por sonic23

28 de clabLevel



Genero:Masculino  

2007

firefox
Citar            
MensajeEscrito el 15 Ago 2008 04:01 pm
hola de nuevo,

Tmeister, ya logre acomodar mis objetos segun la escala o el resize que va tomando mi escenario, ahora lo que deseo es poner un limite de resize, es decir que puedan agrandar o disminuir el tamaño del estage pero hasta cierto limite digamos que llega el estage a un resolucion de :

550 x 400,
el hecho es que quiero qeu a esta determinada resolucion, el evento resize se detenga ya probe con el siguiente codigo pero no me ha funcionad, no se que hacer...

Código :

function initResize(e:MouseEvent)  {  
   var anchoX = stage.stageWidth;
   var altoY  = stage.stageHeight;
   if(anchoX > 550){
    stage.nativeWindow.startResize(NativeWindowResize.BOTTOM_RIGHT);  
   }
   else{
      //ninguna accion...
   }
   
} 

pido nuevamente su ayuda para resolver este problema... :(

Por sonic23

28 de clabLevel



Genero:Masculino  

2007

firefox
Citar            
MensajeEscrito el 15 Ago 2008 06:19 pm
Puedes usar la propiedad maxSize

Código ActionScript :

import flash.geom.Point

//Para maximo tamaño
stage.nativeWindow.maxSize = new Point(800,600);
//Para minimo
stage.nativeWindow.minSize = new Point(120,60);



con esto limitas el tamaño maximo y minimo de la aplicacion, sin tener que validar nada

Saludos!!

Por Tmeister

260 de clabLevel

2 tutoriales

 

firefox
Citar            
MensajeEscrito el 15 Ago 2008 08:00 pm
Hombre muchas gracias Tmeister, he podido solucionar mi problema ya tengo un limite tanto para minimizar como para maximizar, creo que ahora tengo todo lo que necesito para continuar mi aplicacion, dejo una captura de la misma para que vean mi avance:



Gracias una ves mas Tmeister. :D

Por sonic23

28 de clabLevel



Genero:Masculino  

2007

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.