Comunidad de diseño web y desarrollo en internet online

drag & drop en un area restringida

Citar            
MensajeEscrito el 30 Ago 2007 06:06 pm
a ver, aqui pego un codigo de un programilla que estoy haciendo

Código :

//variables
/////////////////////////
//declaro esta cantidad de variables para que en un futuro, esto pueda ser una funcion
//a la que le pase los parametros de inicio en x e y, la anchura y altura de los
//rectangulos, el rango de color en el que debe de ser aleatorio, etc...
/////////////////////////
Stage.height=600;
Stage.width=800;
x0=150;
x_ini=x0;
y0=150;
y1=90;
anchura=30;
altura=70;
num_rectangulos=6;
var cod_dec:Number;
var color:String="0x";
var rango:Number=257;
nombres="rectang";
MovieClip.prototype.casillas=function()
{
   /*this.onClipEvent(mouseMove)
   {
      if (var_cogido==true && var_sobre==false)
         trace("no deberia de moverse");
   }*/
   this.onPress=function()
   {
      startDrag(this);
      var_cogido=true;
   }
   this.onRelease=function()
   {
      stopDrag();
      var_cogido=false;
   }
   this.onRollOver=function()
   {
      trace("sobre");
      var_sobre=true;
   }
   this.onRollOut=function()
   {
      trace("fuera");
      var_sobre=false;
   }
}
function crear_mc(nombre,ancho,alto,color_a,x_p,y_p,fondo) 
{
   this.createEmptyMovieClip(nombre+i,this.getNextHighestDepth());
   //creacion de la forma del rectagulo y relleno del mismo asociado al movieclip
   with (this[nombre+i])
   {
      lineStyle(1, color_a, 50);
      beginFill(color_a, 100);
      moveTo(x_p, y_p);
      lineTo((x_p+ancho),y_p);
      lineTo((x_p+ancho),(y_p+alto));
      lineTo(x_p, (y_p+alto));
      lineTo(x_p, y_p);
      endFill();
      _x=x_p;
      _y=y_p;
   }
   if(fondo==0)
      this[nombre+i].casillas();
}
//crea el fondo
this.createEmptyMovieClip("fondo",this.getNextHighestDepth());
with (fondo)
{
   lineStyle(1,0x000000, 50);
   beginFill(0x000000, 100);
   moveTo(x0-1, y0-1);
   lineTo((x0+(anchura*num_rectangulos+2)),y0);
   lineTo((x0+(anchura*num_rectangulos+2)),(y0+altura+2));
   lineTo(x0, (y0+altura+2));
   lineTo(x0, y0);
   endFill();
   _x=x0-1;
   _y=y0-1;
}
for (i=0;i<num_rectangulos;i++)
{
   crear_mc("fondo", 35, 75, 0x000000, x0-1,y0-1,1);
   x0+=anchura/2;
}
x0=x_ini;
for (i=0;i<num_rectangulos;i++)
{
   for (j=0;j<3;j++)
   {
      cod_dec=Math.floor(Math.random() * rango);
      color+=cod_dec.toString(16);
   }
   crear_mc(nombres, anchura, altura, color, x0,y0,0);
   x0+=anchura/2;
   color="0x";
}


lo que hace este programa es generar una serie de rectangulos, genera un color aleatorio por rectangulo y los coloca con un tamaño y una posicion. les asigno un prototipo que me permite hacer drag&drop luego he creado otro MC que va a ser el "fondo". quiero que los rectangulos que puedo hacer drag&drop con ellos, que no salgan del area del MC de fondo, pero al intentar meter this.onClipEvent(mouseMove) no me lo reconoce...y no se como hacerlo...si alguien puede echarme una mano y ver el codigo...el error que me da es este

**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 22: Se espera un nombre de campo después del operador '.'.
this.onClipEvent(mouseMove)

Total de errores de ActionScript: 1 Errores comunicados: 1

muchas gracias de antemano

Por maije

Claber

104 de clabLevel



Genero:Masculino  

Valladolid

firefox
Citar            
MensajeEscrito el 30 Ago 2007 06:58 pm
tienes que escribir

Código :

this.onMouseMove = function {}

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 30 Ago 2007 08:10 pm
hehehe, hay que fastidiarse...
vaya tonteria. muchisimas gracias Mr Charles, la verdad es que llevo un año aprendiendo flash por mi cuenta, viendo ejemplos o haciendo tutos y todavia no habia usado para nada el onMouseMove, asi que una cosa mas que se gracias a ti. has sido muy amable y con eso he solucionado ya el tema del error. no creo que el tema de restringir el movimiento de los rectangulos a un area definida (yo la defino por otro MC) sea un problema :). de todas formas, mañana mismo me pondre con ello y si me surge algo, continuare en este hilo para no sobresaturar el foro :)

muchas gracias de nuevo. has sido muy amable tomandote la molestia de leerte todo ese codigo
un saludo
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.