Comunidad de diseño web y desarrollo en internet online

problema en adobe flash professional ayuda por favor

Citar            
MensajeEscrito el 26 May 2013 09:35 am
hola os cuento de que va es una practica cutre que enlaza dos ventanas, al darle a la ventana 1 en el boton se abre la segunda ventana, eso por si solo va bien, el problema viene cuando le meto los comandos para poder hacer scroll en la segunda ventana al darle al boton me sale este error:
TypeError: Error #1009: Cannot access a property or method of a null object reference

sin embargo si la segunda ventana la abro individual por si sola funciona perfecta con su scroll y demas, da fallo al abrir la primera e intentar abrir la segunda dandole al boton. os pongo el codigo entero:

package {

import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.geom.Rectangle;
import fl.transitions.*;


public class malaga extends MovieClip


{
static var escenario:MovieClip;
static var cabecera:informacion;

public function malaga()
{
escenario=new MovieClip;
stage.addChild(escenario);

escenario.addEventListener(MouseEvent.MOUSE_DOWN, scrollDownHandler);
escenario.addEventListener(MouseEvent.MOUSE_UP, scrollUpHandler);



var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, loaderhandler);
var ruta:URLRequest = new URLRequest("enero.xml");
loader.load(ruta);
}

private function scrollDownHandler(MouseEvent)
{
escenario.startDrag(false, new Rectangle(0,0,0,-2000));
}

private function scrollUpHandler(MouseEvent)
{
escenario.stopDrag();
}


private function loaderhandler(event:Event)
{
var posX:Number = new Number(357.75);
var posY:Number = new Number(103.50);
var cargador:URLLoader = event.target as URLLoader;
var mixml:XML = new XML(cargador.data);
for each(var nodo:XML in mixml.elements())
{

var cuadro:informacion = new informacion();


cuadro.hora.appendText(nodo.manana)


cuadro.Pelicula.appendText(nodo.@nombre)


escenario.addChild(cuadro);
cuadro.x= posX;
cuadro.y= posY;
posY= posY+275;

}


}

}

}

Por noremlas

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 May 2013 02:19 pm
El problema esta aca

stage.addChild(escenario);

Cuando se crea una instancia, hasta que no ocurre el evento ADDED_TO_STAGE, es decir el elemento ha sido agregado al DisplayList, stage no existe (especialmente si lo tienes en el constructor)
Agrega un listener a ADDED_TO_STAGE para accederlo en una funci'on distinta al constructor

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 27 May 2013 03:57 pm
muchas gracias por contestar pero....puffff soy nuevo y me perdido un poco, serias tan amable de escribirme la instruccion que tendria que poner? necesitas que te pongas el codigo de la primera pagina? un saludo y muchisimas gracias.

Por noremlas

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 May 2013 07:33 pm
El contructor seria

Código ActionScript :

public function malaga() 
{
  if (stage) init();
   else addEventListener(Event.ADDED_TO_STAGE, init);
    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, loaderhandler);
     loader.load(new URLRequest("enero.xml"););
}

private function init(evt:Event = null){
   escenario=new MovieClip;
  stage.addChild(escenario);

  escenario.addEventListener(MouseEvent.MOUSE_DOWN, scrollDownHandler);
 escenario.addEventListener(MouseEvent.MOUSE_UP, scrollUpHandler);
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 27 May 2013 08:13 pm
muchas gracias, voy a probar. un saludo

Por noremlas

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 May 2013 08:44 pm
me da un error en la linea:
private function init(evt:Event = null){

1013: El atributo private solo se puede utilizar en dificiones de propiedad de clase.

Por noremlas

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 May 2013 12:43 am
Tienes que reemplazarlo en el codigo que pusiste antes, la clase malaga

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 28 May 2013 04:11 pm
si, lo reemplace pero nada, me sigue saliendo eso, nose si es que lo hago mal.

Por noremlas

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 May 2013 12:12 pm
Si lo que haces es copy/paste, puede que lo hayas hecho mal. Postea como ha quedado tu clase ahora

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 29 May 2013 09:40 pm

Código ActionScript :

package  {
   
   import flash.display.*;
   import flash.events.*;
   import flash.net.*;
   import flash.geom.Rectangle;
   import fl.transitions.*;
   
   
public function malaga() 
{
  if (stage) init();
   else addEventListener(Event.ADDED_TO_STAGE, init);
    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, loaderhandler);
     loader.load(new URLRequest("enero.xml"););
}

private function init(evt:Event = null){
   escenario=new MovieClip;
  stage.addChild(escenario);

  escenario.addEventListener(MouseEvent.MOUSE_DOWN, scrollDownHandler);
 escenario.addEventListener(MouseEvent.MOUSE_UP, scrollUpHandler);
}
            
      
      public function loaderhandler(event:Event)
      {
         var posX:Number = new Number(357.75);
         var posY:Number = new Number(103.50);
          var cargador:URLLoader = event.target as URLLoader; 
          var mixml:XML = new XML(cargador.data);
         for each(var nodo:XML in mixml.elements())
         {
            
            var cuadro:informacion = new informacion();
            
            
            cuadro.hora.appendText(nodo.manana)
            
            
            cuadro.Pelicula.appendText(nodo.@nombre)
            
            
            escenario.addChild(cuadro);
            cuadro.x= posX;
            cuadro.y= posY;
            posY= posY+275;

         }
      

      }

   }

Por noremlas

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 May 2013 01:26 pm
Es raro, per pon init como public a ver que pasa

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 30 May 2013 05:08 pm
me da este error al poner la init publi:

linea 1 5006: Un archivo ActionScript no puede tener mas de una definicion visible externamente: malaga, init

Por noremlas

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 May 2013 07:20 pm
Aca un error

loader.load(new URLRequest("enero.xml"););

tiene que ser

loader.load(new URLRequest("enero.xml"));

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 30 May 2013 07:29 pm
Si, eso si lo tengo corregido me salto el error y lo supe solucionar jeje.

Por noremlas

5 de clabLevel



 

safari

 

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