Comunidad de diseño web y desarrollo en internet online

clase vs fotograma Codigo

Citar            
MensajeEscrito el 05 Jun 2013 08:47 pm
La idea es validar un usuario y pass en fotograma 1 y luego saltar al fotograma 5, probe colocando los controles y el area de texto en el fotograma 1 y anda bien lo que no ocurre cuando ubico en 5
y me manda
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at Cronometro/valida()

CODIGO .fla

VALIDA USUARIO PARA SALTAR A Cronometro

Código ActionScript :

stop();
entrar.addEventListener(MouseEvent.CLICK, valida);
function valida(event:MouseEvent):void {
if (user.text=="jugar" && pass.text == "flash") {
gotoAndStop("5");
} else {
error.text = "DATOS INCORRECTOS";
user.text="";
pass.text="";
}
}

EN EL ARCHIVO .AS EL CODIGO ES EL SIGUIENTE

CODIGO .AS
package {
import flash.display.*;
import flash.events.*;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.utils.Timer;
import flash.utils.getTimer;

public class Cronometro extends MovieClip {
private var milesimasXcentecima:uint=10;
private var milesimasXsegundo:uint=1000;
private var milesimasXminuto:uint=1000 * 60;// 60,000
private var milesimasXhora:uint=1000 * 60 * 60;// 3,600,000

private var hora:uint;
private var minuto:uint;
private var segundo:uint;
private var centesima:uint;

private var hora_txt:String;
private var minuto_txt:String;
private var segundo_txt:String;
private var centesima_txt:String;

private var milesimasTranscurridas:uint;
private var copiaDe_GetTimer:uint;
private var referenciaTemporal:uint;

private var cronometroPausado:Boolean=false;
private var cronometroAndando:Boolean=false;

private var temporizador:Timer=new Timer(10,0);

public function Cronometro() {
led_txt.text="00 : 00 : 00 : 00";

temporizador.addEventListener(TimerEvent.TIMER,tickTack);
botonIniciar.addEventListener(MouseEvent.CLICK,iniciarCronometro);
botonPausar.addEventListener(MouseEvent.CLICK,pausarCronometro);
botonReiniciar.addEventListener(MouseEvent.CLICK,reiniciarCronometro);
botonFotografia.addEventListener(MouseEvent.CLICK,fotoGrafiarCronometro);
}
private function tickTack(e:TimerEvent):void {
milesimasTranscurridas=getTimer() - copiaDe_GetTimer;
hora=Math.floor(milesimasTranscurridas / milesimasXhora);
referenciaTemporal=milesimasTranscurridas - hora * milesimasXhora;

minuto=Math.floor(referenciaTemporal / milesimasXminuto);

referenciaTemporal=referenciaTemporal - minuto * milesimasXminuto;

segundo=Math.floor(referenciaTemporal / milesimasXsegundo);
referenciaTemporal=referenciaTemporal - segundo * milesimasXsegundo;

centesima=Math.floor(referenciaTemporal / milesimasXcentecima);

// Condicinales que hacen que todos los numeros tengan siempre dos digitos y no uno
if (hora < 10) {
hora_txt="0" + hora.toString();
} else {
hora_txt=hora.toString();
}
if (minuto < 10) {
minuto_txt="0" + minuto.toString();
} else {
minuto_txt=minuto.toString();
}
if (segundo < 10) {
segundo_txt="0" + segundo.toString();
} else {
segundo_txt=segundo.toString();
}
if (centesima < 10) {
centesima_txt="0" + centesima.toString();
} else {
centesima_txt=centesima.toString();
}
// Pasamos todo al campo de texto
led_txt.text=hora_txt + " : " + minuto_txt + " : " + segundo_txt + " : " + centesima_txt;
}
private function iniciarCronometro(e:MouseEvent):void {
if (cronometroAndando == false && cronometroPausado == false) {
copiaDe_GetTimer=getTimer();// Toma una foto, de las milesimas que han pasado desde el inicio.
} else if (cronometroAndando == false && cronometroPausado == true) {
copiaDe_GetTimer=getTimer() - milesimasTranscurridas;
}
temporizador.start();
cronometroAndando=true;
}
private function pausarCronometro(e:MouseEvent):void {
if (cronometroAndando == true) {
cronometroAndando=false;
cronometroPausado=true;
temporizador.stop();
}
}
private function reiniciarCronometro(e:MouseEvent):void {
temporizador.stop();
led_txt.text="00 : 00 : 00 : 00";
milesimasTranscurridas=0;
cronometroAndando=false;
cronometroPausado=false;
}
private function fotoGrafiarCronometro(e:MouseEvent):void {
temporizador.stop();
}
}
}

Por castillo

25 de clabLevel



 

peru

msie8
Citar            
MensajeEscrito el 06 Jun 2013 02:45 pm
¿EL codigo del principio lo pones en un fotograma del MovieClip cuya clase es Cronometro ?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 06 Jun 2013 07:46 pm
El codigo del principio lo ubico en el fotograma 1 los que al validar deben saltar al 5 y en fotograma 5 estan los botones de control que deben obedecer a la clase cronometro

Por castillo

25 de clabLevel



 

peru

firefox
Citar            
MensajeEscrito el 06 Jun 2013 08:08 pm
valida no es un metodo de Cronometro, asi que no veo esta referencia

Cronometro/valida()

1009 es un error ambiguo que dice: algo no esta definido

A menos que cronometro sea el Document class, entonces si tenemos un lio, porque estas mezclando codigo de la clase con codigo de la linea de tiempo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 07 Jun 2013 09:56 pm
Cierto estoy mesclando codigo de la clase con codigo de la linea de tiempo como detallo arriba en el codigo que publique, el caso es que la clase debe cargar en un fotograma diferente al primero espero el aporte de la comunidad

Por castillo

25 de clabLevel



 

peru

msie8
Citar            
MensajeEscrito el 08 Jun 2013 12:04 pm
Cronómetro es la clase del documento, es la clase de un MovieClip o como la instancias?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 09 Jun 2013 09:20 pm
Cronometro es la clase que debe ejecutarse en un fotograma que no sea el primero, aparte en un FLA tengo unas cajas de texto y un boton que validan contraseña y luego debe pasar al siguiente donde tengo botones iniciar, pausar y resetear el cronometro y una caja de texto donde me debe mostrar las h,m,s,ms el cual no me muestra nada y me manda el mensaje de error :

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

Por castillo

25 de clabLevel



 

peru

firefox
Citar            
MensajeEscrito el 09 Jun 2013 11:29 pm
Ok, NPI
Copypastea el codigo que encuentres en el fotograma 5, no me pongas toda la clase, que eso ya me lo pusiste y esta en un archivo aparte, pon lo que tengas en la linea de tiempo (porque quiero ver como instancias la clase)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome

 

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