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

rotacion de mc

Estas en el tema de rotacion de mc en el foro de Flash y Actionscript en Foros del Web. Hola, estoy haciendo una animacion con un menu superior que cada vez que se presiona una opcion, el mc inferior rota y se ubica en ...
  #1 (permalink)  
Antiguo 11/08/2009, 09:10
 
Fecha de Ingreso: abril-2001
Ubicación: Puerto Montt
Mensajes: 89
Antigüedad: 23 años, 7 meses
Puntos: 1
rotacion de mc

Hola, estoy haciendo una animacion con un menu superior que cada vez que se presiona una opcion, el mc inferior rota y se ubica en la posicion que corresponde, dejando en la parte superior lo relativo al vinculo presionado, dentro del mc inferior tengo un hexagono donde cada lado corresponde a un vinculo, hasta ahi todo bien, pero uso el siguiente codigo en cada item del menu superior:

on (release) {
_root.hexagono._rotation = 60;

}

donde el valor 60 corresponde al grado de rotacion en ese vinculo, en el siguiente sera 120, luego 180 y asi... eso funciona, pero la rotacion "salta" de una lado del hexagono a otro, lo que yo quiero es que gire a una velocidad X y que se vea el movimiento giratorio, alguien sabe como hacerlo que me pueda hechar una mano?
Gracias
  #2 (permalink)  
Antiguo 11/08/2009, 09:35
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: rotacion de mc

No entendi muy bien pero si quieres que tu clip se mueva cada 60 grados seria asi:

Cita:
on (release) {
_root.hexagono._rotation += 60;

}

ó asi:

Cita:
on (release) {
new mx.transitions.Tween(_root.hexagono, "_rotation", mx.transitions.easing.Elastic.easeOut, _root.hexagono._rotation , _root.hexagono._rotation + 60, 3, true);


}
__________________
{ Flash }
  #3 (permalink)  
Antiguo 11/08/2009, 10:21
 
Fecha de Ingreso: abril-2001
Ubicación: Puerto Montt
Mensajes: 89
Antigüedad: 23 años, 7 meses
Puntos: 1
Respuesta: rotacion de mc

a ver, primero gracias por tu respuesta, pero tengo dos problemas, la segunda opcion seria lo mas parecido a lo qeu necesito, sin embargo, no logro controlar el giro, primero que me di cuenta que aunque use el codigo que estaba usando al principio, no me toma como centro giratorio el centro del mc, sino (creo) que me toma la esquina superior izquiera, lo cual ya es un problema, tendria que reubicar el mc con las posiciones X y Y para que se ubique correctamente,
segundo con el codigo que tu me envias gira, pero cada vinculo no tiene una posicion unica, sino que me suma 60º cada vez qeu apreto el mismo boton, yo quiero que cada parte del hexagono corresponda especificamente a una posicion exacta... no se si me explico
  #4 (permalink)  
Antiguo 11/08/2009, 10:54
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: rotacion de mc

El punto de registro lo debes cambiar al centro ya se de forma manual ó con codigo y para hacerlo con codigo tienes que leer esto: http://www.darronschall.com/weblog/2...n-with-as2.cfm ya que hasta ahora no hay otra forma.

Para lo segundo si es que te entendi, en un fla nuevo crea un hexagono y ponle con nombre de instancia hexagono y sobre el coloca esto:


Cita:
on (release) {
import mx.transitions.Tween;
import mx.transitions.easing.*;

_root.hexagono.enabled = false;
var ball_tween:Tween = new Tween(_root.hexagono, "_rotation", Regular.easeIn, _root.hexagono._rotation, _root.hexagono._rotation+60, 1, true);

ball_tween.onMotionFinished = function() {
_root.hexagono.enabled = true;

};

}
__________________
{ Flash }
  #5 (permalink)  
Antiguo 11/08/2009, 11:39
 
Fecha de Ingreso: abril-2001
Ubicación: Puerto Montt
Mensajes: 89
Antigüedad: 23 años, 7 meses
Puntos: 1
Respuesta: rotacion de mc

Ok, ya logre cuadrar los valores de la rotacion, lo que no puedo hacer es fijar el centro de rotacion, como dices que se puede hacer manualmente, yo lo hice haciendo click en la instancia "hexagono" y con la herramienta de rotar, centrar el centro de rotacion en el medio, y no lo logre, y con el otro ejemplo de hacerlo por codigo pues no logro que me funcione, a lo mejor algo estoy haciendo mal, pero no me cambia nada, copie la la carpeta que contiene la clase a donde estoy trabajando y luego uso el siguiente codigo

Código:
on (release) {
	
    import com.darronschall.DynamicRegistration;   

    var hexagono:MovieClip;   
  
    DynamicRegistration.initialize(hexagono);   
  
// se supone que aqui hago el centro, el hexagono total mide 2656 de ancho y 2504 de alto asi que aqui fijo el nuevo centro   
hexagono.setRegistration(1328, 1252);    

// y aqui entonces hago la llamada al movimiento, me funciona el movimiento, pero no con el centro correcto	
new mx.transitions.Tween(_root.hexagono, "_rotation", mx.transitions.easing.Regular.easeOut, _root.hexagono._rotation, 60, 3, true);
	
}
  #6 (permalink)  
Antiguo 11/08/2009, 12:30
 
Fecha de Ingreso: abril-2001
Ubicación: Puerto Montt
Mensajes: 89
Antigüedad: 23 años, 7 meses
Puntos: 1
Respuesta: rotacion de mc

ya , logre hacerlo manualmente con eso es suficiente, no lograba ver como hacerlo manualmente pero ya lo hice de forma manual, muchas gracias por tu tiempo y por tu ayuda
  #7 (permalink)  
Antiguo 26/03/2010, 17:11
 
Fecha de Ingreso: febrero-2010
Ubicación: Sabaneta - Antioquia
Mensajes: 23
Antigüedad: 14 años, 9 meses
Puntos: 0
DUDA: rotacion de mc

Hola!!!

yo quiero que al terminar de rotar me realice alguna accion como un gotoAndPlay();

Código:
on (release) {
	
    import com.darronschall.DynamicRegistration;   

    var hexagono:MovieClip;   
  
    DynamicRegistration.initialize(hexagono);   
  
// se supone que aqui hago el centro, el hexagono total mide 2656 de ancho y 2504 de alto asi que aqui fijo el nuevo centro   
hexagono.setRegistration(1328, 1252);    

// y aqui entonces hago la llamada al movimiento, me funciona el movimiento, pero no con el centro correcto	
new mx.transitions.Tween(_root.hexagono, "_rotation", mx.transitions.easing.Regular.easeOut, _root.hexagono._rotation, 60, 3, true);
	
}
[/QUOTE]
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 22:51.