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

rotar sobre su eje 1 objeto (as2)

Estas en el tema de rotar sobre su eje 1 objeto (as2) en el foro de Flash y Actionscript en Foros del Web. hola, vi en otro post de hace años el siguiente codigo para rotar un objeto sobre si mismo: (seleccionamos el objeto convertido en clip de ...
  #1 (permalink)  
Antiguo 06/06/2010, 15:29
 
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 192
Antigüedad: 19 años, 8 meses
Puntos: 1
rotar sobre su eje 1 objeto (as2)

hola, vi en otro post de hace años el siguiente codigo para rotar un objeto sobre si mismo:

(seleccionamos el objeto convertido en clip de pelicula y ponemos esto):

Código PHP:
onClipEvent (enterFrame) {
    
this._rotation = (this._rotation<360) ? this._rotation+50;

funciona muy bien y me gusta sobretodo porque puedes controlar la velocidad de manera senzilla con el +5, puedes poner +10 y gira mas deprisa. el problema para mi es que me gustaria que girase cuando haces un rollover al objeto, no cuando se inicia la pelicula.
he probado a poner on(rollOver) en vez de onclipevent(enterFrame), pero asi lo que hace es girar solo +5 una vez y se para. que modificacion podriamos poner para que gire todo el rato cuando tenemos puesto el cursor sobre el objeto? y que se pare cuando lo alejamos. gracias!

Última edición por CIBERDAVID; 06/06/2010 a las 16:21
  #2 (permalink)  
Antiguo 06/06/2010, 17:16
Avatar de chabri  
Fecha de Ingreso: septiembre-2009
Ubicación: Torremolinos
Mensajes: 227
Antigüedad: 15 años, 1 mes
Puntos: 17
Respuesta: rotar sobre su eje 1 objeto (as2)

mmm con tween es algo asi

import mx.transitions.Tween;
import mx.transitions.easing.*;
_root.Cuadro1_mc.onRollOver = function() {
miXTween = new mx.transitions.Tween(this, "_rotation", Bounce.easeOut, 100, 200, 1.5, true);

};
_root.Cuadro1_mc.onRollOut = function() {
miXTween.yoyo();
miYTween.yoyo();


fijate sino

on(release){
tumc._rotation = 200
}


investigate eso, no soy bueno en esto pero voy aprendiendo jejejeje
  #3 (permalink)  
Antiguo 06/06/2010, 17:43
 
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 192
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: rotar sobre su eje 1 objeto (as2)

gracias por tu respuesta, pero no tengo ni idea lo que me comentas xdd, ademas ese codigo me da muchos errores.
  #4 (permalink)  
Antiguo 06/06/2010, 19:19
 
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 192
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: rotar sobre su eje 1 objeto (as2)

bueno les comento que ya solucione el problema, y comparto con ustedes el codigo:

en el primer frame de la pelicula:

Código PHP:
_root.mi_mc.onRollOver = function() {
    
_root.mi_mc.onEnterFrame = function() {
        
_root.mi_mc._rotation += 5;
    };
};

_root.mi_mc.onRollOut = function() {
    
_root.mi_mc.onEnterFrame null;
}; 


pero como me gustan los desafios, y para dejar un reto, imaginen que le ponemos mucha velocidad de rotacion, un +20, como hariamos para que en el rollout no se pare tan bruscamente y vaya poco a poco?
y en el rollover tambien, imaginen que queremos crear un ventilador, seria algo asi jejejeje.
  #5 (permalink)  
Antiguo 06/06/2010, 19:24
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: rotar sobre su eje 1 objeto (as2)

Hola
Bueno, se te responde a tu desafio con dos opciones:
0. crear un timer y dependiendo del valor del timer vaya
deteniendose de a poco
1. mucho mejor, lo que te sugiere chabri, usar tween para esos efectos
así que tu desafío es mirar el link y aprender de tween
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: objeto, rotar
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 13:56.