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

Movimiento sin interrupciones...

Estas en el tema de Movimiento sin interrupciones... en el foro de Flash y Actionscript en Foros del Web. Hola a todos y todas... Tengo una pequeña duda que no sé cómo solucionar: En una MC he hecho que tres barras se muevan según ...
  #1 (permalink)  
Antiguo 09/09/2004, 07:10
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 14 años, 3 meses
Puntos: 5
Movimiento sin interrupciones...

Hola a todos y todas...

Tengo una pequeña duda que no sé cómo solucionar:

En una MC he hecho que tres barras se muevan según se pase el ratón a través de el siguiente comando de AS:

on (rollOver) {
gotoAndPlay("over");
}
on (rollOut) {
gotoAndPlay("out");
}


El movimiento lo he logrado con un botón tranaparente en el que inserto el AS anteriormente mencionado.

El problema es que aparece la "manito blanca" como si se tratara de un botón (lógico porque he usado un botón) y el movimiento se interrumpe sin darme una continuación real.

Así:
1. Qué modo puedo utilizar para que el efecto se reproduzca sin necesidad de crear un botón y por tanto no salga la "manito blanca" que indica que existe un botón?

2. De qué manera, a través de AS puedo lograr que al pasar el ratón el movimiento se continue como en la realidad y no aparezca bruscamente el movimiento siguiente por el cambio de frames? (Quiero decir que si las barras se están moviendo y paso el ratón por encima de ellas, las barras adicionen ese nuevo "impulso", por así llamarlo, y no cambien el movimiento tan bruscamente).

Gracias por vuestros comentarios.

Saludotes!
__________________
Andrew :P
  #2 (permalink)  
Antiguo 09/09/2004, 11:19
 
Fecha de Ingreso: julio-2004
Mensajes: 114
Antigüedad: 13 años, 4 meses
Puntos: 0
botn transparente

esxplica un poco mas lo que tienes y lo que quieres
  #3 (permalink)  
Antiguo 09/09/2004, 13:35
Avatar de ¬...  
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 742
Antigüedad: 14 años
Puntos: 4
desde 0:
crea un movieClip con la animacion de la barrita, suponiendo que la animacion de ida empieza en el frame1 y termina en el frame 20, en el frame 40 la barrita esta en su posicion original (esto con motion tween)
ahora, en una layer arriba crea el boton y asignale un nombre de instancia, voy a usar el nombre 'boton' ahora en las acciones de este boton:
Código:
on(rollOver){
	play();
	encima=1;
}
on(rollOut, releaseOutside){
	encima=0;
}
las acciones para los frames 20 y 1=
Código:
if(!encima){//si no esta encima del boton
	stop();
}
__________________
'_'

...
  #4 (permalink)  
Antiguo 09/09/2004, 13:44
Avatar de ¬...  
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 742
Antigüedad: 14 años
Puntos: 4
hice este prototype function para que movas tus barras con AS, mas bonite:
pegale en el 1er frame:
Código:
MovieClip.prototype.mover=function(enx,eny){
	with(this){
		createEmptyMovieClip("eholder",1);
		eholder.onEnterFrame=function(){
	friccion=10;
	xx=enx-_x;
	yy=eny-_y;
	_x+=xx/friccion;
	_y+=yy/friccion;
		}
	}
}
el prototype lo podes aplicar a varias barras a la vez, tonces, ya que pegaste la funcion en el frame1, asignale nombre de instancia a los movieClips de las barras, aqui voy a usar :barra1 y barra2, en las acciones de los botones:
Código:
on(rollOver){
	barra1.mover(100,200);
}
on(rollOut, releaseOutside){
	barra1.mover(300,20);
}
si hay otra barra:
Código:
on(rollOver){
	barra2.mover(100,200);
}
on(rollOut, releaseOutside){
	barra2.mover(300,20);
}
__________________
'_'

...
  #5 (permalink)  
Antiguo 10/09/2004, 11:41
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 14 años, 3 meses
Puntos: 5
¬...

Gracias por tu amable disponibilidad para que desarrolle el modelo que deseo. Y desde luego gracias por regalarme un poco de tu tiempo para sacarlo de una manera más profesional a través de AS.

Desde luego la primera opción que me diste la desarrollé en mi proyecto y funcionó tal como quería (aunque buscaba un poco más de realidad en el movimiento, quiero decir que cuando algo pendular se mueve y le tocas en pleno movimiento este ejercerá una fuerza opuesta al objeto de tal manera que su movimiento cambia).

De cualquier manera esta primera opción me permite no cortar bruscamente el movimiento en el primer "roll over".

La segunda opción me parece interesante pero no entiendo bien algunas cosas:

1. "eholder" se refiere a un MC?
2. Cuando me hablas del primer frame te refieres a que debe ser un frame vacio y posteriormente las barras en MC que deseo mover?

Gracias por tus explicaciones.
__________________
Andrew :P
  #6 (permalink)  
Antiguo 10/09/2004, 18:02
Avatar de ¬...  
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 742
Antigüedad: 14 años
Puntos: 4
si, eholder es un clip vacio que..!! no inclui en el codigo que te di, pegale la linea que crea el clip vacio:
Código:
createEmptyMovieClip("eholder",1);//<-- me falto esta linea
MovieClip.prototype.mover=function(enx,eny){
	with(this){
		createEmptyMovieClip("eholder",1);
		eholder.onEnterFrame=function(){
	friccion=10;
	xx=enx-_x;
	yy=eny-_y;
	_x+=xx/friccion;
	_y+=yy/friccion;
		}
	}
}
este movieClip vacio sirve para que contenga el proceso onEnterFrame, es decir, este movieClip es el que va a calcular el movimiento de las barras cada 24 veces por segundo o la cantidad de fps que tenga el .fla
al decir primer frame, es el frame donde declaras variables y funciones que vas a usar, en el caso de las barras, puede estar en el mismo frame donde estan las barras en otra layer, en un frame vacio (para que este en orden), o en un frame antes a este frame donde estan las barras
__________________
'_'

...
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 04:08.