Comunidad de diseño web y desarrollo en internet online

¿Cómo puedo hacer una matriz de un botón?

Citar            
MensajeEscrito el 26 Oct 2007 01:09 pm
Cordiales saludos!

Estoy haciendo un soft. para simular la división. He creado un botón (manzana) que cuando golpea una caja aumenta un contador, y cuando se retira, el contador disminuye. El problema está en que tanto el objeto que golpea como el que será golpeado variarán. las manzanas hasta 100 y las cajas hasta 10. ¿Cómo hago para no redundar tanta programación? supongo que con una matriz. En vbasic es fácil porque cuando creo un objeto, doy copiar-pegar y me pregunta si quiero hacer una matiz de ese objeto, el resto se resuelve con una estructura cíclica. Pero en Flash ¿cómo hago esto?
Aquie el código creado:

var band=0;
var cont=0;

cir.onPress = function() { //cir es la imagen de una manzana que golpea la caja necesitaré 100 de estos ¿que hago?
this.startDrag();
};
cir.onRelease = function() {
this.stopDrag();
if (this.hitTest(cua)and band==0) { //verifico si hizo una colisión con el objeto cua
//trace("you hit the circle");
cont=cont+1;
band=1;
}
else if((this.hitTest(cua)==false)and(band==1)) {
cont=cont-1;
band=0;
}
};
band1=0;
cir1.onPress = function() { //cree otro objeto llamado cir1 por no saber como hacer cir una matriz.
this.startDrag();
};
cir1.onRelease = function() {
this.stopDrag();
if (this.hitTest(cua)and band1==0) {
//trace("you hit the circle");
cont=cont+1;
band1=1;
}
else if((this.hitTest(cua)==false)and(band1==1)) {
cont=cont-1;
band1=0;
}
};
band2=0;
cir2.onPress = function() {
this.startDrag();
};

cir2.onRelease = function() {
this.stopDrag();
if (this.hitTest(cua)and band2==0) {
cont=cont+1;
band2=1;
}
else if((this.hitTest(cua)==false)and(band2==1)) {
cont=cont-1;
band2=0;
}
};

Agradecido desde ya;

Noel

Por nhack

15 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Oct 2007 01:57 pm
VB no es el mejor ejemplo para comparar con ActionScript. El primero es un lenguaje orientado a eventos y el segundo a objetos (seeeh, yo también programé en VB).
En este caso tienes dos opciones, que dependerán de cómo estás generando tus objetos:

  1. Crear un clase que haga por tí la asociación de los objetos a un Array.
  2. Crear en tu código un Array, introducir las instancias (puede ser con un bucle for... in) y manejarlas desde allí.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 28 Oct 2007 11:28 pm
Hola! te agradezco por tu pronta respuesta, he encontrado con ayuda en los foros de la función de attachMovie, funciona muy bien, lo incomodo para mi es que hay que recordar mucho del lenguaje c, sobre todo por las posciones de x e y. pero es inevitable y nuevamente a debo recobrar habilidades de diseño por código.
Nuevamente muchas gracias!

Por nhack

15 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Oct 2007 10:24 pm
si tu asignas los elementos en el stage y les pones manualmente el nombre de instancia, puedes poner los nombres de forma secuencial: obj1, obj2, obj3, ..., objn, y cuando quieras recorrerlos dentro de un ciclo en AS solo haces algo así:

Código :

for(i=1;i<4;i++) {
    trace(this["obj"+i].name);
}


si creas tus objetos en AS, pues tendrás que hacer lo que dice The Fricky!

saludos! ^^

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox

 

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