Foros del Web » Creando para Internet » Flash y Actionscript »

Problemas con un Boton.

Estas en el tema de Problemas con un Boton. en el foro de Flash y Actionscript en Foros del Web. Hola gente.. Tengo el siguiente problema.. TEngo mis botones de la web, cada uno va a suy correspondiende zona.. Home, contacto, etc. Cuando yo ubico ...
  #1 (permalink)  
Antiguo 24/09/2009, 23:21
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 1 mes
Puntos: 1
Exclamación Problemas con un Boton.

Hola gente..

Tengo el siguiente problema..

TEngo mis botones de la web, cada uno va a suy correspondiende zona..
Home, contacto, etc.

Cuando yo ubico el mouse sobre el boton. Se ejecuta un clip de pelicula, o movie clip, como queiran.

Voy a intentar explicarlo lo mas facil que pueda.


Supongamos que el boton esta ubicado en la posicion X=30 Y=30

Y cuando yo ubico el mouse sobre el boton(SIN HACER CLICK) se ejecuta el clip de pelicula en la posicion X=60 Y= 60

El boton funciona perfecto..si ubico el mouse en la posicion X=30 Y=30..aparece el movie clip.

Pero el problema esta cuando yo ubico el mouse en la posicion x=60 y=60.
Cuando ubico el mouse en el lugar donde aparece el movieclip, este aparece como si estaria el mouse sobre el boton.

Es lógico que aparezca..porque yo estoy poniendo el movieclip dentro del boton. Por ende el boton toma las zonas de x=30 y=30 y de x=60 y=60

Para que se saquen las dudas..hice un archivo para que puedan ver que es lo que me pasa.

xxmrbrightsidexx.com/webpage/boton.swf

Pero quisiera una solucion a eso. Yo quiero que cuando ponga el mouse sobre el boton me salga una animacion en otra ubicación.

Les agradeceria una solucion xD

Saludos.
  #2 (permalink)  
Antiguo 25/09/2009, 00:02
Avatar de pollorojo1  
Fecha de Ingreso: septiembre-2009
Mensajes: 30
Antigüedad: 14 años, 7 meses
Puntos: 3
De acuerdo Respuesta: Problemas con un Boton.

hola loko! por supuesto que cuando pases el mouse por la zona del movie clip vas a aparecer, por que ese movie clip integra el boton en si, osea que forma parte de un estado del boton.

Lo que tenes que hacer es que ese boton controle un movieclip mediante actionscript.

crea un Movie clip vacio (MC_btanim) > dentro de este crea un boton en el frame 1 en la capa 1. > crea otra capa y en el frame uno pone el movie clip con nombre de instancia, yo lo voy a llamar (MC_anim), que va a contener lo que queres mostrar.

ahora tendrias que tener esto :

ROOT(pelicula principal) > MC_btanim
>MC_anim
>boton
Esto seria la estructura.

Ahora dentro del MC_anim podes poner una animacion que dure 10 frames, por ej, en el primer fotograma dentro de este movie clip pone stop();. Y en el ultimo pones stop();.

Ahora dentro de MC_btanim selecciona el boton, (no lo abras), y le pones este codigo al boton:

//indica si se pasa el mouse por ensima.
on (rollOver) {
//Le decimos que entre al "MC_anim" y realize esta funcion.
MC_anim.onEnterFrame = function () {
//Si, el frame en que esta el "MC_anim", es diferente a 15, que valla al frame siguiente, y hasta que tope con el stop(); que //pusimos adentro.
if (this._currentframe != 15) {
this.nextFrame();
}.
//sino, que se detenga, y borre la funcion.
else {
this.stop();
delete this["onEnterFrame"];
}
}
}
//Cuando saquemos el cursor de arriba, del boton.
on (rollOut) {
//Entremos al movieclip, y ocurra esta funcion.
MC_anim.onEnterFrame = function () {
//Si, el frame del MC es distinto a 1, que este valla para el frame 1(de vuelta al principio).
if (this._currentframe != 1) {
this.gotoAndStop(1);
}
//Sino que borre la funcion anterior.
else {
this.stop();
delete this["onEnterFrame"];
}
}
}


Eso es todo espero que te haya servido, y a todos los que hayan tenido este problema.

Siempre hay que compartir conocimientos.

Última edición por pollorojo1; 25/09/2009 a las 00:03 Razón: Correcion de errores tipograficos
  #3 (permalink)  
Antiguo 25/09/2009, 00:35
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Problemas con un Boton.

Gracias por el dato pollorojo...
Pero tengo el siguiente problema que no detalle hoy...

Estoy haciendo en AS3..

Voy a intentar adaptar tu codigo a AS3.

Si vos lo tenes a mano..te lo agradeceria..ya que no tengo mucho conocimiento de as, estoy en mis comienzos xD

Gracias.
  #4 (permalink)  
Antiguo 25/09/2009, 01:06
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 14 años, 7 meses
Puntos: 22
Respuesta: Problemas con un Boton.

Si tienes algún problema en la migración puedes preguntar aquí mismo...

Yo lo que haría sería simplemente que cuando el mouse estuviera en el botón 1 le diera un

addChild(laSegundaPeli);

y al hacer ROLL_OUT le daría

removeChild(laSegundaPeli);

Creo que es lo más sencillo. Así cuando pases por (60,60) la segunda peli no existe y no tendrás ese problema

Un saludo.
Eskombro.
  #5 (permalink)  
Antiguo 25/09/2009, 01:18
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Problemas con un Boton.

Hola de nuevo...
Estuve intentando q el codigo funcione para as3....Con respecto a el boton y el movieclip...Segui los pasos de pollorojo.
El movieclip que ejecuta el boton tiene 10 frame's ..y tiene "stop()" al een el frame 1 y ene el frame 10.
Les muestro el codigo que hice para el botón..diganme que esta mal..porq no funciona aun :S

Boton_bt es el nombre de instancia del botón.

Código PHP:
Boton_bt.addEventListener(MouseEvent.MOUSE_OVER,over);
Boton_bt.addEventListener(MouseEvent.MOUSE_OUT,out);

 
function 
over(e:MouseEvent):void{
    
MC_anim.enterFrame = function () {
        if (
this._currentframe != 10) {
        
this.nextFrame();
        }
//sino, que se detenga, y borre la funcion.
        
else {
            
this.stop();
            
delete this["enterFrame"];
        }
    }
}


function 
out(e:MouseEvent):void{//Cuando saquemos el cursor de arriba, del boton.
    
MC_anim.enterFrame = function () {//Si, el frame del MC es distinto a 1, que este valla para el frame 1(de vuelta al principio).
        
if (this._currentframe != 1) {
            
this.gotoAndStop(1);
        }
//Sino que borre la funcion anterior.
        
else {
            
this.stop();
            
delete this["enterFrame"];
        }
    }


Desde ya gracias xD
  #6 (permalink)  
Antiguo 25/09/2009, 01:30
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 14 años, 7 meses
Puntos: 22
Respuesta: Problemas con un Boton.

1.Cambia MOUSE_OVER por ROLL_OVER y MOUSE_OUT por ROLL_OUT

2. MC_anim.enterFrame = function () { - Esto no sirve. Si quieres una función de ENTER_FRAME tienes que crear un listener diferente. Un listener (Event:ENTER_FRAME, función) y a la funcion le das (e:Event);
En todo caso estas intentando crear una función dentro de otra función que para este caso no sirve para nada, y el código tampoco sirve en AS3. Borra ese codigo y la llave que lo cierra...

3._currentFrame en AS3 se escribe solo currentFrame sin el guion bajo

4.this.nextFrame(); sería this.gotoAndPlay(currentFrame++);, pero no es necesario ponerlo así, porque te tocaría tener esa función ENTER_FRAME. puedes darle sencillamente this.play() si tiene un stop(); en el fotograma 10;

5.delete this["enterFrame"]; Esto no sirve porque llamas a la función que debes borrar.

6. Lo mismo para MC_anim.enterFrame = function () { que en el punto 2


Este código me parece que está muy complicado para la función que quieres hacer, que es muy sencilla. y además, no estoy seguro de que te solucione el problema de pasar por (60,60)

Última edición por Eskombro; 25/09/2009 a las 01:45
  #7 (permalink)  
Antiguo 25/09/2009, 01:48
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Problemas con un Boton.

MUCHAS GRACIAS POR TODO...

Creia que no iba a lograrlo xD


ME quedo mucho mas simple el codigo..
Tan solo le indiqué que se vaya al Movieclip y cuando sale se va al principiop..
Muestro el codigo por si alguna persona lo necesita xD

Código PHP:

boton_bt
.addEventListener(MouseEvent.ROLL_OVER,over);
boton_bt.addEventListener(MouseEvent.ROLL_OUT,out);

 
function 
over(e:MouseEvent):void{
        
MC_anim.gotoAndPlay(2);
        
}


function 
out(e:MouseEvent):void{
        
MC_anim.gotoAndPlay(1);




MUCHAS GRACIAS DE VERDAD.

Saludos.
  #8 (permalink)  
Antiguo 25/09/2009, 01:52
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 14 años, 7 meses
Puntos: 22
Respuesta: Problemas con un Boton.

Y no te pasa nada si pasas por el punto donde está el movieclip 2?
Me alegra que finalmente lo resolvieras!!!
  #9 (permalink)  
Antiguo 25/09/2009, 02:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Problemas con un Boton.

Nono...no pasa nada...

El movieclip solo se activa cuando me posiciono sobre el boton.

Cuando me posiciono sobre el boton..le digo q vaya al frame 2 del movieclip..q de ahi empieza a ejecutarse las imagenes.
Y cuando salgo..pongo q vaya al principio...que obviamente el frame 1 tiene "stop()" al igual que el frame 10 cuando se ejecuta.


Saludos.
  #10 (permalink)  
Antiguo 25/09/2009, 14:44
Avatar de pollorojo1  
Fecha de Ingreso: septiembre-2009
Mensajes: 30
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Problemas con un Boton.

no sabia que lo estabas haciendo en AS3, por eso te pase ese codigo. salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:39.