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

Movimeitno con AS

Estas en el tema de Movimeitno con AS en el foro de Flash y Actionscript en Foros del Web. Buenas tardes foristas. Yo tengo una animación de un elemento por el escenerio hecho con ActionScrip. Dicho elemento es un MC y dentro esta este ...
  #1 (permalink)  
Antiguo 11/10/2006, 15:21
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Pregunta Movimeitno con AS

Buenas tardes foristas.
Yo tengo una animación de un elemento por el escenerio hecho con ActionScrip.
Dicho elemento es un MC y dentro esta este code:

this.onEnterFrame = function() {
this._x -= 5;
};

Lo que yo busco es que este elemento se me detenga en la mitad del escenario y baje en "y" se detenga unos segundos y luego suba otra vez en "y" y siga su camino en "x".
Que debo agregarle para que se me cumpa este movimiento?
gracias por su ayuda
__________________
Diseñador Gráfico publicitario
  #2 (permalink)  
Antiguo 11/10/2006, 15:41
Avatar de DarkskullDA  
Fecha de Ingreso: julio-2006
Mensajes: 698
Antigüedad: 17 años, 9 meses
Puntos: 13
veo q en tu firma tienes mas-creatividad.com???

pero no veo q tengas muy buenas ideas XDDDD


es sencillo solo piensalo .... es casi lo mismo de codigo, solo unos if y listo

saludos ^^
__________________
Curso Desarrollo De Aplicaciones IFrame Para Facebook Conoce la Graph Api, Javascript/PHP SDK, Dialogos, Pestañas, entre otros.
  #3 (permalink)  
Antiguo 11/10/2006, 15:44
Avatar de DarkskullDA  
Fecha de Ingreso: julio-2006
Mensajes: 698
Antigüedad: 17 años, 9 meses
Puntos: 13
weno.. te ayudo un poco (pero piensale mas q es lo mas importante probar y probar ^^)

this.onEnterFrame = function() {
if(this._x<=300){
this._x -= 5;}
else{....}
};

solo es una ayudita pero no necesitas mas codigos q eso

saludos ^^
__________________
Curso Desarrollo De Aplicaciones IFrame Para Facebook Conoce la Graph Api, Javascript/PHP SDK, Dialogos, Pestañas, entre otros.
  #4 (permalink)  
Antiguo 11/10/2006, 16:10
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
ok DarkskullDa, se que no es dificil loque pasa es que no soy muy experto en AS.
Y no se como hacer que se detenga en un punto x en el eje x y que baje sobre el eje y.
__________________
Diseñador Gráfico publicitario
  #5 (permalink)  
Antiguo 11/10/2006, 20:17
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 9 meses
Puntos: 53
para sacar la mitad del esenario es algo asi:

var mitadY:Number = Stage.width/2;
var mitadX:Number = Stage.height/2;

una vez que tienes el punto medio, ahora compararias por cada iteracion la posicion actual del MC, si este esta a la mitad, entonces es hora de incrementar en el eje Y,luego pondrias la condicion de que regrese denuevo al punto central, luego seguirias incrementando en x

tu mismo has dicho el algoritmo solo te falta decircelo a la maquina mediante AS

have funnnnnnnnnnnn
  #6 (permalink)  
Antiguo 11/10/2006, 21:04
Avatar de DarkskullDA  
Fecha de Ingreso: julio-2006
Mensajes: 698
Antigüedad: 17 años, 9 meses
Puntos: 13
Rebisa esto ^^
Esper q te sirva
http://muela-blog.blogspot.com/2006/...ionscript.html

Saludos :D!
__________________
Curso Desarrollo De Aplicaciones IFrame Para Facebook Conoce la Graph Api, Javascript/PHP SDK, Dialogos, Pestañas, entre otros.
  #7 (permalink)  
Antiguo 12/10/2006, 11:01
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Foristas buenas buenas.
Como en el camino es que surgen las dudas aquí presento una duda que tengo:
yo le de movimeinto al MC. Ahora deseo que se me detenga unos segundo
en la posición x.

this.onEnterFrame = function() {
if (this._x>=400) {

//Aquí deseo que se me detenga unos segundos antes de que baje
//y la verdad he intentado varias formas las cuales no me sirven.

this._x -= 5;
} else if (this._x>=400) {
this._x += 5;
} else if (this._y<=300) {
this._y += 5;
}
};

gracias por su ayuda
__________________
Diseñador Gráfico publicitario
  #8 (permalink)  
Antiguo 13/10/2006, 06:38
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Alguien que se apiade de mi
__________________
Diseñador Gráfico publicitario
  #9 (permalink)  
Antiguo 18/10/2006, 08:46
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Que cosas. No logro detener X segundos el movimiento.
Porfavor alguien que me ayude con esto pues he intentado varias cosas y no logro.
Me gustaria que mas que me hicieran el codigo me enseñaran como se hace pues estoy estudiando AS y la verdad hay cosas que no logro entender bien.
gracias por su ayuda
__________________
Diseñador Gráfico publicitario
  #10 (permalink)  
Antiguo 18/10/2006, 09:57
Avatar de keegan  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 584
Antigüedad: 19 años, 7 meses
Puntos: 0
Hola, yo lo logre. Es medio tosco pero funciona! Te puse las variables en caja de texto en la pelicula para que veas como va cambiando.
Bajar Ejemplo By Keegan
Espero haberte sido de ayuda!
__________________
www.fanafalcon.com.ar
  #11 (permalink)  
Antiguo 18/10/2006, 14:19
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Hola keegan, muchas gracias
Voy a mirar tu ejercicio.
No sabes la ayuda que me has dado, creeme que no es pereza ni brutalidad, solo que AS es un lenguaje de mucho detalle el cual a mi se me ha dificultado, pero con muchas ganas de aprenderlo.
mucha suerte
__________________
Diseñador Gráfico publicitario
  #12 (permalink)  
Antiguo 18/10/2006, 14:43
Avatar de DarkskullDA  
Fecha de Ingreso: julio-2006
Mensajes: 698
Antigüedad: 17 años, 9 meses
Puntos: 13
hmm muy complicado el cogigo de keegan no creo q sea muy practico..

pruebalo si no te gusta lo hago yo en un rato

saludos ^^
__________________
Curso Desarrollo De Aplicaciones IFrame Para Facebook Conoce la Graph Api, Javascript/PHP SDK, Dialogos, Pestañas, entre otros.
  #13 (permalink)  
Antiguo 18/10/2006, 18:17
Avatar de keegan  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 584
Antigüedad: 19 años, 7 meses
Puntos: 0
Bueno che! era lo que se me ocurrio. Porque no lo pones directamente para facilitarle el tiempo a ceaped....
__________________
www.fanafalcon.com.ar
  #14 (permalink)  
Antiguo 19/10/2006, 10:02
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Si yo tambien deseo ver como lo hace DarkskullDa.
El movimiento que yo deseo es de un MC que se mueve de izquierda a derecha.
se detiene en la mitad del escenario unos segundos, luego baja en el eje "y" y luego vuelve a subir sobre el mismo eje "y". Despues sigue su trayecto sobre x
__________________
Diseñador Gráfico publicitario
  #15 (permalink)  
Antiguo 20/10/2006, 11:22
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
He logrado este movimiento y deseo que el MC se devuelva en "y" y que luego siga su trayecto en x

_root.globo_mc.onEnterFrame = function() {
if (_root.globo_mc._x>=362 & _root.globo_mc._y>=60) {
_root.globo_mc._x -= 10;
} else if (_root.globo_mc._x<=362 & _root.globo_mc._y<=200) {
_root.globo_mc._y += 10;
//aquí deseo que se devuelva a la posición en y=60 y cuando llegue a esa posición que siga
//su trayecto en x
}
};
__________________
Diseñador Gráfico publicitario
  #16 (permalink)  
Antiguo 23/10/2006, 07:52
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Alguien que me ayude con este tema?
gracias
__________________
Diseñador Gráfico publicitario
  #17 (permalink)  
Antiguo 23/10/2006, 12:50
 
Fecha de Ingreso: abril-2006
Mensajes: 1
Antigüedad: 18 años
Puntos: 0
detenerse segundos en un frame

hola, tus problemas se han acabado, en el fotograma que deseas que se detenga por x segundo pones este código

stop();
segundos = 5;
espera = function () {
play();
clearInterval(a);
};
a = setInterval(espera, segundos*1000);

en este caso, los segundos son 5, pero lo modificas y listo.

Sabatico
  #18 (permalink)  
Antiguo 23/10/2006, 13:00
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
mmm holla sabatico.
No no me sirve esta función pues la programación la tengo toda en el 1 fotograma y no estoy empleando interpolaciones.
Lo que yo busco esque se meva un MC sobre el eje x que llegue a un punto del escenario que luego baje sobre y. Que luego se devuelva sobre el mismo eje y, y que siga su trayecto sobre el eje x.
__________________
Diseñador Gráfico publicitario
  #19 (permalink)  
Antiguo 23/10/2006, 13:44
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Hola ceaped!


Bueno, creo que si utilizas la clase Tween vas a obtener mejores resultados y un mayor control sobre tu animación, al principio vas a decir y para que tanto código si lo que quiero en pocas líneas se puede hacer, pues cuando creas un objeto tween, al constructor se le pasan los siguientes parámetros y este conlleva varias ventajas:

1.- La referencia a la instancia del movie clip.
2.- La propiedad que quieres modificar del movie clip.
3.- La referencia al método estático de alguna clase que esta en el paquete mx.transitions.easing ( estos metodos son varios y cada uno es un tipo de animación por ejemplo bounce, elastic, etc... )
4.- Valor Inicial de la propiedad que especificaste en el punto 2.
5.- Valor Final de la propiedad que especificaste en el punto 2.
6.- Segundos que va a durar la animación.
7.- Booleano (true o false) que indica si el tiempo que especificaste en el punto 6 es en milisegundos o segundos, true indica que es en segundos.

Y aún más, cada objeto que crees de tween, tiene un evento que se dispara cada vez que acaba la animación ( onMotionFinished ), te dejo un ejemplo de un circulo que se mueve formando un rectangulo, solo crea un circulo y lo haces movie clip y le pones como nombre de instancia "ball":

Código:
import mx.transitions.Tween;

var $mc_ref:MovieClip = this.ball;
var $mov_func_ref:Function = mx.transitions.easing.None.easeNone;

function startAnimation():Void
{
var $tween_ref_1:Tween = new Tween($mc_ref, "_x", $mov_func_ref, $mc_ref._x, $mc_ref._x + 200, 2, true);

$tween_ref_1.onMotionFinished = function():Void
{
	var $tween_ref_2:Tween = new Tween($mc_ref, "_y", $mov_func_ref, $mc_ref._y, $mc_ref._y + 100, 1, true);
	
	$tween_ref_2.onMotionFinished = function():Void
	{
		var $tween_ref_3:Tween = new Tween($mc_ref, "_x", $mov_func_ref, $mc_ref._x, $mc_ref._x - 200, 2, true);
		
		$tween_ref_3.onMotionFinished = function():Void
		{
			var $tween_ref_4:Tween = new Tween($mc_ref, "_y", $mov_func_ref, $mc_ref._y, $mc_ref._y - 100, 1, true);
			
			$tween_ref_4.onMotionFinished = function():Void
			{
				startAnimation();
			};
			
		};
		
	};
	
};

}

startAnimation();
Si quieres una animación como de bouncing tan solo cambía esta línea por esta:

Código:
var $mov_func_ref:Function = mx.transitions.easing.None.easeNone;

cambiala así:

var $mov_func_ref:Function = mx.transitions.easing.Bounce.easeOut;
Un saludo!
  #20 (permalink)  
Antiguo 23/10/2006, 14:40
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
gracias por tu ayuda. Mucha suerte
__________________
Diseñador Gráfico publicitario
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 03:00.