Comunidad de diseño web y desarrollo en internet online

Problemas llamando a una clase dentro de un movieclip

Citar            
MensajeEscrito el 16 Ago 2004 02:02 pm
Hola chicos, como estas?. Huy!!. me puede dar una manito con un problemita que tengo. Estoy llamando a una clase, cuando la llamo desde la scena principal del fla, no tengo problemas, pero si es que la llamo desde dentro de un movie clip, no funciona con la clase creada. Que estoy haciendo mal? :crap:
Muchas gracias
saludos
Jackie

Por JackiePolar

11 de clabLevel



 

unknown
Citar            
MensajeEscrito el 16 Ago 2004 02:11 pm
Bueno, es posible que la clase si no está bien programada no funcione desde dentro de un MovieClip, pero vamos, que en teoría tendría que funcionar.

¿Podrías ponernos el código de la clase, o decirnos de donde la bajaste?

Un saludo!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

unknown
Citar            
MensajeEscrito el 16 Ago 2004 02:55 pm
Bueno, no se si se entienda?, es una clase que sirve para validar los input text, solo que acepte digitos con decimales, no se si fue creada o la copiaron de algun lado, yo la encontre tal cual. Cuando la llamo desde la scena princial, funciona correctamente.


Código :

class OnlyNumbers{
   
   function OnlyNumbers(){
   }
   
   public function Alive() :String{
      return "I´m Alive!";
   }
   
   public function ControlNumber(nomeCampo:String, nomeBackup:String, numeroCasasPermitidas:Number){
      /*
      Para usar esta função é necessário dar nome a variavel de input text (nomeCampo),
      criar uma variavel string no root (nomeBackup)
      e um movie clip com o codigo:
         onClipEvent(keyUp){
            c = new testex();
            c.f1("resposta", "backupresposta", 1);
         }
            
      Para usar o numero armazenado no string pode-se usar
      o metodo String2Number
      
      Esta função a cada tecla apertada, verifica se foi digitado
      um caracter que não representa um número,
      e alem disso controla o numeros de casas decimais do numero.
      */
   
      var i:Number;
   
      var   respostasize:Number;
      respostasize = _root[nomeCampo].length;
   
      var numero:Boolean;
      var numeroVirgulas:Number;
      var posicaoVirgula:Number;
   
      var a:String;
      a = _root[nomeCampo];
      
      // Verifica se o numero é composto apenas por digitos e virgula
      numero = true;
      numeroVirgulas = 0;
      posicaoVirgula = -1;
      for(i=0; i<respostasize; i++){
         if( (a.charAt(i) != '0') && (a.charAt(i) != '1') && (a.charAt(i) != '2') && (a.charAt(i) != '3') && (a.charAt(i) != '4') && (a.charAt(i) != '5') && (a.charAt(i) != '6') && (a.charAt(i) != '7') && (a.charAt(i) != '8') && (a.charAt(i) != '9') && (a.charAt(i) != ',') ){
            numero = false;
         }

         // Conta o numero de virgulas existentes
         if(a.charAt(i) == ','){  // Procura por virgulas
            numeroVirgulas++;
         
            // Marca a posicao da primeira virgula encontrada
            if(posicaoVirgula == -1){
               posicaoVirgula = i;
            }
         }
      }
   
      // Verifica se existe apenas uma ou nenhuma virgula
      if(numeroVirgulas > 1){
         numero = false;
      }
   
      // Se foi inserido um numero valido faz um backup desse numero
      if(numero){
         // Verifica o numero de casas decimais e restringe-as
         respostasize = _root[nomeCampo].length;
         //trace("size = " + respostasize + "posV = " + posicaoVirgula);
         if (numeroVirgulas == 1){
            if (respostasize-1 > (posicaoVirgula + numeroCasasPermitidas) ){
               _root[nomeCampo] = _root[nomeCampo].substr(0, (posicaoVirgula+numeroCasasPermitidas+1));
            }
         }
      
         //Faz backup do numero
         _root[nomeBackup] = _root[nomeCampo];
      }
      // Se o numero inserido for invalido recupera o ultimo numero valido
      else{
         _root[nomeCampo] = _root[nomeBackup];
      }
   }
   
   public function String2Number(nomeVariavel:String) :Number{
      /* Esta funcao pega uma variavel do tipo String no root 
      com nome = nomeVariavel e com formado por digitos e virgula
      e converte-a para um numero (formato de digitos e ponto) */
   
      var i:Number;
      var j:Number;
   
      var valorComPonto:String; // Guarda uma copia da variavel mas troca virgula por ponto
      var valor:Number;  // Guarda o valorComPonto em numero
   
      var respostasize:Number;
      respostasize = _root[nomeVariavel].length;
   
      var numero:Boolean;
      var numeroVirgulas:Number;
      var posicaoVirgula:Number;
   
      var a:String;
      a = _root[nomeVariavel];
   
      // Verifica se o numero é composto apenas por digitos e virgula
      numero = true;
      numeroVirgulas = 0;
      posicaoVirgula = -1;
      for(i=0; i<respostasize; i++){
         if( (a.charAt(i) != '0') && (a.charAt(i) != '1') && (a.charAt(i) != '2') && (a.charAt(i) != '3') && (a.charAt(i) != '4') && (a.charAt(i) != '5') && (a.charAt(i) != '6') && (a.charAt(i) != '7') && (a.charAt(i) != '8') && (a.charAt(i) != '9') && (a.charAt(i) != ',') ){
            numero = false;
         }

         // Conta o numero de virgulas existentes
         if(a.charAt(i) == ','){  // Procura por virgulas
            numeroVirgulas++;
         }
      }
   
      // Verifica se existe apenas uma ou nenhuma virgula
      if(numeroVirgulas > 1){
         numero = false;
      }
   
      // Se foi inserido um numero valido faz um backup desse numero
      if(numero){
         // Verifica o numero de casas decimais e restringe-as
         respostasize = _root[nomeVariavel].length;
         // Faz uma copia do valor trocando a virgula por ponto
         valorComPonto = "";
         for(j=0; j<respostasize; j++){
            if(_root[nomeVariavel].charAt(j) != ','){
               valorComPonto += _root[nomeVariavel].charAt(j);
            }
            else{
               valorComPonto += '.';
            }
         }
         // Transforma para numero
         valor = Number(valorComPonto);
         //trace("valor = " + valor);
      }
   
      return (valor);
   }
   
   
   public function String2NumberD(valorDireto:String) :Number{
      /* Esta funcao pega uma variavel do tipo String no root 
      com nome = nomeVariavel e com formado por digitos e virgula
      e converte-a para um numero (formato de digitos e ponto) */
   
      var i:Number;
      var j:Number;
   
      var valorComPonto:String; // Guarda uma copia da variavel mas troca virgula por ponto
      var valor:Number;  // Guarda o valorComPonto em numero
   
      var respostasize:Number;
      respostasize = valorDireto.length;
   
      var numero:Boolean;
      var numeroVirgulas:Number;
      var posicaoVirgula:Number;
   
      var a:String;
      a = valorDireto;
   
      // Verifica se o numero é composto apenas por digitos e virgula
      numero = true;
      numeroVirgulas = 0;
      posicaoVirgula = -1;
      for(i=0; i<respostasize; i++){
         if( (a.charAt(i) != '0') && (a.charAt(i) != '1') && (a.charAt(i) != '2') && (a.charAt(i) != '3') && (a.charAt(i) != '4') && (a.charAt(i) != '5') && (a.charAt(i) != '6') && (a.charAt(i) != '7') && (a.charAt(i) != '8') && (a.charAt(i) != '9') && (a.charAt(i) != ',') ){
            numero = false;
         }

         // Conta o numero de virgulas existentes
         if(a.charAt(i) == ','){  // Procura por virgulas
            numeroVirgulas++;
         }
      }
   
      // Verifica se existe apenas uma ou nenhuma virgula
      if(numeroVirgulas > 1){
         numero = false;
      }
   
      // Se foi inserido um numero valido faz um backup desse numero
      if(numero){
         // Verifica o numero de casas decimais e restringe-as
         respostasize = valorDireto.length;
         // Faz uma copia do valor trocando a virgula por ponto
         valorComPonto = "";
         for(j=0; j<respostasize; j++){
            if(valorDireto.charAt(j) != ','){
               valorComPonto += valorDireto.charAt(j);
            }
            else{
               valorComPonto += '.';
            }
         }
         // Transforma para numero
         valor = Number(valorComPonto);
         //trace("valor = " + valor);
      }
   
      return (valor);
   }   
   
   function Number2String(valor:Number) :String{
      /* esta funcao pega um numero e transforma-o num string
         substituindo o ponto pela virgula
      */
      
      var posPonto:Number;
      var valorString:String;
      var i:Number;
      var resposta:String;
      
      valorString = valor.toString();
      posPonto = -1;
      
      // Percorre o string com o valor e determina a posicao do ponto se houver
      // caso nao haja posPonto fica com -1
      for(i=0; i<valorString.length; i++){
         if (valorString.charAt(i) == "."){
            posPonto = i;
         }
      }
      
      // Se houver ponto substitui por virgula
      if (posPonto != -1){
         resposta = valorString.substr(0, posPonto);
         resposta = resposta + ",";
         resposta = resposta + (valorString.substring(posPonto+1, valorString.length+1));
      }
      else{
         resposta = valorString;
      }
      
      return resposta;
   }
   
   function Arredonda(valor:Number, numCasasDecimais:Number) :Number{
      var auxString:String;
      var respostaString:String;
      var resposta;
      var posVirgula:Number;
      var i:Number;
      
      posVirgula = -1;
            
      auxString = Number2String(valor);
      
      // Percorre o string aux em busca de uma virgula
      for(i=0; i<auxString.length; i++){
         if (auxString.charAt(i) == ","){
            posVirgula = i;
         }
      }
      
      // Se houver virgula, limita em numCasasDedimais casas decimais
      // Copia o resultado para respostaString
      if (posVirgula != -1){
         // Se houver mais de numCasasDedimais casas decimais
         if (auxString.length > posVirgula+numCasasDecimais){
            respostaString = auxString.substring(0, posVirgula+numCasasDecimais+1);
         }
         else{
            respostaString = auxString;
         }
      }
      else{
         respostaString = auxString;
      }

      // Transforma o string em numero
      resposta = String2NumberD(respostaString);
      
      // Arredonda a resposta
      // Se houver virgula e se houver mais casas decimais do que permitido
      if ( (posVirgula != -1) && (auxString.length > posVirgula+numCasasDecimais) ){
         // Se o numero for terminado em 5, 6, 7, 8 ou 9 arredonda para cima
         if((auxString.charAt(posVirgula+numCasasDecimais+1) == "5") || (auxString.charAt(posVirgula+numCasasDecimais) == "6") || (auxString.charAt(posVirgula+numCasasDecimais) == "7") || (auxString.charAt(posVirgula+numCasasDecimais) == "8") || (auxString.charAt(posVirgula+numCasasDecimais) == "9")){
            resposta = resposta + Math.pow(10, -numCasasDecimais);
         }
      }
      
      return resposta;
   }
      
}

Por JackiePolar

11 de clabLevel



 

unknown
Citar            
MensajeEscrito el 17 Ago 2004 05:18 pm
Estoy llamando a una clase


En este caso llamar esa clase significa:

llamar al constructor?

o

Asociar el nombre de la clase a un movieClip?

Por _david

565 de clabLevel


1 articulo

Genero:Masculino  

Bogota, Colombia

unknown

 

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