Comunidad de diseño web y desarrollo en internet online

rotar imagen con eje en el centro de la misma

Citar            
MensajeEscrito el 08 May 2006 12:05 pm
alguien sabe como se puede rotar una imagen, pero tomando como eje para la rotacion el centro de la imagen???

Por devly

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 May 2006 12:19 pm
?

simulando 3D?
o solo rotar una imagen?
si es solo rotar una imagen, convertila a movieclip,
centrala con respecto al escenario (control+k para el panel de alineacion)
ponele nombre de instancia (digamos "mi_imagen")
y pones un codigo en el primer frame, algo como:

Código :

this.onEnterFrame = function(){
mi_imagen._rotation += 5
}

cambia el valor a tu conveniencia
si necesitas explicacion del codigo, chifla

si no es eso, tambien chifla!
:)
salut

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox
Citar            
MensajeEscrito el 08 May 2006 02:20 pm
gracais por contestar, efectivamente me referia a solo rotar la imagen, pero el tema esque lo k kiero eske la imagen se rote respecto del centro de ima imagen, con lo de rotate la imagen rota respecto al eje superior izdo de la imagen.

Por devly

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 May 2006 02:37 pm
solo tienes que jugar con la posición en la que rota y la posición en la que quieres que quede, igual el centro de la imagen sera el mismo siempre solo tienes que una vez rotada, trasladarlo a la posición original.

Animo! ^^

Por Prozac

SWAT Team

1546 de clabLevel

1 tutorial

Genero:Masculino   SWAT

donde se regresa el viento

firefox
Citar            
MensajeEscrito el 08 May 2006 03:34 pm
El centro de rotación en Flash viene definido por el punto "centro de rotación" que aparece al pedir un cambio de "escala-rotación-centro" es la herramienta escala del panel. Para cambiarlo coge el objeto, pincha en la herramienta escala y mueve ese punto a donde desees. Ese será el "centro de rotación" para animación en linea de tiempo, asi como su punto de inserción en guias de movimiento.
Para animación por código, coloca el Mc en la posición que desees moviendola al crearlo sabiendo que el centro de rotación será la "crucecita" que marca el punto (0,0) del movieclip.
Algo más complicado es rotar un movieclip creado vacio por código por un punto dado...........es el caso que cita Prozac, hay varias maneras:
trasladar -rotar- trasladar al punto anterior. (Aunque hay un "truquillo" que consiste en crear una interpolación de movimiento-giro de un solo frame y dotar al nuevo objeto de esa característica....).
O solamente decir al movie cual será su centro antes de rotar:

MC._x += MC._width/2;
MC._y += MC._height/2;

y cuando queramos rotarlo:

MC._rotation +=5;

en este ejemplo la rotation será por el punto medio (centro del clip)

Ten en cuenta que si la animación es en linea de tiempo y pones diferentes "centro de giro" en la imagen inicial y el la final, el giro será unido al desplazamiento de dicho centro consiguiendo de ese modo otro tipo de efectos.
La rotación es, evidentemente en el plano XY. Si deseas rotación incluyendo a Z la mejor opción en linea de tiempo ( sin código) es la utilización de escala y giro combinadas en una animación de movimiento. En actionscript se usan transformadas.

Por Teseo

SWAT Team

1780 de clabLevel

14 tutoriales

Genero:Masculino   SWAT

firefox
Citar            
MensajeEscrito el 08 May 2006 04:46 pm
teseo, muy bien toda la explicacion pero utlizando el codigo k pones hay lo k harias no seria cambiar la posicion del movie???es decir si kieres mover un clip de 100x100 lo k harias no seria primero decirle k se coloque en la posicion XY 50, 50 y despues rotarlo??? osea k apareceria desplazado.

Alguien tiene alguna solucion ms???

Por devly

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 May 2006 10:05 pm
Si lees con atención.........en ese caso del ejemplo me refiero a centrar un MC creado vacio. A partir de ese momento ( cuando le das esas instrucciones) queda "pinchado" por su punto central.
Si es un MC instanciado.........entonces el centrado ( o colocación al gusto) se hace al crearlo como también indicaba.
Supongamos que ya tengo un MC "pinchado" en la superior-izquierda ( el punto al que se refieren sus propiedades) y mide 100 x 150 y esta colocado en (200,100) Ahora quiero rotarlo por su centro o lo que es decir el centro de giro es : (250,175). Eso requiere otro tipo de función y yo lo hago sin usar trigonometria. Te pongo el prototipo.
x e y son las coordenadas del punto de giro.

Código :

onEnterFrame = function(){
   MC.rotar(250,175,10);
}

MovieClip.prototype.rotar = function(x, y, grados){
   this._rotation += grados;
   var eb = this.getBounds(this._parent);
   this._x += x-(eb.xMin + eb.xMax)/2 ;
   this._y += y-(eb.yMin + eb.yMax)/2;
}

Por Teseo

SWAT Team

1780 de clabLevel

14 tutoriales

Genero:Masculino   SWAT

firefox
Citar            
MensajeEscrito el 10 May 2006 06:45 am
Muchas gracias teseo, un codigo genial y muy ingenioso.

Por devly

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Dic 2010 02:21 am
hola necesito saber como se puede rotar un mc con un botón habiendo varios mc. o sea selecciono un mc y haciendo un clic en un botón gira, selecciono otro mc y con el mismo botón también lo giro, desde ya muchas gracias

Por laloelia

0 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.