Comunidad de diseño web y desarrollo en internet online

como usar el document class ?

Citar            
MensajeEscrito el 08 Sep 2008 11:21 pm
hola, tengo este codigo en un documento .as y lo converti en mi documment class pero cuando lo pruebo me salta un error

TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at scriptbase$iinit()


que puedo estar haciendo mal, es la primera vez que trato de escribir mi codigo fuera de un frame

no tengo codigo exparcido por el archivo .flv excepto por algun stot(); en la linea de tiempo de un mc.

muchisimas gracias por responder.

juako

Código :

package
{
         
   import flash.display.*;
   import flash.events.*;
   import fl.transitions.Tween;
   import fl.transitions.easing.*;
   import flash.filters.*;
   
   
         
   public class scriptbase extends MovieClip
   {
      
      
         
         public var ilustracionmc:MovieClip = menu_mc.ilustracion_mc;
         public var diseñomc:MovieClip = menu_mc.diseño_mc;
         public var contactomc:MovieClip = menu_mc.contacto_mc;
         public var musicamc:MovieClip = menu_mc.musica_mc;
         public var menosmc:MovieClip = menu_mc.menos_mc;
         public var menos2mc:MovieClip = menu_mc.menos2_mc;
         public var botones:Array = new Array("ilustracionmc", "diseñomc", "contactomc", "musicamc", "menosmc", "menos2mc","puntosolo_mc");

      
      
      public function scriptbase()
      {
         
         
         
         
         //LUZ
         var luces:GlowFilter = new GlowFilter;
         luces.color = 0x00776A;
         luces.blurX = 5;
         luces.blurY = 5;
         luces.quality = BitmapFilterQuality.MEDIUM;
         
         juako_mc.visible = false;
         carita_mc.visible = false;
         menu_mc.visible = false;
         puto_mc.visible = false;
         
         //cara_mc.buttonMode = true;
         
         //puto_mc.visible = false;
         //intro_mc.visible = false;
         
         //saltar_mc.visible = false;
         //puntosolo_mc.visible = false;
         
         menu_mc.musica_mc.addEventListener(MouseEvent.CLICK, es);
         function es(Event:MouseEvent):void
         {
               
            carita_mc.visible = true;
            carita_mc.play();
            juako_mc.visible = false;
         
            
         };
         
         
         
         
         var lus:GlowFilter = new GlowFilter();
         
         lus.color = 0x01A09F;
         lus.alpha = 0.8;
         lus.blurX = 5;
         lus.blurY = 5;
         lus.strength = 7;
         lus.quality = BitmapFilterQuality.HIGH;
         
         menu_mc.filters = [lus];
         saltar_mc.buttonMode = true;
         
         
         //BOTONES 
         
         
         

         
         
         for(var i=0; i < botones.length ; i++)
         {
            this[botones[i]].buttonMode = true;
            
            this[botones[i]].addEventListener(MouseEvent.ROLL_OVER, luz);
            this[botones[i]].addEventListener(MouseEvent.ROLL_OUT, noluz);
            
            
            menosmc.addEventListener(MouseEvent.CLICK, minimizar);
            menos2mc.addEventListener(MouseEvent.CLICK, maximizar);
         
            
            function luz(event:MouseEvent):void
               {
                  event.target.filters = [luces];
               }
            function noluz(event:MouseEvent):void
               {
                  event.target.filters = [];
               }
            function minimizar(event:MouseEvent):void
            {
            
               ilustracionmc.play();
               diseñomc.play();
               menosmc.play();
               menos2mc.play();
               
            };
            
            function maximizar(event:MouseEvent):void
            {
               ilustracionmc.play();
               diseñomc.play();
               menosmc.play();
               menos2mc.play();
            };
            
               
         };
         
         //INTRO
         
         
         puntosolo_mc.addEventListener(MouseEvent.CLICK, inicio);
         
         
         
         saltar_mc.addEventListener(MouseEvent.CLICK, salto);
         
         function inicio(event:MouseEvent):void
         {
            
            var tween:Tween;
            tween = new Tween(intro_mc,"alpha",None.easeNone,1,0,1,true);
            intro_mc.stop();
            puto_mc.visible = true;
            puto_mc.play();
            puntosolo_mc.visible = false;
            puto_mc.addEventListener(Event.ENTER_FRAME, forro);
               
         }
         
         function forro(event:Event):void
            {
               if(puto_mc.stop());
               {
                  
                  //menu_mc.visible = true;
                  
                  puto_mc.stop();
                  puto_mc.visible = true;
                  
                  //juako_mc.visible = true;
                  //juako_mc.play();
                  puto_mc.removeEventListener(Event.ENTER_FRAME, forro);
                  
               }
               
         }
         
         
         function salto(event:MouseEvent):void
         {
            
            puto_mc.removeEventListener(Event.ENTER_FRAME, forro);
            juako_mc.visible = true;
            juako_mc.gotoAndPlay(60);
            intro_mc.visible = false;
            puto_mc.visible = false;
            puntosolo_mc.visible = false;
            saltar_mc.visible = false;
            menu_mc.visible = true;
            
         }
         
         
         //MENU BOTONES
         
         /*ilustracionmc.addEventListener(MouseEvent.CLICK, ilus);
         
         function ilus(event:MouseEvent):void
         {
            gotoAndStop("ilustracion");
            saltar_mc.visible = false;
         }
         
         
         diseñomc.addEventListener(MouseEvent.CLICK, dise);
         
         function dise(event:MouseEvent):void
         {
            gotoAndStop("diseño");
            saltar_mc.visible = false;
         }
         
         contactomc.addEventListener(MouseEvent.CLICK, cont);
         
         function cont(event:MouseEvent):void
         {
            gotoAndStop("contacto");
            saltar_mc.visible = false;
            
         }*/
         

         
      }
   }

}


[SWAT]No por escribir con letras grandes y en negrita te harán más caso :swat: [/SWAT]

Por yojuako

41 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Sep 2008 12:45 pm
En menú Archivo, Opciones de Publicación, Flash Tab, al lado del desplegable que marca AS3 como ActionScript version, dale a Settings, y marca la casilla que dice declarar automáticamente las instancias del escenario

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 09 Sep 2008 04:12 pm
gracias jorge, no lo sabia pero ya lo tenia activado y aun asi me largaba este error. por cieto me lo sigue largando asi que debe ser otra cosa la que hago mal.

TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at scriptbase$iinit()

gracias por responder

Por yojuako

41 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Sep 2008 04:18 pm
Pues el error viene a significar algo así como: algo de lo que nombras no existe. Ve quitando líneas hasta que desaparezca el error y puedas identificar el elemento problemático

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Sep 2008 02:00 am
ya solucione el error 1009 que me daba antes, saque el public antes de las var primeras y las coloque dentro y al inicio de la funcion constructora public function scriptbase()
pero ahora me salta esto

ReferenceError: Error #1069: No se encontró la propiedad ilustracionmc en scriptbase3 y no hay ningún valor predeterminado.
at scriptbase3$iinit()

cada vez entiendo menos
ojala me puedas ayudar jorge como venis haciendo hasta ahora, igual muchas gracias desde ya

juako

Por yojuako

41 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Sep 2008 02:49 am
listo, lo resolvi. muchisimas gracias jorge sos un groso
y como groso que sos te tengo que seguir preguntando para seguir aprendiendo

tengo un problema hace tiempo y esta en el script de arriba
pasa que no se si estoy usando bien el enterframe
te cuento, lo que quiero hacer es que cuando el mc1 llegue al fotograma nº tanto de su linea de tiempo se realicen tales acciones como hacer visible otro mc y reproducirlo o lo que sea pero parece que no puedo y debo de estar haciendo algo mal

muchisimas gracias jorge, de nuevo
hace mucho arrancaste a aprender as

juako

Por yojuako

41 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Sep 2008 09:29 am
si te refieres a lo de puto y forro (muy fino por cierto) no tiene ni pies ni cabeza, pero puedes reescribirlo pensando lo siguiente:

- Los nombres de los métodos tienen que tener nombres significativos, por mas gracioso que nos parezca poner burradas al escribirlo, luego es ilegible
- el if del mc debe chequear en donde está en su línea de tiempo, algo así

Código ActionScript :

if(mi_mc.currentframe >=10){
   mi_mc.stop()
   .... etc
}


- Si cambias la visibilidad de otro elemento y no funciona de una, asegúrate que está en scope, simplemente agrégale un trace y fíjate que no de undefined, por ejemplo: trace(juako_mc)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Sep 2008 03:49 pm
perdon por las groserias, es que esas lineas me teniana podrido y es mi forma de redordarlas pero ya las cambie
cuando ejecuto el archivo pasa lo sig: cuando hago click en el mc puntosolo_mc activa el listening del enterframe
y no me larga error alguno pero en vez de ejecutar la funcion enterf cuando el mc intro2_mc este en el fotograma 200 o mayor lo ejecuta instantaneamente hago click en puntosolo_mc.
no entiendo, ayuda por favoooor

pero me parece que desde que entre al foro aprendi un monton asi que confio en poder resolverlo algun dia

muchas gracias
juako




Código :

puntosolo_mc.addEventListener(MouseEvent.CLICK, inicio);
         
         
         function inicio(event:MouseEvent):void
         {
            
            var tween:Tween;
            tween = new Tween(intro_mc,"alpha",None.easeNone,1,0,1,true);
            intro_mc.stop();
            intro2_mc.visible = true;
            intro2_mc.play();
            puntosolo_mc.visible = false;
            intro2_mc.addEventListener(Event.ENTER_FRAME, enterf);
               
         }
         
         function enterf(event:Event):void
            {
               if(intro2_mc.currentFrame >= 200);
               {
                  
                  //menu_mc.visible = true;
                  
                  intro2_mc.stop();
                  intro2_mc.visible = true;
                  
                  juako_mc.visible = true;
                  juako_mc.play();
                  intro2_mc.removeEventListener(Event.ENTER_FRAME, enterf);
                  
               }
               
         }

Por yojuako

41 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Sep 2008 04:15 pm
¿currentframe no va todo en minúscula? Consulta la ayuda.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Sep 2008 04:22 pm
no, pero en el codigo esta escrito bien currentFrame siempre me fijo uqe este en azul
igual gracias por responderlo tan rapido

juako

Por yojuako

41 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Sep 2008 04:29 pm
Traza el frame a ver que te reporta:

trace("Fotograma: "+intro2_mc.currentFrame)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Sep 2008 04:37 pm
me sale

Fotograma: 2

no entiendo, por que no sigue hasta el 200, tengo que ponerle un stop(); al fotograma 200 del mc, intro2_mc tiene 207 fotogramas por si sirve

gracias

Por yojuako

41 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Sep 2008 04:52 pm
A veces uno tiene percepciones que no se ajustan a lo que está ocurriendo. Dices que se está saltando el if del fotograma >=200 ... entonces si pones el trace así nunca debería salir algo menos que 200:

Código ActionScript :

function enterf(event:Event):void
            {
               if(intro2_mc.currentFrame >= 200);
               {
                trace("Fotograma: "+intro2_mc.currentFrame)
                .............


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Sep 2008 07:42 pm
te juro que puse como me dijiste, es mas lo copie y chequee con el codigo mio para ver si no me confundia pero nada
esto es lo que tengo escrito en el codigo en esa parte, el resto es como el de arriba pero me parece que no tiene mucho que ver con la parte del currentFrame
disculpa la molestia pero ya no se que probar, borre y puse lineas para ver que era pero parece que nada funciona

si pongo esta linea
intro2_mc.addEventListener(Event.ENTER_FRAME, enterf);
fuera de la funcion inicio se activa automaticamente apenas corro el .swf


muchas gracias


Código :

puntosolo_mc.addEventListener(MouseEvent.CLICK, inicio);
         saltar_mc.addEventListener(MouseEvent.CLICK, salto);
         
         function inicio(event:MouseEvent):void
         {
            
            var tween:Tween;
            tween = new Tween(intro_mc,"alpha",None.easeNone,1,0,1,true);
            intro_mc.stop();
            intro2_mc.visible = true;
            intro2_mc.play();
            puntosolo_mc.visible = false;
            intro2_mc.addEventListener(Event.ENTER_FRAME, enterf);
            saltar_mc.visible = false;
               
         }
         
         function enterf(event:Event):void
            {
               if(intro2_mc.currentFrame >= 200);
               {
                  
                  menu_mc.visible = true;
                  
                  intro2_mc.stop();
                  intro2_mc.visible = false;
                  
                  juako_mc.visible = true;
                  juako_mc.play();
                  intro2_mc.removeEventListener(Event.ENTER_FRAME, enterf);
                  
                  trace("Fotograma: "+intro2_mc.currentFrame);
                  
               }
              
               
         }

Por yojuako

41 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Sep 2008 07:42 pm
y me sale
Fotograma: 1

gracias

juako

Por yojuako

41 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Sep 2008 01:35 am
Puede que intro2_mc no tenga un stop al principio, y que cuando le des ya haya avanzado, sino no tiene mucho sentido

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Sep 2008 02:39 pm
lo logre, gracias a la ayuda propiciada por mi maestro a la distancia jorge, pude hacer funcionar este temita del enterframe, probe cambiar algunas lineas de lugar y sin darme cuenta lo habia resuelto
tenias razon, las lineas estaban bien escritas pero con respecto a mi codigo algo desordenadas
bueno me parece que para cerrar les dejo el codigo al que le sirva para que compare las lineas

muchisimas gracias
juako :)




Código :

         introduccion_mc.linea_mc.stop();
         introduccion_mc.linea2_mc.stop();

         puntosolo_mc.addEventListener(MouseEvent.CLICK, inicio);

         function inicio(event:MouseEvent):void
         {

            var tween:Tween;
            tween = new Tween(intro_mc,"alpha",None.easeNone,1,0,1,true);

            intro_mc.stop();
            introduccion_mc.visible = true;
            introduccion_mc.linea_mc.play();
            introduccion_mc.linea2_mc.play();
            introduccion_mc.play();
            puntosolo_mc.visible = false;
            //introduccion_mc.addEventListener(Event.ENTER_FRAME, enterf);
            //saltar_mc.visible = false;


         }

         introduccion_mc.addEventListener(Event.ENTER_FRAME, enterf);

         function enterf(event:Event):void
         {
            if (introduccion_mc.currentFrame == 198)
            {
               introduccion_mc.removeEventListener(Event.ENTER_FRAME, enterf);
               menu_mc.visible = true;

               introduccion_mc.stop();
               introduccion_mc.visible = false;
               intro_mc.visible = false;

               juako_mc.visible = true;
               juako_mc.play();
               saltar_mc.visible = false;
               var tween:Tween;
               tween = new Tween(menu_mc,"alpha",Regular.easeOut,0,1,6,true);
               var otra2 = new Tween(menu_mc,"y",Elastic.easeOut,-30,7.4,3,true);


               //trace("Fotograma: "+introduccion_mc.currentFrame);
            }

Por yojuako

41 de clabLevel



 

firefox

 

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