Comunidad de diseño web y desarrollo en internet online

AYUDA CON DIRECCION DE OBJETO EN EL STAGE

Citar            
MensajeEscrito el 29 Dic 2011 11:55 pm
Hola amigos
Tengo una araña con un ( listener arrastrar y pegar) y quisiera que al arrastrar en (x) y (-x) canviase la dirección de la cabeza en la dirección del arrastre
El tamaño del stage es 320 x 480 y es para compilar .ipa
UN SALUDO
este es el codigo

stage.addEventListener(MouseEvent.MOUSE_DOWN, arrastrar);

function arrastrar(event:MouseEvent):void
{
araña.startDrag();
araña.play();
araña.scaleX = -1;
}

stage.addEventListener(MouseEvent.MOUSE_UP, pegar);

function pegar(event:MouseEvent):void
{
araña.stopDrag();
araña.stop();
araña.scaleX = 1;
}

Por cirepa

8 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 30 Dic 2011 01:34 am
Hola, no se si es la manera mas conveniente, pero se me ocurre los siguiente:

cera una variable para capturar la posición inicial en la que el mouse arrastra a tu mc,
luego agrega un listener (Mouse move ) y crea una condición si el punto inicial supera la posición actual del mouse cambias scaleX a conveniencia, por si no soy muy claro te dejo un ej :

Código :


var mousePosiniT:Number

stage.addEventListener(MouseEvent.MOUSE_DOWN, arrastrar);

function arrastrar(event:MouseEvent):void
{
araña.startDrag(false);
araña.play();
araña.scaleX = -1;
mousePosiniT= mouseX
}

stage.addEventListener(MouseEvent.MOUSE_UP, pegar);
stage.addEventListener(MouseEvent.MOUSE_MOVE,mira);

function mira(event:MouseEvent):void{
if (mousePosiniT < mouseX ) {araña.scaleX=1}
if (mousePosiniT > mouseX ) {araña.scaleX=-1}
   
   }

function pegar(event:MouseEvent):void
{
mousePosfin= mouseX
araña.stopDrag();
araña.stop();
} 


saludos MaxxxSan.

Por MaxiiSan20

Claber

168 de clabLevel



Genero:Masculino  

Montevideo

firefox
Citar            
MensajeEscrito el 30 Dic 2011 02:22 am
Que rapidez de respuesta
MUCHAS GRACIAS
No estoy muy puesto en ACS3 lo boi a probar a ver si soy capaz de que funcione.
Ya te cuento
UN SALUDO


Lo he probado y tu be que cambiar esto
y ya funciona
MUCHAS GRACIAS


mousePosfin= mouseX ****************************mousePosiniT
araña.stopDrag();
araña.stop();
}

Por cirepa

8 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 30 Dic 2011 02:44 am
Lo he compilado para probarlo en el iphone y parece que el evento MOUSE_MOVE no es compatible al compilarlo
Una duda que tengo , los lisTener consumen memoria según dicen
yo tengo programacion en la misma capa pero en distintos fotogramas
en el fotograma1 tengo unos MouseEvent que hacen saltar a la cabeza reproductora al fotograma 30
Mi duda , Los MouseEvent del primer fotograma permanecen en memoria , o al saltar de ese script al otro ya no los tiene en cuenta hasta que vuelve otra vez.
MUCHAS GRACIAS
UN SALUDO

Por cirepa

8 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 30 Dic 2011 06:42 pm
Perdona MaxiiSan20:
Si que funciona me equivoque de app
Culpa mía
Lo que sucede , es que cuando pulsas sobre la araña y desplazas en (-x,x) se orienta perfecta-mente , pero si llego al final del stage en (x) y regreso a (-x) sin soltar no cambia la orientación y viceversa , si llego al final suelto y pulso si que se orienta
UN SALUDO

Por cirepa

8 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 31 Dic 2011 12:24 am
Hola, respondiendo a la pregunta de los listener cuando no necesitas que quede activo el evento le das removeEventListener, luego te si miras un poco el código que te pase veras que mousePosiniT se actualiza unicamente cuando llamo a "arrastrar" para lo que debes hacer es actualiza mas seguidamente el "mousePosiniT= mouseX"

Código :

function mira(event:MouseEvent):void{
if (mousePosiniT < mouseX ) {araña.scaleX=1}
if (mousePosiniT > mouseX ) {araña.scaleX=-1}
   mousePosiniT= mouseX
   }


Luego que se resuelven las condiciones actualiza la " mousePosiniT ".

Espero que te sea de utilidad, Feliz Año y saludos, Maxxx

Por MaxiiSan20

Claber

168 de clabLevel



Genero:Masculino  

Montevideo

firefox
Citar            
MensajeEscrito el 31 Dic 2011 09:09 am
Muchas gracias
Feliz año para ti y para este foro

Por cirepa

8 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 02 Ene 2012 11:51 am
Siguiendo con el tema de la araña
He intentado que cuando suba en (Y) posición Vertical , mira hacia arriba y cuando baja (-Y)
mire hacia abajo y cunado la desplace hacia (X) y (-X) tenga su posición Horizontal.
No consigo hacer que funcione
Alguna sugerencia


var mousePosiniT:Number;

stage.addEventListener(MouseEvent.MOUSE_DOWN, arrastrar);
stage.addEventListener(MouseEvent.MOUSE_UP, pegar);
stage.addEventListener(MouseEvent.MOUSE_MOVE,mira);


function arrastrar(event:MouseEvent):void
{
araña.startDrag(false);
araña.play();
araña.scaleX = -1;
mousePosiniT= mouseX
}

function pegar(event:MouseEvent):void
{
mousePosiniT= mouseX
araña.stopDrag();
araña.stop();
}


function mira(event:MouseEvent):void{
if (mousePosiniT < mouseX ) {
araña.scaleX=1}
if (mousePosiniT > mouseX ) {
araña.scaleX=-1}
mousePosiniT= mouseX

}

Por cirepa

8 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 07 Ene 2012 06:10 am
El problema es que hay que decidir cuando mira hacia arriba por que si desplazáramos unicamente en posición x e y no hay problema pero cuando nos desplazamos lo hacemos en ambas posiciones ¿que pasaría con las diagonales?

Por MaxiiSan20

Claber

168 de clabLevel



Genero:Masculino  

Montevideo

firefox
Citar            
MensajeEscrito el 07 Ene 2012 09:33 am
Tendria que utilizar un condicional ?
Estoi aprendiendo y
No lo tengo muy claro
Gracias

Por cirepa

8 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 08 Ene 2012 03:43 pm
en el caso que tu mc cambie de fotograma diría que seria lo mas simple crear un serie de condiciones.
Tendrías que crear una variable para el eje Y e ir condicionando según sea mayor o menor pero también teniendo en cuenta cuando debe mirar a la izquierda o derecha, arriba o abajo.

Por MaxiiSan20

Claber

168 de clabLevel



Genero:Masculino  

Montevideo

firefox
Citar            
MensajeEscrito el 08 Ene 2012 08:46 pm
Lo Intentare , a ver si lo consigo hacer
Gracias

Por cirepa

8 de clabLevel



Genero:Masculino  

safari

 

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