Comunidad de diseño web y desarrollo en internet online

Ahora si echenme una manita plis

Citar            
MensajeEscrito el 04 Ago 2011 12:07 am
Hola de nuevo despues de andar buscando y consultando codigos de como hacer que aparescan o como llamar mc aleatoriamente al fin lo he conseguido pero ahora resulta que cuando le doy clic a mi boton trae el mc y despues le doy otro clic al boton y me trae otro mc pero no quita el anterio, entonces he ahi el meollo del asunto quisiera ver si me ayudan les anexo mi codigo que he logrado y de antemano muchas gracias a los que me han respondido

Código :

var movieArray:Array = new Array();
movieArray = ["circulo", "cuadrado", "penta"];

botoncito.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);   
function mouseDownHandler(event:MouseEvent):void
{ 
   var myMovieClip:MovieClip;

if ((movieArray[Math.floor(Math.random() * 3)]) == "circulo") {

   myMovieClip = new circulo();

} else if ((movieArray[Math.floor(Math.random() * 3)]) == "cuadrado") {
   myMovieClip = new cuadrado();

} else if ((movieArray[Math.floor(Math.random() * 3)]) == "penta") {

   myMovieClip = new penta();

} else {   // In case the random number is 1 
   myMovieClip = new penta();

}
   emptyMC_mc.addChild(myMovieClip);   
 }


Les recuerdo que estoy programando en AS3 y gracias.

Por stynpy

47 de clabLevel



 

safari
Citar            
MensajeEscrito el 04 Ago 2011 09:33 am
Sinceramente ese codigo esta un poco feo. Te aconsejo seguir un poco de 'buenas practicas', por ejemplo, el nombre de las clases debe comenzar con letra mayuscula (circulo.as debiese ser Circulo.as).

La verdad no se que hace tu codigo pero aca va un poco mas ordenado:

Código ActionScript :

var movieArray:Array = ["circulo", "cuadrado", "penta"];
var aleatorio:uint = (movieArray[Math.round(Math.random() * movieArray.length)];

botoncito.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);

function mouseDownHandler(event:MouseEvent):void
{
   var myMovieClip:MovieClip;
   
   if (aleatorio == "circulo")
   {
      myMovieClip = new circulo();
   }
   else if (aleatorio == "cuadrado")
   {
      myMovieClip = new cuadrado();
   }
   else
   {
      myMovieClip = new penta();
   }
   
   emptyMC_mc.addChild(myMovieClip);
}


Math.round es mejor que Math.floor ya que con Math.floor solo quita los decimales, o sea, numeros como 1.15, 1.51 ó 1.99 siempre seran 1 pero si usas Math.round, los redondeara al proximo entero, por ejemplo 1.15 sera 1 pero 1.51 & 1.99 seran 2.
En vez del numero 3 (se llama 'numero magico') he puesto movieArray.length ya que lo que nos importa es el nombre de elementos en el array, asi sera mas flexible si en dado caso agregas otros elementos como 'triangulo', 'hexagono', etcetera...

Y bueno, como dije antes, no se que quieres hacer asi que no se cual es el problema.

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox
Citar            
MensajeEscrito el 04 Ago 2011 03:47 pm
Ok gracias por responder pero me arroja el siguiente error en el cual nose que este mal ya lo cheque pero sigue diciendome lo mismo


Código :

Escena 1, Capa 'acciones', Fotograma 1, Línea 31   1084: Error de sintaxis: se esperaba rightparen antes de semicolon.


De antemano gracias.

Por stynpy

47 de clabLevel



 

safari
Citar            
MensajeEscrito el 04 Ago 2011 04:06 pm
En esta linea de codigo es donde me manda el error

Código :


var aleatorio:uint = (movieArray [Math.round(Math.random() * movieArray.length)]; 

Por stynpy

47 de clabLevel



 

safari
Citar            
MensajeEscrito el 04 Ago 2011 04:44 pm
Hay un parentesis de mas al principio, solo borralo.

Código ActionScript :

var aleatorio:uint = movieArray[Math.round(Math.random() * movieArray.length)]; 

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox
Citar            
MensajeEscrito el 04 Ago 2011 04:53 pm
Ok listo ya se lo quite pero ahora me arroja un error diferente

Código :


Escena 1, Capa 'acciones', Fotograma 1, Línea 44   1176: Comparación entre un valor con tipo estático uint y un tipo String posiblemente no relacionado.


En esta linea de codigo

Código :


   if (aleatorio == "circulo") 


Y de antemano muchas al responder.

Por stynpy

47 de clabLevel



 

safari
Citar            
MensajeEscrito el 04 Ago 2011 11:39 pm
Que paso amigos ando atoradin

Por stynpy

47 de clabLevel



 

safari
Citar            
MensajeEscrito el 05 Ago 2011 11:17 am
El error que mencionaste antes y este nuevo error son extremadamente basicos. Te aconsejo leer un libro sobre actionscript antes seguir porque tendras problemas cada 5 minutos...

El problema en este caso es que la 'aleatorio' esta declarada como uint (numero entero positivo) y el valor de los elementos en el arreglo movieArray es String (cadena o palabra, todo lo que este dentro de comillas es un String).

Sabes como resolverlo? es muy facil, por favor has pruebas y nos cuentas como te va ;)

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox
Citar            
MensajeEscrito el 09 Ago 2011 09:20 pm
Ok amigo ya quedo resuelto lo del error que me marcaba en el cual agradesco mucho tus respuestas, ahora solo me falta resolver el como hacerle para que cambien las figuras cuando le de click ya que si cambian pero solo cada vez que ejecuto y tengo que volver a ejecutar para que vuelvaa cambiar en el cual no lo quiero asi, si no quiero que lo haga al momento que le de click al boton y no las encime si no que las muestre una a una, ¿alguna sugerencia?

Por stynpy

47 de clabLevel



 

safari
Citar            
MensajeEscrito el 10 Ago 2011 09:01 am
Que? sinceramente no tengo ni la mas minima idea de lo que hablas. Fuese mejor si abrieses otro tema explicando concretamente tu problema (no un problema general, pero especifico) y si es posible, muestra un ejemplo de lo que quieres lograr.

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox

 

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