Comunidad de diseño web y desarrollo en internet online

array y attachMovie

Citar            
MensajeEscrito el 08 Feb 2010 02:48 am
Hola :), como siempre yo haciendo jueguitos que nunca completo y siempre hallando problemas =/, miren pues :), se supone que tengo 2 mcs en la biblioteca llamados ed0,ed1(edifico0,1 U_U), en este momento estoy viendo como construyo edificitos sin tener que poner tanto codigo(la verdad a mi no necesariamnete me gusta hacer los juegos, si no aprender U_U, que mamon soy -_-)
mi problema son dos arrays en uno tengo a los botones que estan dentro de menu1, se llaman bed0,bed1(boton edificio) y otro array que tiene los nombres de los edificios("ed0","ed1"), yo esperaba que con el [i] del boton que presionara podria usarlo para el[i] del edificio que correspondiera a ese boton, es decir, si pico a bed0, me apareceria ed0, pensaba en eso por el for, pero empeze a tener problemillas, y decidi pasarlo a una function pero tampoco y lo devolvi al edi[i].onPress, aqui el codigo:

Código :

a = 0;
construir = false;
var edi:Array = new Array();
var edis:Array = new Array();
edi = [_root.menu1.bed0, _root.menu1.bed1];
edis = ["ed0", "ed1"];
for (i=0; i<edi.length; i++) {
   edi[i].onPress = function() {
      construir = true;
      onMouseDown = function () {
         if (construir == true) {
            a++;
            _root.attachMovie(edis[i], "e"+a, a);
            _root["e"+a]._x = _xmouse;
            _root["e"+a]._y = _ymouse;
            construir = false;
         }
      };
   };
}

como le puedo hacer, yo esperaba que fuera como en mi problema de arrays y botones(un post de hace poco U_U, que eran arrays que guardaban el nombre del boton, pero siempre trabajaba con esos nombres, ahora son 2 nombres que no se como puedo hacerlos que funcionen unidos :I)
Seria muy facil ponerle a cada boton un attachMovie, pero como dije no quiero volver a eso, :I se supone que ya soy semi pro, porque todavia toy preguntando U_U. Espero no haber parecido muy lecheer, supongo que mi codigo no debe estar muy lejos del bueno, eso espero U_U.
Gracias :)

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 08 Feb 2010 05:02 am
Bueno, moviendole vi que poniendolo en una function funcionaba mejor, pero no exactamente lo que quiero, ahora me crea a los 2 al mismo tiempo -_-, creo que eso es porque lo tengo dentro de un if(acabo acabo de ver como funciona realmente el for U_U) y pues si dentro del if me checa si construir es = true y si es asi va a atachear a edis[i] entonces a los 2 MCs y ahi mi pregunta como le hago porfa :I.

Código :

a = 0;
construir = false;
var edi:Array = new Array();
var edis:Array = new Array();
edi = [_root.menu1.bed0, _root.menu1.bed1];
edis = ["ed0", "ed1"];
for (i=0; i<edi.length; i++) {
   edi[i].onPress = function() {
      construir = true;
      construye(edis);
   };
}
function construye(build) {
   onMouseDown = function () {
      if (construir == true) {
         for (i=0; i<build.length; i++) {
            a++;
            _root.attachMovie(build[i], "e"+a, a);
            _root["e"+a]._x = _xmouse;
            _root["e"+a]._y = _ymouse;
            construir = false;
         }
      }
   };
}

Gracias :)

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 08 Feb 2010 05:20 pm
creo que estoy cerca U_U, estoy intentando quitar el nombre de _level0.menu1.bed para que el numero que me quede sea el numero del que voy a atachear, pero no funciona. :i como podre usar el split aqui :I todavia no le se bien, tambien intente con el substr pero no me funciono o no supe como usarlo.

Código :

a = 0;
construir = false;
var edi:Array = new Array();
var edis:Array = new Array();
edi = [_root.menu1.bed0, _root.menu1.bed1];
num = [];
var valor:String = new String();
edis = ["ed0", "ed1"];
for (i=0; i<edi.length; i++) {
   edi[i].onPress = function() {
      construir = true;
      num.push(this)
      valor = num[num.length-1];
      valor.split("_level0.menu1.bed");
      trace(valor);
      construye(valor);
   };
}
function construye(build) {
   onMouseDown = function () {
      if (construir == true) {
         a++;
         _root.attachMovie("ed"+build, "e"+a, a);
         _root["e"+a]._x = _xmouse;
         _root["e"+a]._y = _ymouse;
         construir = false;
      }
   };
}

o este con el substr :)

Código :

a = 0;
construir = false;
var edi:Array = new Array();
var edis:Array = new Array();
edi = [_root.menu1.bed0, _root.menu1.bed1];
num = [];
var valor:String = new String();
edis = ["ed0", "ed1"];
for (i=0; i<edi.length; i++) {
   edi[i].onPress = function() {
      construir = true;
      num.push(this)
      valor = num[num.length-1];
      valor.substr(-1);
      trace(valor);
      construye(valor);
   };
}
function construye(build) {
   onMouseDown = function () {
      if (construir == true) {
         a++;
         _root.attachMovie("ed"+build, "e"+a, a);
         _root["e"+a]._x = _xmouse;
         _root["e"+a]._y = _ymouse;
         construir = false;
      }
   };
}

es lo mismo, nadamas cambia substr o split U_U. En caso de que alguien quiera contestar U_U me podrian decir si hay una forma mejor, como lo dije arriba que por el numero de [i] que presione del otro array salga el mismo numero de elemento
osea

Código :

array1 = [btn1,btn2]
array2 = ["hola1","hola2"]

que en mi caso seria un attachMovie :I, se podra?
Gracias

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8

 

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