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

Girar un circulo con drag and drop?

Estas en el tema de Girar un circulo con drag and drop? en el foro de Flash y Actionscript en Foros del Web. Hola buenas a todos. Imagínense un círculo dividido en partes iguales tipo rebanadas de pastel, cada rebanada con un color diferente. Este círculo está sobre ...
  #1 (permalink)  
Antiguo 19/01/2010, 23:52
 
Fecha de Ingreso: octubre-2008
Mensajes: 11
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Girar un circulo con drag and drop?

Hola buenas a todos. Imagínense un círculo dividido en partes iguales tipo rebanadas de pastel, cada rebanada con un color diferente. Este círculo está sobre otro de tamaño mayor pero igualmente dividido, como si fuera el "plato" en el que está servido el pastel. Lo que quisiera es mover (girar) el círculo de arriba mediante un clic sostenido del ratón, es decir, hacer un drag and drop pero sin mover el elemento sino sólo hacerlo girar sobre su propio eje según los movimientos del ratón. ¿Se podrá? ¿Fuí claro? Si alguien sabe cómo podría lograr esto por favor díganme cómo, se los voy a agradecer infinitamente.

Saludos!
  #2 (permalink)  
Antiguo 20/01/2010, 00:02
Avatar de Turdo  
Fecha de Ingreso: julio-2005
Ubicación: .:Guadalajara:.
Mensajes: 398
Antigüedad: 18 años, 8 meses
Puntos: 23
Respuesta: Girar un circulo con drag and drop?

Que tal amigo!!

Es facil, sin utilizar Drag, en vez de eso tendras que utilizar mc._rotation -= x; esto lo metes dentro de un onEnterFrame que este comparando los movimientos del raton con if anidados. Y utilizando onPress o on(press)

Nota x puede ser un valor fijo com un numero o una variable.
Bueno espero sea de ayuda.
__________________
Un buen programa depende de la imaginación.
  #3 (permalink)  
Antiguo 20/01/2010, 00:07
 
Fecha de Ingreso: octubre-2008
Mensajes: 11
Antigüedad: 15 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Girar un circulo con drag and drop?

Turdo muchas gracias; me alienta saber que sí hay manera, sólo que como podrás imaginarte no soy experto, tampoco soy novato, trabajo por lo regular en AS2. No entiendo mucho de programación en Flash... ¿me podrías dar más detalles? Mil gracias.
  #4 (permalink)  
Antiguo 20/01/2010, 19:04
Avatar de Turdo  
Fecha de Ingreso: julio-2005
Ubicación: .:Guadalajara:.
Mensajes: 398
Antigüedad: 18 años, 8 meses
Puntos: 23
Información Respuesta: Girar un circulo con drag and drop?

Hola de nuevo!!

Pues aquí te dejo un ejemplo muy simple en AS2 digamos que es la base de los que buscas y no te lo doy completo porque seria como hacerte el trabajo y no se trata de eso.

en el Layer 1 creas el plato o el fondo.
en el Layer 2 creas las rebanadas de pastel y lo conviertes en un MC con nombre de instancia move.
en el Layer 3 pones el código:

Código PHP:
Ver original
  1. // 132 es la coordenada en "y" donde empieza
  2. //la linea con respecto a al circulo o bien la tangente.
  3.  
  4. move.onPress = function(){
  5.     onEnterFrame = function(){
  6.         YM = _root._ymouse-132;
  7.             move._rotation =- YM;
  8.     };
  9. };
  10. move.onRelease = function(){
  11.     onEnterFrame = function(){
  12.         return;
  13.     };
  14. };

El layer 3 debe de se el de mas arriba, luego el 2 y al fondo el 1.

Aquí te dejo una liga para que veas como funciona, solo arrastra el circulo azul hacia arriba y abajo:
http://www.arhurweb.com/ejemplos/rotar.html

Si te fijas en el ejemplo si "arrastras" por el lado izquierdo de la linea baja y sube como si lo arrastraras, pero si lo haces de el lado derecho este gira en sentido contrario. Y es allí donde entra tu lógica de programación para corregir eso; aunque si te dejo una pista y es donde esta el raton con respecto a las "x" y "y".
Espero te sirva.
__________________
Un buen programa depende de la imaginación.

Última edición por Turdo; 20/01/2010 a las 19:15

Etiquetas: drag, drop, girar
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 16:59.