Comunidad de diseño web y desarrollo en internet online

Problema para obtener coordenadas de cuadrado dibujado

Citar            
MensajeEscrito el 29 Jul 2009 10:53 pm
Hola,

El siguiente código crea un cuadrado al presionar y arrastrar el cursor y el tamaño del cuadrado resultante es el tamaño del arrastre que se hizo.

Código :

///esta varible setea si debo dubujar o no
_global.activar_dibujo = false;
onMouseDown = function () {
   //cambio el valor de la varieble para que la funcion crea_area pueda dibujar el cuadrado
   _global.activar_dibujo = true;
   //Al clicar defino las coordenadass desde donde se iniciara el dibujo del cuadrado al arrastrar
   insert_x = _xmouse;
   insert_y = _ymouse;
   //le paso estas coordenadas a la funcion que creará el cuadrado en el arrastre y la llamo
   _root.crea_area(insert_x, insert_y);
};
MovieClip.prototype.crea_area = function(insert_x, insert_y) {
   onMouseMove = function () {
      //verifico que el mouse se haya presionado 
      if (_global.activar_dibujo == true) {
         //defino las variables que son las coordenadas que usará para dibujar el cuadrado
         //según la posicion del cursor
         new_X = _xmouse;
         new_Y = _ymouse;
         this.createEmptyMovieClip("area", 5);
         area.beginFill(0x6B0B0B0, 70);
         area.lineStyle(1, 0x707070, 100);
         area.moveTo(insert_x, insert_y);
         area.lineTo(new_X, insert_y);
         area.lineTo(new_X, new_Y);
         area.lineTo(insert_x, new_Y);
         area.lineTo(insert_x, insert_y);
         area.endFill();
         //Al hacer RollOver en el cuadrado dibujado me muestra sus coordenadas y ancho y alto 
         area.onRollOver = function() {
            trace("Mi pos X = "+this._x);
            trace("Mi pos Y = "+this._y);
            trace("Mi Ancho = "+this._width);
            trace("Mi Alto = "+this._height);
         };
         //trace("MYYYY X = "+this[nombre]._parent._x)
         //trace("MYYYY Y = "+this[nombre]._parent._y)
      }
   };
};
///
onMouseUp = function () {
   _global.activar_dibujo = false;
};

el problema es que solo puedo obtener el ancho y el alto del cuadrado dibujado pero las coordenadas _x e _y son siempre 0 aunque dibuje el cuadrado en distintos lugares de la pantalla. y para seguir con el código necesito obtener esas coordenadas

por que pasa esto ???
como se puede solucionar???

de antemano gracias

NOTA: para ver el ancho, alto y coordenadas _x e _y del cuadrado dibujado, solo hay que hacer RollOver sobre este

Por Gon

23 de clabLevel



 

safari
Citar            
MensajeEscrito el 30 Jul 2009 12:27 pm
Las coordenadas son:

new_X = _xmouse;
new_Y = _ymouse;

Te da siempre cero porque creas un nuevo MC y dibujas dentro de él

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Jul 2009 10:26 pm
:0 ta padre el codigo :), ya estuve jugando con el y prueba esto:
trace("Mi pos X = "+ new_X);
trace("Mi pos Y = "+ new_Y);
asi si funciona

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8

 

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