Comunidad de diseño web y desarrollo en internet online

llamada a funcion local no estatica dentro de clase

Citar            
MensajeEscrito el 30 Ene 2008 01:30 pm
hola a tod@s. me esta dando un error que he esperado un rato para que se me pasara el cabreo :-)
yo tengo una clase Menu.as dentro de la cual tengo dos funciones, una encargada de arrastrar el menu y la otra encargada de saber si el mouse esta sobre la zona que permite redimensionar el menu. pues la funcion arrastrar, evidentemente llama a la funcion de comprobacion de la posicion donde ha clickeado el raton para saber si tiene que arrastrar o redimensionar. vale, pues no la llama...solo la llama si es static y claro, si la funcion va a comprobar donde esta el raton en un momento determinado, no puede ser static... asi que en resumen, me como la caca... aqui os pego el codigo correspondiente a las dos funciones a ver si alguien puede aportarme una solucion:


NOTA: en el constructor de la clase he hecho esto : menuCrear.onPress = arrastrarMenu;
para que se dispare el arrastrar menu al hacer click sobre el. como supondreis, menuCrear es la variable del tipo movieClip que creo para asignarle el menu.

Código :

   //funcion encargada de comprobar las posiciones x_mouse, y_mouse
   private function comprobarPuntero():Boolean {
      trace("comprobarPuntero");
      if (_root._xmouse > (this.posicionX + this.ancho - BORDE)) {
         trace("esta en el margen del menu para redimensionar");
         return true;
      } else {
         trace("esta en la zona de muestra de la informacion");
         return false;
      }
   }
   //funcion encargada de hacer drag o redimensionar nuestro menu
   private function arrastrarMenu() {
      trace("arrastrar menu");
      
      if (this.comprobarPuntero()) {
         trace("redimensionar");
      } else {
         this.startDrag(false);
      }
   }


gracias de antemano
atentamente
maije

Por maije

Claber

104 de clabLevel



Genero:Masculino  

Valladolid

firefox
Citar            
MensajeEscrito el 01 Feb 2008 10:43 am
quizas no me explicara bien del todo...
tengo dos funciones:

1º comprobarPuntero: determina si la zona donde se ha pinchado de un mc en cuestion es una zona donde deberia hacerse un drag&drop de todo el movieclip o por el contrario, si esta en una zona llamada "margen" donde en vez de arrastrar deberia redimensionar el MC. devuelve un boolean en true si esta en el margen y false si es drag&drop
2º arrastrarMenu: esta funcion llama a la funcion comprobarPuntero para saber si debe hacer el startDrag o por el contrario, redimensionar el menu.

pues bien, cuando llamo dentro de arrastrarMenu a la otra funcion, no me devuelve nada, no funciona. no da error, pero si pongo trace("hola"); en la primera linea de comprobarPuntero no me sale "hola" en la pantalla de salida... solo me sale "hola" si la funcion comprobarPuntero es static, que entonces si que me imprime "hola". el problema es que en una funcion static no puedo trabajar con variables que no sea static y si necesito comprobar la posicion del raton, evidentemente _root._xmouse no es static, ni la posicion de mi menu es static porque se puede arrastrar, etc...

alguna idea de como solucionar este problema??
espero haberme explicado mejor y que alguien se anime a responder

muchas gracias de antemano
atentamente
maije

Por maije

Claber

104 de clabLevel



Genero:Masculino  

Valladolid

firefox

 

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