Comunidad de diseño web y desarrollo en internet online

problemas varios, removeMovieClip, creteEmpryMovieClip, etc

Citar            
MensajeEscrito el 31 May 2005 05:34 am
Tengo un conjuto de movieclips que representan numeros, del 0 al 9, necesito una funcion que, cuando yo la invoque, pasandole como parametro un numero de n cifras, me represente en el lienzo, el numero utilizando los MC antes mencionado.

Para lo que redacte la siguiente funcion:

Código :

var myNumbers:Array = new Array();
function updateLevel(intLevel, intX, intY, intFontLength) {
   var strScore:String = new String(intLevel);
   var strMCToRemove:String;
   var i:Number=0;
   for(i=0;i<myNumbers.length;i++){
       myNumbers[i].removeMovieClip();
   }
   for (i=0; i<strScore.length; i++) {
      myNumbers[i] = createEmptyMovieClip("11111", getTheNextHighestDepth());
      myNumbers[i].attachMovie("mc_"+strScore.charAt(i),"myNumber_"+i,2);
      myNumbers[i]._x = intX+intFontLength*i;
      myNumbers[i]._y = intY;
      myNumbers[i].setDepthAbove(DepthManager.kTop);
   }
}

function removeLevel(){
   trace(myNumbers.length);
   var mc:MovieClip;
   var i:Number;
   for(i=(myNumbers.length-1);i>=0;i--){
      myNumbers[i].unloadMovie();
      myNumbers.pop();
   }
}


El boton que invoca la funcion tiene el siguiente codigo:

Código :

on(press){
   _root.updateLevel(this._parent.txt_1.text, 0, 100, 15);
}

El tema es que cada vez que la invoco, me tiene que borrar los numero creados en la llamada anterior, si existiesen, y generarme un nuevo numero en base al parametro.
Los problemas con los que me encontre, y a los que no puedo darles solucion, son los siguientes:
1. RemoveMovieclip, parece no funcionar.
2. DuplicateMovieClip, me pone todos los numeros, pero luego, cuando los borro, no puedo volver a hacer un duplicatemovieClip, simplemente no aparece nada.

Si hay algun valiente que quiera ver el codigo en accion puden descargarse el .fla de la siguiente URL:

www.weremsoft.com.ar/flash/pixelfonts.fla


Cualquier ayuda será bienvenida.
Un abrazo

Por WEREW0LF

769 de clabLevel

4 tutoriales
1 articulo
1 ejemplo

 

Buenos Aires - Argentina

firefox
Citar            
MensajeEscrito el 31 May 2005 05:45 am
Aca hay otra version de la funcion updateLevel, la misma copia movieclips ya creados, que se encuentran fuera del lienzo, o sea que no los trae de la biblioteca, al invocar a la funcion "removeLevel", ya no funciona, no muestra los numeros.

Código :

var myNumbers:Array = new Array();
function updateLevel(intLevel, intX, intY, intFontLength) {
   var strScore:String = new String(intLevel);
   var strMCToRemove:String;
   var i:Number;
   for(i=0;i<strScore.length;i++){
      duplicateMovieClip("_"+strScore.charAt(i), 100+i,_root.getNextHighestDepth())
     myNumbers[i] = _root[100+i];
      myNumbers[i]._x = intX+intFontLength*i;
     myNumbers[i]._y=intY;
     myNumbers[i].setDepthAbove(DepthManager.kTop);
   }
}

Por WEREW0LF

769 de clabLevel

4 tutoriales
1 articulo
1 ejemplo

 

Buenos Aires - Argentina

firefox
Citar            
MensajeEscrito el 31 May 2005 07:36 am
El problema se debio a un bug del metodo "duplicateMovieClip" del objeto "movieclip", que impedía borrar un movieclip si no se especificaba explicitamente el nivel de profundidad.
Mas informacion en el siguiente link:

Livedocs

Saludos

Por WEREW0LF

769 de clabLevel

4 tutoriales
1 articulo
1 ejemplo

 

Buenos Aires - Argentina

firefox
Citar            
MensajeEscrito el 31 May 2005 08:13 am
Yo te aconsejo no usar getTheNextHighestDepth(), siempre da problemas cuando quieres borrar los clips.

Usa niveles fijos siempre Werewolf.

Deu!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

clabbrowser
Citar            
MensajeEscrito el 31 May 2005 01:01 pm
Todo bien, pero entonces no se puede confiar en el help! Esa funcionalidad debería andar, estube 3 horas hasta que le encontre la vuelta!

Un abrazo

Por WEREW0LF

769 de clabLevel

4 tutoriales
1 articulo
1 ejemplo

 

Buenos Aires - Argentina

msie
Citar            
MensajeEscrito el 31 May 2005 08:27 pm
A mi nunca me ha fallado el getNextHighestDepth(); ... jamas.

Ahora, yo creo que es mas cuestión de costumbre y que elecash prefiere las tecnicas "old_school"; pero en mi caso no tengo ningun inconveniente

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

clabbofh
Citar            
MensajeEscrito el 31 May 2010 12:59 am
Hola, bueno estuve con un problema similar con removeMovieClip... lo solucioné con unloadMovie... si ese es el problema.
saludos
Pancho

Por panchod

5 de clabLevel



 

msie7

 

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