Comunidad de diseño web y desarrollo en internet online

Borrar linea generada con lineTo

Citar            
MensajeEscrito el 12 Mar 2007 03:56 pm
Tengo esta pregunta:

He generado en el escenario una linea mediante "lineTo".
Lo que quiero es poder borrar esta linea cuando haga clic en un boton.

Como lo puedo hacer.

Gracias.

Por ajedros

55 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 12 Mar 2007 04:03 pm
Crea un movie clip primero y luego dibuja la linea en ese mc. Y cuando quieras borrar el dibujo simplemente "remove" el movie clip.

Por One

Claber

1488 de clabLevel

5 tutoriales

Genero:Masculino  

Programador Web

firefox
Citar            
MensajeEscrito el 12 Mar 2007 04:25 pm
La linea se genera dentro de un clip que he llamado "ref_1".

Explico lo que tengo hecho:

Tengo unos simbolos en la biblioteca los cuales cargo al escenario por medio de attachMovie. Luego de tenerlos en el escenario los uno con una linea al hacer clic sobre estos (no importa la posicion de estos).

El codigo que utilizo para unir los simbolos con una linea es el siguiente:

Código :

ref_1["e_s" + num_b].onRelease = function() {
      trace (ref_1["e_s" + num_b]._x);
      cont_l = cont_l + 1;
      if (cont_l == 2){
         _root.lineStyle(2, 0x000000, 100);
         _root.moveTo(x_un,y_un);
         _root.lineTo(ref_1["e_s" + num_b]._x,ref_1["e_s" + num_b]._y);
         cont_l = 0
      }
      
      if (cont_l == 1){         
         x_un = ref_1["e_s" + num_b]._x;
         y_un = ref_1["e_s" + num_b]._y;
      }
   };

Tengo un boton con el cual borro los simbolos que he cargado de la biblioteca.

Lo que quiero es poder borrar con este mismo boton las lineas que se generan por codigo para unir los simbolos cargados de la biblioteca.

Como lo hago.

Gracias otra vez.

Por ajedros

55 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 12 Mar 2007 05:04 pm
La linea la generas en root.

Código :

_root.lineStyle(2, 0x000000, 100);


Intentalo así:

Código :

_root.createEmptyMovieClip("linea", _root.getNextHighestDepth());
linea_mc.moveTo(x_un,y_un);
....
//y para borrar
removeMovieClip("linea");

Por One

Claber

1488 de clabLevel

5 tutoriales

Genero:Masculino  

Programador Web

firefox
Citar            
MensajeEscrito el 12 Mar 2007 07:21 pm
Gracias por el script. Me ha funcionado muy bien.

Por ajedros

55 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 12 Mar 2007 07:25 pm
El problema que tengo ahora es que la linea que se genera por codigo queda delante de los simbolos y necesito que quede por detras de estos, que puedo hacer.

Gracias.

Por ajedros

55 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 12 Mar 2007 08:14 pm
Tengo otro problema:

Solo me esta generando una linea sin importar en cuantos simbolos haga clic (ya que traslada una de los lados de la linea al ultimo simbolo que se le hizo clic).

Como hago para generar varias lineas con este metodo de generarlas dentro de un MovieClip.

Gracias de nuevo

Por ajedros

55 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 12 Mar 2007 10:02 pm
Para que no se te quede delante de los clips debes jugar con la profundidad. En vez de :

Código :

_root.createEmptyMovieClip("linea", _root.getNextHighestDepth());


cambia el _root.get.... por una profundidad menor que la de los clips.

La otra pregunta no entiendo a que te refieres. si quieres generar más lineas simplemente sigue "dibujandolas".

Por One

Claber

1488 de clabLevel

5 tutoriales

Genero:Masculino  

Programador Web

firefox
Citar            
MensajeEscrito el 13 Mar 2007 12:37 am
:?

usa el metodo clear de los movieclip, ejemplo ligeramente modificado de la ayuda de flash

Código :

var myButton:MovieClip = this.createEmptyMovieClip("mcButton", this.getNextHighestDepth());
myButton.onRelease = function() {
    this.clear();
};
drawBox(myButton, 10, 10, 120, 140);
function drawBox(mc:MovieClip, x:Number, y:Number, w:Number, h:Number):Void {
    mc.lineStyle(0);
    mc.beginFill(0xEEEEEE);
    mc.moveTo(x, y);
    mc.lineTo(x+w, y);
    mc.lineTo(x+w, y+h);
    mc.lineTo(x, y+h);
    mc.endFill();
}


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 13 Mar 2007 02:02 pm
Disculpen por lo largo de este mensaje pero es que requiero resolver este problema y por eso les pido ayuda.

Aqui les pongo todo el codigo que tengo para que vean lo que estoy haciendo y asi me puedan ayudar más fácilmente:

En el primer fotograma tengo lo siguiente:

Código :

stop();
if (sg<>"d"){   
   num_a = 0;
   num_b = 0;
   num_c = 0;
   num_d = 0;
   
   
   num_s = 0;
   num_t = 0;
   num_u = 0;
   num_v = 0;
   
   trace("cc");
}

sg = "d"
cont_l = 0;   
level_a = 0
level_b = 10;
level_c = 20;
level_d = 30;
ref_x = 0;
ref_y = 0;

//Solo pongo el codigo para crear un simbolo porque en los demas se repite el mismo script
//y lo unico que hago es cambiarle algunos datos.

_global.crear_area = function(num_a) {
   repo_n_a = num_a;
   level_a = level_a+1;
   ref_1.attachMovie("area", "area_"+[num_a], level_a);
   ref_1["area_"+ num_a]._x = s1._x;
   ref_1["area_"+ num_a]._y = s1._y;
   
   ref_1["area_"+num_a].onKeyDown = function() {
};

ref_1["area_" + num_a].onRelease = function() {
      trace (ref_1["area_" + num_a]._x);
      cont_l = cont_l + 1;
      if (cont_l == 2){
         _root.createEmptyMovieClip("linea", _root.getNextHighestDepth());
         linea.lineStyle(2, 0x000000, 100);
         linea.moveTo(x_un,y_un);
         linea.lineTo(ref_1["area_" + num_a]._x,ref_1["area_" + num_a]._y);
         cont_l = 0
      }
      
      if (cont_l == 1){
         x_un = ref_1["area_" + num_a]._x;
         y_un = ref_1["area_" + num_a]._y;
      }
   };
   num_trans = num_a;
   num_s = num_a+1;
   ref_y = ref_y+50;
};



En los botones con los que cargo los clips de la biblioteca tengo el siguiente código:

Código :

on(press){
   this.swapDepths(13);
   startDrag(this, false, 10, 10, 630, 510);
}
on (release){
   stopDrag();
   trace(_root.num_s);
   crear_area(_root.num_s);
   this._x = 66
   this._y = 187.5
}


En el boton con que elimino los clip que he cargado de la biblioteca (y con el que espero poder borrar las lineas generadas por código ) tengo:

Código :

on (press) {
   for (num_a=0; num_a<15; num_a++) {
      ref_1["area_"+num_a].removeMovieClip();
   }

Por ajedros

55 de clabLevel



Genero:Masculino  

Colombia

firefox

 

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