Diseño Web /

[Flash] Menu en Flash

Participa en el tema [Flash] Menu en Flash en el foro Diseño Web.
Holas a todos.. le traigo una duda que tengo y que para ustedes debe ser ...

Buscar en este tema:
1 2 >
 
  •  
    #1 Menu en Flash
    Holas a todos.. le traigo una duda que tengo y que para ustedes debe ser una pavada.. no se como se llama en flash me imagino que es un menu.. que tiene movimiendo de arriba hacia abajo y cuando se pone el mouse arriba se detiene... voy a tratar de adjuntar el ejemplo o sino lo linkeo a alguna web... si tiene el manual o un tutorial por algun lado de como se hace con esto y las AS desde ya muchas gracias.. el ejemplo lo saque de la pagina de telefe aca tambien paso a mostrar lo que pude sacar con el swf descompiler

    Esto seria el principal digamos

    // Action script...

    // [onClipEvent of sprite 1 in frame 1]
    onClipEvent (load)
    {
    percent_increment = 0.075000;
    addstrip2 = false;
    }

    onClipEvent (enterFrame)
    {
    this._y = this._y + (_root._ymouse - 20) * percent_increment;
    if (this._y >= 0 && this._y >= -this._height)
    {
    if (addstrip2 == false)
    {
    this.duplicateMovieClip("strip2", 1);
    addstrip = true;
    } // end if
    _root.strip2._y = this._y + this._height - 1;
    _root.strip2._x = this._x;
    } // end if
    if (this._y >= -this._height)
    {
    this._y = _root.strip2._y + this._height - 1;
    } // end if
    if (this._y < 0 && this._y < this._height)
    {
    if (addstrip2 == false)
    {
    this.duplicateMovieClip("strip2", 1);
    addstrip = true;
    } // end if
    _root.strip2._y = this._y - this._height + 1;
    _root.strip2._x = this._x;
    } // end if
    if (this._y >= this._height)
    {
    this._y = _root.strip2._y - this._height + 1;
    } // end if
    }
    Esto cada uno de los botones

    // Action script...

    on (release)
    {
    getURL("http://www.operaciontriunfo.terra.com.ar", "_blank");
    }
    Pero no entiendo nada como es el orden ni nada por eso necesito el tutorial desde ya muchas gracias repito chau suerte.. Tute


    PD: Adjunto el SWF para que vean el ejemplo.. esta en un zip. para vos Panchita
    Archivos adjuntos
    Tipo de archivo: zip sitios.zip (14.8 KB, 65 vistas)
    +
     
    0
    Me gusta
     
    | Más
  • #2

    jajajaja.. matute.. ahora lo bajo.. igual lo gracioso es que tengo el winzip, winace, winrar y el stuff it.. pero no lograba descomprimir los formatos rar pero no se porque.. reinstale el winrar y ahora me funciona bien asique .zip.. .rar .. .sit .. . ace.. lo que venga manden que puedo abrir todo

    igual con el action que veo.. te explico lo que yo entiendo pero no se si esta bien.. supongo que la Polaca despues va a venir y me va a corregir en casi todo y explicarte bien porque ella es la guru de esto

    // Action script...

    // [onClipEvent of sprite 1 in frame 1]
    onClipEvent (load)
    {
    percent_increment = 0.075000; <---- esto lo hace para un redondeo para arriba me parece.. no creo que tenga gran incidencia.. solo incide y lo deben haber hecho para que no parta del porcentace 0 porque al multiplicar 0* lo que sea.. siempre daria 0.. de esa manera se asegura que al * nunca de 0 y sirva de algo todo el codigo.. sino quedaria en 0.. estatico por otro lado si le ponen un valor muy alto.. el moviemiendo seria gigante y deben querer que se mueva despacio )
    addstrip2 = false;
    }

    onClipEvent (enterFrame)
    {
    this._y = this._y + (_root._ymouse - 20) * percent_increment;
    if (this._y >= 0 && this._y >= -this._height) <---- en action el tema es asi: objeto._propiedad=valor.. o sea... (en tu primer linea) tu objeto es this ... this se usa para hablar del movie al que le estas aplicando el codigo ..... ._y es la propiedad.. las coordenadas en "y"... y tu valor es toda esa formula.. fijate que la formula contiene la parte inicial y a eso le agrega algo (+ (_root._ymouse - 20) * percent_increment ) el + es que le suma... el (_root._ymouse - 20) lee las coordenadas de tu mouse en "y" y le resta 20 a esas coordenadas (esos 20 debe ser la distancia que hay entre el centro del movieclip hasta donde termina.. se me ocurre.. onda.. el movieclip es probable que mida 40 o sino es solo para mantenerlo en un margen.. que el numero no sea tan grande) y el * percent_increment es el numero que tenias arriba 0.075000 .. o seaaa.. eso hace que el valor en "y" del movie sea similar al de tu mouse.. va a ir cambiando y aumentando por cada vez que lo muevas para arriba y va a ir disminuyendo por cada vez que lo muevas para abajo.. peroo.. si vos lo moves muy abajo eso cambia... ya si lo moves a 20 en "y" estas en el limite de que cambie.. en 19,algo debe ser que ya pasa a funcionar el if.. el primero.. el que esta abajo de la linea que intento explicar ese if dice que si la formula da 0 o menos de cero pase algo y tambien dice que si el valor de la formula da negativo la altura del movie (para mi es 40.. que haga algo.. ese algoooo es lo que viene abajo de esto


    {
    if (addstrip2 == false)
    {
    this.duplicateMovieClip("strip2", 1); <---- y aca es donde me maree yo tambien y esperamos todos a que la guru Polaca venga a explicarnos a todos.. jajaja.. basicamente duplica el movieclip strip2 y lo que sigue abajo habla del valor en "y" de strip2 que varia segun la altura.. pero bue.. esperemos mejor a alguien que explique mejor.. jajaja


    addstrip = true;
    } // end if
    _root.strip2._y = this._y + this._height - 1;
    _root.strip2._x = this._x;
    } // end if
    if (this._y >= -this._height)
    {
    this._y = _root.strip2._y + this._height - 1;
    } // end if
    if (this._y < 0 && this._y < this._height)
    {
    if (addstrip2 == false)
    {
    this.duplicateMovieClip("strip2", 1);
    addstrip = true;
    } // end if
    _root.strip2._y = this._y - this._height + 1;
    _root.strip2._x = this._x;
    } // end if
    if (this._y >= this._height)
    {
    this._y = _root.strip2._y - this._height + 1;
    } // end if
    }
    Esto cada uno de los botones

    // Action script...

    on (release)
    {
    getURL("http://www.operaciontriunfo.terra.com.ar", "_blank"); <---- esto es facil.. cuando apretaste un boton.. al soltarlo te abre la pagina esa

    }
    y esa fue la poco simplificada, confiable y entendible explicacion que puedo darte.. jajaja ahora miro el archivo
    Me gusta este mensaje
  • #3

    qué guru! naaaa! jajajaaaa.......!!! estoy analizando un poco esto mientras sigo lidiando con la conexion! aggggrrrr...
    Acabo de bajar el ejemplo...asi que lo miro un poco más...y vuelvo....

    A simple vista...por el code...strip2 es el nombre del nuevo mc (el duplicado de stip1 sería, y 1 el orden z) que solamente se duplicará cuando se cumpla esa condición....pero mejor......
    a ver..... que lo abro...

    Ya vuelvo!
    Me gusta este mensaje
  • #4

    Panchita !!! Polaca !!!! siempre para ayudar a los novatos como yo.. Gracias por todo.. ahora veo si puedo hacerlo andar.. pero por ahora no puede avanzar mucho.. necesitaria un .fla como ej o tutorial :S y lo peor de todo es que falta mucho para q aprenda flash en la facu... le mando un enorme beso a las mujeres mas linda del foro... y espero que sigan tan atentas como siempre... que las lastima que no se le pueda dar premios a los admins :S pero la verdad ustedes se merecen uno hace rato.. un abrazo y espero los avances de la Polaca chau suerte
    Me gusta este mensaje
  • #5

    Mucho no se puede decir, las explicaciones de panchita y polaca son correctas. Lo unico k no entiendo es lo complicado del codigo....por lo k veo del .swf es un menu con scroll infinito en Y. Conozco formas de hacerlo mas facil, bueno, en realidad de una forma k entiendo mejor e igual de efectiva.
    Me gusta este mensaje
  • #6

    bueno pichilandia me harias un gran favor pasandome un .fla o un tuto sobre el tema desde ya muchas gracias
    Me gusta este mensaje
  • #7

    el .fla no lo puedo subir ahora (sigo en el laburo) y el archivo no lo puedo sacar de aca. Pero cuando llegue a casa subo un .fla adaptado...
    Me gusta este mensaje
  • #8

    como lo prometido es deuda...aca subo el .fla
    Es un scroll infinito muy simple. Tendran k disculpar la desprolijidad del "diseño" pero lo hice rapidito. Pero si ves la ventana de acciones ahi explico qué es lo k hace cada linea.
    Y si tenes mas dudas variá los valores, asi vas a ver lo k hace cada uno.
    Espero k sea de ayuda.
    Archivos adjuntos
    Tipo de archivo: zip scroll.zip (4.4 KB, 41 vistas)
    Me gusta este mensaje
  • #9

    Bueno muchas gracias ahora lo veo.... y si entiendo todo todo me hago un mini tutorial.. Gracias en serio..
    Me gusta este mensaje
  • #10

    Bueno, hace varios días que vengo con algunos problemas con mi ISP y por eso no pude postear antes (se me corta mucho la conexión y ya van varias veces que intenté subir estos archivos, y nada.... Se me cortaba muientras editaba, mientras subía, y si subía el archivo, la página no se me actualizaba nunca, buah...en fin...)

    Pasando al tema en concreto:

    Al ejemplo inicial de MATUTE[HDK], traté de reproducirlo lo más idénticamente posible, pero con el código, no le pude encontrar la vuelta. No entiendo como termina de funcionar en el swf que enviaste, y qué es lo que me está faltando acá en la versión que yo armé, seguro que estoy perdiendome algo... (tampoco me aparce en el sothink.... je... hasta lo instalé y miré bien cuales eran las dimensiones de la imágen para ver si funcionaba igual, pero nop.)
    La idea de este ej. es duplicar el mc strip (con nombre de intancia strip) que está en el escenario, con ese código, pero siempre y cuando se cumpla la condición relativa a la posición del mouse en el eje Y (_ymouse). O sea, duplicar a strip, en tanto y en cuanto, strip2 NO esté ya duplicado, para eso es que se usó el segundo condicional if: addstrip==false: es el que comprueba la igualdad, o sea, si strip2 ya fue duplicado o no.

    Pero también es cierto lo que dice pichilandia: porque hay formas más fáciles de hacerlo, así que armé algo similar. Si mi ISP se da el lujo de permitirmelo...acá mismo dejo los dos ej! :fuego: :fuego:


    Paso a explicar como lo hice: Simplemente, armé 6 botones; un movie clip con esos 6 botones dentro y a su vez, a este mc interno, le puse el mismo mc pero abajo.
    En la línea de timepo principal, le puse las sig. acciones al mc en forma directa (es decir, sin darle nombre de instancia, ni tampoco en capa aparte para las acc.)

    Código:
    onClipEvent (load) {
        // acá pongo el centro _y de la peli, que sería 45 px 
        //porque es de 90 de ancho y abajo declaré la variable 
        //para la velocidad, eso es a gusto.
        ycentro = 45;
        velocidad = 1/10;
    }
    onClipEvent (enterFrame) {
        //acá definí una variable local, por si uso este nombre para  
        //otra cosa, aunque no es el caso
        var distancia = _root._ymouse-ycentro;
        _y += (distancia*velocidad);
        //y acá están las condiciones para que se mueva mi mc, 
        //o sea, si _y es mayor a cero, _y será igual a -241 que 
        // es lamitad del alto de mi mc, o sea 482 px. Igual para el  
       // casoque _y sea menor a -241: mi eje _y pasa a estar en cero
        if (_y>0) {
            _y = -241;
        }
        if (_y<-241) {
            _y = 0;
        }
    }
    

    Bueno, espero que sea claro...y si alguien le encuentra la vuelta al caso de sitios.swf, que avise y chifle! =)

    Y de paso aprovecho para ver si puedo descargar el que puso pichilandia, y aprender del suyo también.
    Saludos a todos!
    =)
    Archivos adjuntos
    Tipo de archivo: zip scroll-menu-files.zip (52.2 KB, 36 vistas)
    Me gusta este mensaje
1 2 >


Estadísticas del tema
  • 10 RESPUESTAS
  • 1974 VISTAS
  • 5 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB