Comunidad de diseño web y desarrollo en internet online

¿Actualizar linea de codigo? attachMovie

Citar            
MensajeEscrito el 26 Feb 2007 07:23 pm
Hola, soy nuevo por aqui aunque ya habia visitado el foro desde hace tiempo.
Mi duda es esta, tengo un codigo que he ido aislando el problema y pienso que al final es esta linea la qu eno funciona

Código :

    var menuitem = menuholder.attachMovie("bot" + i, "menu" + i, i);


Funciona bien cuando publico en la version 6 del player, pero no pasa igual en la version 8
¿Cual puede ser el problema? Gracias de antemano por la respuesta.

Saludos

Por r0dr160

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Feb 2007 07:54 pm
Esa línea debería funcionar bien. De flash 6 a 7 cambian muchas cosas, por ejemplo hay que declarar las variables antes de usarlas, busca alguna que tenga el valor Nan o undefined y allí estará el problema...

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 26 Feb 2007 08:39 pm

Código :

//menuholder = (cargador, -1);
menuholder = createEmptyMovieClip("menuholder", -1);
menuholder._y = centery;
//menucount = 4;
menuitems = [];
miwidth = 20;
miborder = 20;
startx = centerx - (4 - 1) * (miwidth + miborder) / 2;
var i = 0;
while (i < 4)
{
    var menuitem = menuholder.attachMovie("bot" + i, "menu" + i, i);
    menuitem._x = startx + i * (miwidth + miborder);
    menuitem.id = i;
    //menuitem.onRollOver = function ()
   // {
    //    _root.selected = this;
   // };
  //  menuitems.push(menuitem);
    i++;
} // Fin while


Esto seria el codigo completo aunque ya le he movido tanto que no se, jaja.

Por r0dr160

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Feb 2007 09:38 pm
Haz un trace de menuitem dentro del while, y también de las variables que controlan la posición: startx, minwidth... apuesto a que alguna no está declarada.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 26 Feb 2007 09:59 pm
El trace me dice esto:

undefined
_level0.instance2.menuholder.menu0
_level0.instance2.menuholder.menu1
_level0.instance2.menuholder.menu2
¿Ahora que hago? lo que hace el codigo es que remplaza siempre el ultimo boton que carga... segun entiendo, por eso al final solo se ve un boton, el ultimo.
Gracias por la respuesta :D

Por r0dr160

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 26 Feb 2007 10:02 pm
Mmmm muestra el código completo. Tendrás que solucionar ese undefined...

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 26 Feb 2007 10:04 pm

Código :

//menuholder = (cargador, -1);
menuholder = createEmptyMovieClip("menuholder", -1);
menuholder._y = centery;
//menucount = 4;
menuitems = [];
miwidth = 20;
miborder = 20;
startx = centerx - (4 - 1) * (miwidth + miborder) / 2;
var i = 0;
while (i < 4)
{
trace (menuitem);

   var menuitem = menuholder.attachMovie("bot" + i, "menu" + i, i);
    menuitem._x = startx + i * (miwidth + miborder);
    menuitem.id = i;
    //menuitem.onRollOver = function ()
   // {
    //    _root.selected = this;
   // };
  //  menuitems.push(menuitem);
    i++;
} // Fin while
/*onEnterFrame = function ()
{
    var width = 0;
    var _l1 = 0;
}
    while (_l1 < menucount)
    {
        var _l2 = menuitems[_l1]._xmouse;
        var yym = menuitems[_l1]._ymouse;
        var _l3 = Math.sqrt(_l2 * _l2 + yym * yym);
        if (_l3 < 50)
     {
            menuitems[_l1]._xscale = menuitems[_l1]._yscale = menuitems[_l1]._yscale + (100 - _l3 - menuitems[_l1]._yscale) / 4;
        }
        else
        {
            menuitems[_l1]._xscale = menuitems[_l1]._yscale = menuitems[_l1]._yscale + (50 - menuitems[_l1]._yscale) / 4;
        } // Fin de
        width = width + menuitems[_l1]._width;
        _l1++;
    } // Fin while
    width = width + (menucount - 1) * miborder;
    var xpos = Math.round(centerx - width / 4);
    _l1 = 0;
    while (_l1 < menucount)
    {
        xpos = xpos + (menuitems[_l1 - 1]._width / 3 + miborder + menuitems[_l1]._width /4);
        menuitems[_l1]._x = xpos;
        _l1++;
    } // Fin while
};
*/


Asi es todo

Por r0dr160

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Feb 2007 04:25 pm
Te faltaba definir las variables centerx y centery:

Código :

//menuholder = (cargador, -1);
centerx = 300;
centery = 200;
menuholder = createEmptyMovieClip("menuholder", -1);
menuholder._y = centery;
//menucount = 4;
menuitems = [];
miwidth = 20;
miborder = 20;
startx = centerx-(4-1)*(miwidth+miborder)/2;
trace(startx);
var i = 0;
while (i<4) {
   var menuitem = menuholder.attachMovie("bot"+i, "menu"+i, i);
   trace(menuitem);
   menuitem._x = startx+i*(miwidth+miborder);
   menuitem.id = i;
   //menuitem.onRollOver = function ()
   // {
   //    _root.selected = this;
   // };
   //  menuitems.push(menuitem);
   i++;
}

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 27 Feb 2007 04:34 pm
De verdad muchas gracias, lo probare y ya comunicare mis resultados :D

SALUDOS y de nuevo, gracias

Por r0dr160

3 de clabLevel



 

firefox

 

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