Comunidad de diseño web y desarrollo en internet online

startDrag y stopDrag/LIMITADO

Citar            
MensajeEscrito el 01 Jun 2009 06:40 pm
Hola, bueno la verdad es que no e podido encontrar material de como limitar el drag de un MC.
Este es el codigo que ocupo.

cubo_mc.addEventListener(MouseEvent.MOUSE_DOWN, onstartDrag);
cubo_mc.addEventListener(MouseEvent.MOUSE_UP, onstopDrag);
function onstartDrag(event:Event):void{
cubo_mc.startDrag();
}
function onstopDrag(event:Event):void{
cubo_mc.stopDrag();
}

Bastante simple la verdad aora el problema que en as3 noce donde se coloca los parametros de limite(donde le coloco desde que eje asta que eje quiero que el MC se pueda mover).
Agradeceria si me lo explican.
Gracias de antemano.

Por venecia

Claber

134 de clabLevel



 

2007

safari
Citar            
MensajeEscrito el 01 Jun 2009 07:55 pm
Le tienes que pasar una instancia de Rectangle, la signatura es así:

startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void

Puedes consultar en la ayuda, diccionario de AS, clase Sprite

Jorge

he
ahora
no se
parámetros
límite
hasta

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 01 Jun 2009 10:25 pm
Solo agregale las lineas en negrita, (al pasarle un Rectangle como parametro estas delimitando el espacio del Drag).

cubo_mc.addEventListener(MouseEvent.MOUSE_DOWN, onstartDrag);
cubo_mc.addEventListener(MouseEvent.MOUSE_UP, onstopDrag);
function onstartDrag(event:Event):void{
cubo_mc.sstartDrag(false, new Rectangle(coordenadaX, coordenadaY, anchoRectangulo, altoRectangulo));
}
function onstopDrag(event:Event):void{
cubo_mc.stopDrag();
}

Por marrkitos

51 de clabLevel



 

Arequipa - Peru

chrome
Citar            
MensajeEscrito el 05 Jun 2009 01:55 am
Muchas gracias. por ambas respuesta pero como no entendi a solisarg me busque otro metodo y logre lo que quiera de esta forma

stage.addEventListener(MouseEvent.MOUSE_DOWN, empezar);
stage.addEventListener(MouseEvent.MOUSE_UP, terminar);
function terminar(event:Event):void{
stage.removeEventListener(Event.ENTER_FRAME, dragempezar);
}
function empezar(event:Event):void{
stage.addEventListener(Event.ENTER_FRAME, dragempezar);
}
function dragempezar(event:Event):void {
MyClip.y = mouseY-10;
if(MyClip.y <= 39){
MyClip.y = 39;
}else if(MyClip.y >=313){
MyClip.y = 313;

}
}

logre lo que quieria con esto. pero me gusta mas tu metodo (marrkitos). Mas facil. = le agradesco la respuesta de ambos

Por venecia

Claber

134 de clabLevel



 

2007

safari
Citar            
MensajeEscrito el 05 Jun 2009 10:54 am
Es cierto, si uno sube demasiado alto se marea. Dale tiempo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Sep 2009 06:47 pm
hola yo tewngo un problema similar estoy haciendo un flash que es como un mapa hasta el momento lo puedo arrastrar pero el problema es que no tiene limetes entonces si lo muevo muhco luego se ve el fondo de la pelicula como puedo arreglarlo porfa ayudenme. gracias.

Por marchesslo

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 10 Sep 2009 08:00 pm
Hemano la solucion esta en la misma funcion: startDrag() el detalle esta en que si a esta funcion no le pasas ningun parametro te permitira arrastrar el objeto por todo el escenario...pero si le pasas como parametro una instancia de Rectangle entonces solo podras arrastrar por todo el area de ese rectangulo que le pasaste.
SI te entendi bien para lo que necesitas tendrias que pasar como parametro un Rentangle del tamaño del escenario, si tienes problemas avisas aver que podemos hacer.

Por marrkitos

51 de clabLevel



 

Arequipa - Peru

firefox
Citar            
MensajeEscrito el 10 Sep 2009 10:29 pm
gracias por responder sip mira yo no cacho nada de As por que estoy comensando con esto pero mira mi codigo es es sig.

Código ActionScript :

on (press) {
   startDrag("");
}
on (release) {
   stopDrag();


esto está en un simbolo de boton invisible porfa que mas le agrego?

muchas gracias

Por marchesslo

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 10 Sep 2009 11:39 pm
Hola, es porque tu code es AS2 , aqui se habla de AS3, pero los parametros para delimitar el area del drag en AS2 usa el help del flash.

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

firefox

 

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