Comunidad de diseño web y desarrollo en internet online

Filtro malas palabras flash

Citar            
MensajeEscrito el 22 Ene 2010 08:14 pm
tengo en mi archivo una caja de texto y un boton, y mi archivo externo un txt llamado denegados, en este archivo se guaradn todas la malas palabras, el documento en flash manda a llamar este archivo, lo que quiero hacer es que al poner una palabra en el campo de texto y darle clcik al boton, si la palabra existe en el txt le mande un mensaje que no esta permitido esa palabra y si no existe que continue en el siguiente frame, este es el contenido de mi txt

Código ActionScript :

&denegado1=feo&denegado2=tonto&denegado3=loco


y este es mi codigo que utilizo en flash, lo que cargo de mi txt lo almaceno en un array

Código ActionScript :

var cargador_lv:LoadVars = new LoadVars();

cargador_lv.onLoad = function(exito) {
   
   if (exito) {
      
      for (i=1;this["denegado"+i];i++){
      

                 var miCadena = this["denegado"+i]
                 var usuario:Array = miCadena;

                  trace(usuario)


                  _root.entrar_btn.onPress = function() {
                       if (user.text == usuario) {

                        trace("No esta permitido decir esto");
                            } else {
                         trace("Adelante")
                            }
                  }      
      
      }
      
      
   } else {
      
      trace("error")
   }
};

cargador_lv.load("denegados.txt");






todo jala bien, pero el problema es que solo me valida el ultimo elemento de mi array, pero no me valida los demas elementos, gracias por su ayuda

Por palmeros

46 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 22 Ene 2010 10:29 pm
Es más sencillo de lo que crees, primero que todo tu txt debería ser algo como lo siguiente para que lo puedas manejar más fácil:

Código :

denegados=feo,tonto,loco


Después declaras en el primer frame de tu película el siguiente proto (Por suerte AS3 ya cuenta con este método en la clase Array)

Código ActionScript :

//---Prototype de indexOf 
Array.prototype.indexOf = function(search):Number  {
   var index:Number = -1;
   var item:Number = 0;
   while (item < this.length) {
      if (this[item] == search) {
         index = item;
         break;
      } else {
         item++;
      }
   }
   return index;
};


Y tu código quedaría de la siguiente manera:

Código ActionScript :

var cargador_lv:LoadVars = new LoadVars();
var denied:Array;

cargador_lv.onLoad = function(exito:Boolean):Void  {

   if (exito) {

      denied = this.denegados.split(",");

      _root.entrar_btn.onPress = function():Void  {

         if(denied.indexOf(_root.user.text) >= 0){            
            trace("no está permitido");            
         }else{            
            trace("está permitido");            
         }

      };

   }

};

cargador_lv.load("denegados.txt");

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 24 Ene 2010 01:30 am
bueno lo estaba oprogramando en as 2.0, yo creo que seria la misma logica, dejame experimentar y te aviso muchas gracias :)

Por palmeros

46 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 24 Ene 2010 06:44 pm

palmeros escribió:

bueno lo estaba oprogramando en as 2.0, yo creo que seria la misma logica, dejame experimentar y te aviso muchas gracias :)


¿La misma lógica? Lo que te puso es para AS 2

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 24 Ene 2010 11:29 pm
@Hernán tiene razón, todo está realizado en AS2, si estuvieras trabajando con AS3 te recomendaría que hicieras un XML con las palabras prohibidas y como la nueva clase XML basada en E4X es tan potente podría saber si la palabra denegada se encuentra en el XML con unas pocas líneas de código y no habría que realizar toda la anterior tarea.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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