Comunidad de diseño web y desarrollo en internet online

Devolver ultima letra de un palabra

Citar            
MensajeEscrito el 02 Nov 2010 03:16 am
Hola alguien me podria decir en que estoy fallando
primero creo un Mc dinamicamente con attach,
después le asigno un onPress

Código ActionScript :

MovieClip(polo1).onPress=function(){startDrag(this,false);sel =this;selec =Devolver(z);trace(selec)}

lo que intenta hacer mi funcion es devolver el ultimo carácter del nombre de mi mc
(en este caso poligono0 que devuelve _level0.polig0)

Código ActionScript :

function Devolver(z)
{
palabra = sel
var h:Number= palabra.length-1
var z:Number=h
trace(palabra)
return z
}


se supone que con la funcion me tendría que devolver solo el 0 pero no lo hace,
si por ej: pongo "Maxi20" en ves de sel me devuelve bien el 0
cual es el problema?
gracias de antemano.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 02 Nov 2010 03:12 pm
Prueba poniendo:

sel =this.name

necesita el string del nombre, no el path completo. En realidad el último caracter lo tienes en una sola expresión

Código ActionScript :

palabra = "Alguna"
trace(palabra.charAt(palabra.length-1))


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 02 Nov 2010 07:45 pm
Me sige devolviendo Undefined,

Código ActionScript :


   MovieClip(polo1).onPress=function(){startDrag(this,false);
   sel =this;
   palabra = sel;
   selec = palabra.charAt(palabra.length-1);
   trace(selec )
   }

y si pongo this.name me devuelve Nan, si doy un trace a sel o a palabra me devuelve bien el nombre
osea si hago click en poligono0,poligono1 etc etc, no se supone que al asignar ese dato a
la variable sel este se convierte en un string ? no entiendo en que le estoy errando

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 02 Nov 2010 08:26 pm
para aclarar mi intención lo que quiero conseguir al devolver el ultimo carácter(osea 0,1,2,3,4...)
ese asignarle a selec ese numero ya que después utilizo este código para manipular el Mc

Código ActionScript :

   btn_03.onPress=function() {
polnum = "polig"+selec
_root[polnum]._rotation-=45}

aclaro por que capas que halla otro manera mas practica de hacerlo.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 02 Nov 2010 08:33 pm
¿Algo así?

Código ActionScript :

polo1.onPress=function(){
   startDrag(this,false);    
   trace(this._name.charAt(palabra.length-1)) 
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Nov 2010 11:55 pm
Bien así si me devuelve bien el nombre pero ahora lo que no funca
es this.length-1 si sencillamente le doy 5 bien me da el numero (polig[0])pero la idea es que sea dinámico ya que en algún momento
va a cambiar a 10 y hasta puedes ser 100, seguiré intentando.

gracias att. MaxiSan

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 04 Nov 2010 03:18 am
Me parece un poco diálogo de sordos, insistes en usar this en vez de usar la propiedad _name que es un string.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Nov 2010 04:22 pm
Perdón es que no te entendí,
en fin el código andado es así

Código ActionScript :

MovieClip(polo1).onPress=function()
   {startDrag(this,false);
   selec=this._name.charAt(this._name.length-1)  ;
   trace(selec)
   }


Gracias por tu gran ayuda

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 04 Nov 2010 06:56 pm
No entiendo por que haces el cast MovieClip(polo1)

Esto así:

Código ActionScript :

polo1.onPress=function() {
        startDrag(this,false); 
        selec=this._name.charAt(this._name.length-1)  ; 
        trace(selec) 
   }


Tiene que trazar "1"

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Nov 2010 11:06 pm
Claro es que eso es solo un pedazo del codigo total, es del juego de puzzles que deje el link en el otro tema del BUCLE
para con attach(simplificar codigo), buen en si la funcion que crea los cubos es la sigiente

Código ActionScript :

function creaFig1()
{    cant_cubos++
   rand= random(3)
   polo1= attachMovie("fig01","polig"+id, this.getNextHighestDepth());
   Py+=64
   id++
   polo1._x= Px+32
   polo1._y= Py
   if(polo1._y >hg-256){Px+=64;Py=0} 
   if(cant_cubos==20){btn_00.onPress=null;btn_001.onPress=null} 
}

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 05 Nov 2010 02:40 am
No se que tiene que ver el último trozo de código que pusiste con capturar el último caracter del nombre

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Nov 2010 03:19 am
Te lo explico así yo creo 20 cubos y al pinchar en cada uno pueda moverlos y para rotarlos tengo que pinchar en el que quiero
rotar y después con unos botones los roto, el código que te puse es de la función que crea cada
figura cuyo nombre es "polig"+id(osea polig1, polig2 etc etc),
bueno anterior mente había creado un onPress para cada uno de un máximo de 13 polígonos (polig1onPress=bla bla)
bueno eso me resulto eficaz solo hasta darme cuenta de que llegado un momento 13 figuras eran pocas
entonces me puse a pensar que tendría que hacerlo más dinámico el onPress, bueno aya descubrí que si le
le asignaba una variable al attach tenia como resultado poder manipular cada attach creado desde esa
variable con una sola linea(Lo de MovieClip(polo1) es una larga historia y ya me di cuenta que esta de mas) ahí
fue cuando se me complico para rotarlos y bueno la manera que se me ocurrió fue que me devuelva el ultimo
carácter de su nombre ya que va a ser su numero de id, también me di cuenta que después del 9 me va a empezar a devolver 0 de nuevo pero eso iba después de solucionar el primer problema,
y bueno así entre en este rollo.
Te explico que soy muy novato con esto de OOP mi máxima experiencia con la programación es en QBASIC y Visual Basic algo muy básico ya que lo único que programaba eran botoneras y controles para motores nada complejo.
Pido paciencia ya que soy un aprendiz en esto y disculpas si saco de quicio a alguien. También te agradezco por que en la mayoría de Temas que he publicado me has prestado tu cerebro y siempre muy convincente.

Gracias

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 05 Nov 2010 10:53 am
Usando attachMovie puedes inyectar cualquier variable, ejemplo

polo1= attachMovie("fig01","polig"+id, this.getNextHighestDepth(), {_x:Px+32, _y:Py, id:id});

En este caso le pasé el id al MovieClip, y de paso te ahorras las líneas del _x e _y, ya que también se lo pasas en el objeto de inicialización

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 06 Nov 2010 02:40 am
Ok lode las _x , _y me quedo claro, lo que no entendi es lo de pasarle la id al clip no.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 06 Nov 2010 10:30 am
En este ejemplo trazo el id en el onPress sin necesidad de buscarlo en el nombre

Código ActionScript :

for(var i:Number = 0, id=0; i<cantidad; i++, id++){
    target = attachMovie("fig01","polig"+id, this.getNextHighestDepth(), {_x:Px+32, _y:Py, id:id}); 
    target.onPress = function(){
       trace("Soy fig01"+this.id)
    }
}

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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