Foros del Web » Creando para Internet » Flash y Actionscript »

Revision de Codigo

Estas en el tema de Revision de Codigo en el foro de Flash y Actionscript en Foros del Web. Hola, estoy creando una clase para hacer una pagina web, hasta ahorita la cosa esta sencilla, creo el fondo, el pie y el logo, todo ...
  #1 (permalink)  
Antiguo 22/04/2010, 05:39
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 6 meses
Puntos: 8
Revision de Codigo

Hola, estoy creando una clase para hacer una pagina web, hasta ahorita la cosa esta sencilla, creo el fondo, el pie y el logo, todo deberia estar bien, pero cuando ejecuto la pelicula solo se ven el fondo y el pie y el logo nada que ver.

Aqui esta la clase:
Código AS3:
Ver original
  1. package
  2. {
  3.    
  4.     import flash.display.MovieClip;
  5.     import flash.display.Sprite;
  6.     import flash.display.Graphics;
  7.     import flash.display.GradientType;
  8.     import flash.display.SpreadMethod;
  9.     import flash.display.InterpolationMethod;
  10.     import flash.geom.Matrix;
  11.     import fl.transitions.*;
  12.     import fl.transitions.easing.*;
  13.     import flash.text.*;
  14.     import flash.net.URLLoader;
  15.     import flash.net.URLRequest;
  16.     import flash.display.Loader;
  17.     import flash.events.*;
  18.    
  19.    
  20.     public class classPagina extends Sprite
  21.     {
  22.        
  23.         private var ldr:Loader;
  24.         private var logo:MovieClip;
  25.        
  26.         public function classPagina()
  27.         {
  28.            
  29.             crearFondo();
  30.             mostrarLogo();
  31.             crearPie();
  32.            
  33.         }
  34.        
  35.         private function crearFondo():void
  36.         {
  37.            
  38.             var fondo:MovieClip = new MovieClip();
  39.             var typeGradient:String = GradientType.LINEAR;
  40.             var colors:Array = [0x000000, 0xCC0066];
  41.             var alphas:Array = [1, 1];
  42.             var ratios:Array = [0x00, 0xFF];
  43.             var mtr:Matrix = new Matrix();
  44.             var sm:String = SpreadMethod.PAD;
  45.  
  46.             mtr.createGradientBox(700, 250, 0, 0, 0);
  47.             mtr.rotate(Math.PI / 2);
  48.             fondo.graphics.beginGradientFill(typeGradient, colors, alphas, ratios, mtr, sm);
  49.             fondo.graphics.drawRect(0, 0, 980, 500);
  50.             fondo.graphics.endFill();
  51.            
  52.             addChild(fondo);
  53.            
  54.         }
  55.        
  56.         private function crearPie():void
  57.         {
  58.            
  59.             var pie:MovieClip = new MovieClip();
  60.             var textoPie:TextField = new TextField();
  61.             var formato:TextFormat = new TextFormat();
  62.            
  63.             pie.graphics.beginFill(0xFFFFFF, 0.5);
  64.             pie.graphics.drawRect(0, 470, 980, 30);
  65.             pie.graphics.endFill();
  66.            
  67.             addChild(pie);
  68.            
  69.             var myTween:Tween = new Tween(pie, "y", Strong.easeInOut, pie.y - 30, pie.y, 1, true);
  70.             var myTweenAlpha:Tween = new Tween(pie, "alpha", None.easeNone, 0, 1, 1, true);
  71.            
  72.             formato.font = "Trebuchet MS";
  73.             formato.size = "13";
  74.             formato.color = 0xFFFFFF;
  75.             formato.bold = true;
  76.            
  77.             textoPie.x = 30;
  78.             textoPie.y = 473;
  79.             textoPie.width = 400;
  80.             textoPie.defaultTextFormat = formato;
  81.             textoPie.text = "Mi Empresa © Todos los derechos reservados";
  82.             addChild(textoPie);
  83.            
  84.             new Tween(textoPie, "y", Strong.easeInOut, textoPie.y - 30, textoPie.y, 1, true);
  85.             new Tween(textoPie, "alpha", None.easeNone, 0, 1, 1, true);
  86.            
  87.         }
  88.        
  89.         private function mostrarLogo():void
  90.         {
  91.            
  92.             logo = new MovieClip();
  93.             logo.width = 327;
  94.             logo.height = 228;
  95.             logo.x = 327;
  96.             logo.y = 111;
  97.             addChild(logo);
  98.            
  99.             verLogo();
  100.            
  101.         }
  102.        
  103.         private function verLogo():void
  104.         {
  105.            
  106.             ldr = new Loader();
  107.             ldr.load(new URLRequest("./logo.png"));
  108.             logo.addChild(ldr);
  109.            
  110.         }
  111.        
  112.     }
  113.    
  114. }

Espero que puedan ayudarme. Gracias
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 22/04/2010, 13:09
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 6 meses
Puntos: 8
Respuesta: Revision de Codigo

PLease, la funcion que supuestamente deberia mostrar el logo es mostrarLogo(); pero no lo hace, pq?
__________________
El aprendiz.
  #3 (permalink)  
Antiguo 22/04/2010, 16:16
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 17 años
Puntos: 51
Respuesta: Revision de Codigo

aver primero no puedes especificar el alto ni ancho a un movieClip vació porque da un error aunque luego cargues algo dentro de el


Código PHP:
package

{

    

    
import flash.display.MovieClip;

    
import flash.display.Sprite;

    
import flash.display.Graphics;

    
import flash.display.GradientType;

    
import flash.display.SpreadMethod;

    
import flash.display.InterpolationMethod;

    
import flash.geom.Matrix;

    
import fl.transitions.*;

    
import fl.transitions.easing.*;

    
import flash.text.*;

    
import flash.net.URLLoader;

    
import flash.net.URLRequest;

    
import flash.display.Loader;

    
import flash.events.*;

    

    

    public class 
classPagina extends Sprite 

    
{

        

        private var 
ldr:Loader;

        private var 
logo:MovieClip;

        

        public function 
classPagina()

        {

            

            
crearFondo();

            
mostrarLogo();

            
crearPie();

            

        }

        

        private function 
crearFondo():void

        
{

            

            var 
fondo:MovieClip = new MovieClip();

            var 
typeGradient:String GradientType.LINEAR;

            var 
colors:Array = [0x0000000xCC0066];

            var 
alphas:Array = [11];

            var 
ratios:Array = [0x000xFF];

            var 
mtr:Matrix = new Matrix();

            var 
sm:String SpreadMethod.PAD;

 
            
mtr.createGradientBox(700250000);

            
mtr.rotate(Math.PI 2);

            
fondo.graphics.beginGradientFill(typeGradientcolorsalphasratiosmtrsm);

            
fondo.graphics.drawRect(00980500);

            
fondo.graphics.endFill();

            

            
addChild(fondo);

            

        }

        

        private function 
crearPie():void

        
{

            

            var 
pie:MovieClip = new MovieClip();

            var 
textoPie:TextField = new TextField();

            var 
formato:TextFormat = new TextFormat();

            

            
pie.graphics.beginFill(0xFFFFFF0.5);

            
pie.graphics.drawRect(047098030);

            
pie.graphics.endFill();

            

            
addChild(pie);

            

            var 
myTween:Tween = new Tween(pie"y"Strong.easeInOutpie.30pie.y1true);

            var 
myTweenAlpha:Tween = new Tween(pie"alpha"None.easeNone011true);

            

            
formato.font "Trebuchet MS";

            
formato.size "13";

            
formato.color 0xFFFFFF;

            
formato.bold true;

            

            
textoPie.30;

            
textoPie.473;

            
textoPie.width 400;

            
textoPie.defaultTextFormat formato;

            
textoPie.text "Mi Empresa © Todos los derechos reservados";

            
addChild(textoPie);

            

            new 
Tween(textoPie"y"Strong.easeInOuttextoPie.30textoPie.y1true);

            new 
Tween(textoPie"alpha"None.easeNone011true);

            

        }

        

        private function 
mostrarLogo():void

        
{

            

            
logo = new MovieClip();

            
//logo.width = 327;

            //logo.height = 228;

            
logo.327;

            
logo.111;

            
addChild(logo);

            

            
verLogo();

            

        }

        

        private function 
verLogo():void 

        
{

            

            
ldr = new Loader();

            
ldr.load(new URLRequest("./logo.png"));

            
logo.addChild(ldr);

            

        }

        

    }

    


__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #4 (permalink)  
Antiguo 22/04/2010, 16:28
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Revision de Codigo

usa addChildAt(); en vez de addChild() para posicionar el elemento

SINTAXIS

addChildAt(elemento que lo contendra, posiscion);

te faltaria generar un contenedor virtual del Display Object container para trabajar mejor

por ejemplo:

var contenedor: Sprite = new Sprite();


entonces cuando vas a generar un elemento dentro podrias hacerlo asi

contenedor.addChild(fondo);// es solo sugerencia, debido a que luego se te ira complicando las estructuras de la pagina a medida que le pongas contenidos.


lo ideal seria tener

* Un contenedor general

* ---Parte arriba = top
* ------logos y demas hierbas

* ---Parte central= contenidos
* -------Contenidos y demas

* ----Pie= pie
* -------Datos


entonces manejar los niveles seria mas ordenado y facil, y tendrias parametros mas reales.. por ejemplo

contenedor.addChildAt(top, 0)//
es decir.. introducimos el elemento dentro del top pero en la primera posicion.

Creoq ue por ahi va la mano.. ya que decides hacerlo con AS 3.0.. deberias planificarlo mas previamente.. asi te evitaras tremendos trabajos posteriormente para organizar tu web,, es muy similar a trabajar con capas DIV de HTML con posiciones absolutas o relativas
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #5 (permalink)  
Antiguo 22/04/2010, 23:24
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 6 meses
Puntos: 8
Respuesta: Revision de Codigo

Muchas gracias por tu guia, asi lo hare.
__________________
El aprendiz.
  #6 (permalink)  
Antiguo 23/04/2010, 07:45
 
Fecha de Ingreso: enero-2008
Ubicación: Concepción, Chile
Mensajes: 76
Antigüedad: 16 años, 9 meses
Puntos: 3
Respuesta: Revision de Codigo

Cita:
Iniciado por juandedios Ver Mensaje
Hola, estoy creando una clase para hacer una pagina web, hasta ahorita la cosa esta sencilla, creo el fondo, el pie y el logo, todo deberia estar bien, pero cuando ejecuto la pelicula solo se ven el fondo y el pie y el logo nada que ver.

Aqui esta la clase:
Código AS3:
Ver original
  1. package
  2. {
  3.    
  4.     import flash.display.MovieClip;
  5.     import flash.display.Sprite;
  6.     import flash.display.Graphics;
  7.     import flash.display.GradientType;
  8.     import flash.display.SpreadMethod;
  9.     import flash.display.InterpolationMethod;
  10.     import flash.geom.Matrix;
  11.     import fl.transitions.*;
  12.     import fl.transitions.easing.*;
  13.     import flash.text.*;
  14.     import flash.net.URLLoader;
  15.     import flash.net.URLRequest;
  16.     import flash.display.Loader;
  17.     import flash.events.*;
  18.    
  19.    
  20.     public class classPagina extends Sprite
  21.     {
  22.        
  23.         private var ldr:Loader;
  24.         private var logo:MovieClip;
  25.        
  26.         public function classPagina()
  27.         {
  28.            
  29.             crearFondo();
  30.             mostrarLogo();
  31.             crearPie();
  32.            
  33.         }
  34.        
  35.         private function crearFondo():void
  36.         {
  37.            
  38.             var fondo:MovieClip = new MovieClip();
  39.             var typeGradient:String = GradientType.LINEAR;
  40.             var colors:Array = [0x000000, 0xCC0066];
  41.             var alphas:Array = [1, 1];
  42.             var ratios:Array = [0x00, 0xFF];
  43.             var mtr:Matrix = new Matrix();
  44.             var sm:String = SpreadMethod.PAD;
  45.  
  46.             mtr.createGradientBox(700, 250, 0, 0, 0);
  47.             mtr.rotate(Math.PI / 2);
  48.             fondo.graphics.beginGradientFill(typeGradient, colors, alphas, ratios, mtr, sm);
  49.             fondo.graphics.drawRect(0, 0, 980, 500);
  50.             fondo.graphics.endFill();
  51.            
  52.             addChild(fondo);
  53.            
  54.         }
  55.        
  56.         private function crearPie():void
  57.         {
  58.            
  59.             var pie:MovieClip = new MovieClip();
  60.             var textoPie:TextField = new TextField();
  61.             var formato:TextFormat = new TextFormat();
  62.            
  63.             pie.graphics.beginFill(0xFFFFFF, 0.5);
  64.             pie.graphics.drawRect(0, 470, 980, 30);
  65.             pie.graphics.endFill();
  66.            
  67.             addChild(pie);
  68.            
  69.             var myTween:Tween = new Tween(pie, "y", Strong.easeInOut, pie.y - 30, pie.y, 1, true);
  70.             var myTweenAlpha:Tween = new Tween(pie, "alpha", None.easeNone, 0, 1, 1, true);
  71.            
  72.             formato.font = "Trebuchet MS";
  73.             formato.size = "13";
  74.             formato.color = 0xFFFFFF;
  75.             formato.bold = true;
  76.            
  77.             textoPie.x = 30;
  78.             textoPie.y = 473;
  79.             textoPie.width = 400;
  80.             textoPie.defaultTextFormat = formato;
  81.             textoPie.text = "Mi Empresa © Todos los derechos reservados";
  82.             addChild(textoPie);
  83.            
  84.             new Tween(textoPie, "y", Strong.easeInOut, textoPie.y - 30, textoPie.y, 1, true);
  85.             new Tween(textoPie, "alpha", None.easeNone, 0, 1, 1, true);
  86.            
  87.         }
  88.        
  89.         private function mostrarLogo():void
  90.         {
  91.            
  92.             logo = new MovieClip();
  93.             logo.width = 327;
  94.             logo.height = 228;
  95.             logo.x = 327;
  96.             logo.y = 111;
  97.             addChild(logo);
  98.            
  99.             verLogo();
  100.            
  101.         }
  102.        
  103.         private function verLogo():void
  104.         {
  105.            
  106.             ldr = new Loader();
  107.             ldr.load(new URLRequest("./logo.png"));
  108.             logo.addChild(ldr);
  109.            
  110.         }
  111.        
  112.     }
  113.    
  114. }

Espero que puedan ayudarme. Gracias

Amigo:

Primero que todo quiero hacerte ver que no estás agregando un child a un clip en realidad mira a mi parecer la sintaxis aunque en rigor no son tan estrictas deberías siempre ecribirlas como corresponde, así te evitas este tipo de problemas lo único que pude ver en tu código, que por cierto está bastante interesante, es que no declaras donde agregar tus child eso es todo.

Código AS3:
Ver original
  1. package classPagina{
  2.     import flash.display.MovieClip;
  3.     import flash.display.Sprite;
  4.     import flash.display.Graphics;
  5.     import flash.display.GradientType;
  6.     import flash.display.SpreadMethod;
  7.     import flash.display.InterpolationMethod;
  8.     import flash.geom.Matrix;
  9.     import fl.transitions.*;
  10.     import fl.transitions.easing.*;
  11.     import flash.text.*;
  12.     import flash.net.URLLoader;
  13.     import flash.net.URLRequest;
  14.     import flash.display.Loader;
  15.     import flash.events.*;
  16.  
  17.     public class classPagina extends Sprite{
  18.         private var ldr:Loader      = new Loader();;
  19.         private var logo:MovieClip  = new MovieClip();;
  20.         private var scene:MovieClip = new MovieClip();
  21.  
  22.         public function classPagina(a:MovieClip):void{
  23.             scene   = a;
  24.             crearFondo();
  25.             mostrarLogo();
  26.             crearPie();
  27.         }
  28.        
  29.         public function crearFondo():void{
  30.             var fondo:MovieClip = new MovieClip();
  31.             var typeGradient:String = GradientType.LINEAR;
  32.             var colors:Array = [0x000000, 0xCC0066];
  33.             var alphas:Array = [1, 1];
  34.             var ratios:Array = [0x00, 0xFF];
  35.             var mtr:Matrix = new Matrix();
  36.             var sm:String = SpreadMethod.PAD;
  37.             mtr.createGradientBox(700, 250, 0, 0, 0);
  38.             mtr.rotate(Math.PI / 2);
  39.             fondo.graphics.beginGradientFill(typeGradient, colors, alphas, ratios, mtr, sm);
  40.             fondo.graphics.drawRect(0, 0, 980, 500);
  41.             fondo.graphics.endFill();
  42.             scene.addChild(fondo);
  43.         }
  44.        
  45.         public function crearPie():void{
  46.             var pie:MovieClip = new MovieClip();
  47.             var textoPie:TextField = new TextField();
  48.             var formato:TextFormat = new TextFormat();
  49.             pie.graphics.beginFill(0xFFFFFF, 0.5);
  50.             pie.graphics.drawRect(0, 470, 980, 30);
  51.             pie.graphics.endFill();
  52.             scene.addChild(pie);
  53.             var myTween:Tween = new Tween(pie, "y", Strong.easeInOut, pie.y - 30, pie.y, 1, true);
  54.             var myTweenAlpha:Tween = new Tween(pie, "alpha", None.easeNone, 0, 1, 1, true);
  55.             formato.font = "Trebuchet MS";
  56.             formato.size = "13";
  57.             formato.color = 0xFFFFFF;
  58.             formato.bold = true;
  59.             textoPie.x = 30;
  60.             textoPie.y = 473;
  61.             textoPie.width = 400;
  62.             textoPie.defaultTextFormat = formato;
  63.             textoPie.text = "Mi Empresa © Todos los derechos reservados";
  64.             scene.addChild(textoPie);
  65.             new Tween(textoPie, "y", Strong.easeInOut, textoPie.y - 30, textoPie.y, 1, true);
  66.             new Tween(textoPie, "alpha", None.easeNone, 0, 1, 1, true);
  67.         }
  68.        
  69.         public function mostrarLogo():void{
  70.             logo = new MovieClip();
  71.             logo.width = 327;
  72.             logo.height = 228;
  73.             logo.x = 327;
  74.             logo.y = 111;
  75.             scene.addChild(logo);
  76.             verLogo(logo);
  77.         }
  78.        
  79.         public function verLogo(a:MovieClip):void{
  80.             ldr = new Loader();
  81.             ldr.load(new URLRequest("1.jpg"));
  82.             a.addChild(ldr);
  83.             trace(a.name);
  84.         }
  85.     }
  86. }
Código ACTIONSCRIPT:
Ver original
  1. import classPagina.*;
  2.  
  3. var pagina:classPagina = new classPagina(this);

Mira la sintaxis puede quedar mejor pero es por poco tiempo que mi ayuda no es más precisa, solo espero que te sirva.

Saluda Atte.
Claudio Barrera Asencio.

Etiquetas: revision
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:17.