Comunidad de diseño web y desarrollo en internet online

attachMovie desde una clase

Citar            
MensajeEscrito el 20 Sep 2006 03:26 pm
Cristalab.com siempre a podido resolver mis dudas pero ahora tengo una que no encuentro por ningun lado aver:
Tengo en un archivo .as la siguiente clase:

Código :

class prueba {
   public var clip:MovieClip;
   public function añadir():Void {
      _root.attachMovie(this.clip._name, "nuevo_mc", 100);
   }
}
y en un archivo .fla este codigo:

Código :

import prueba;
var atachear:prueba = new prueba();
atachear.clip = _root.clip;
atachear.añadir();

La cosa es que parece que el attachmovie no funciona a no ser que en el archivo .fla tenga en el escenario una instancia del movieclip que quiero atachear y no se como solucionarlo.
Esto es solo una pequeña prueba que he hecho para un proyecto mas grande.
Grasias de antemano ^^

Por inllana

15 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 20 Sep 2006 04:07 pm
Coloca el clip en la biblioteca con el ID de vinculación, por ejemplo, "clip".

La clase debería quedar así, si lo que quieres es guardar una referencia del clip attacheado en la clase:

Código :

class prueba {

   public var clip:MovieClip;

   public function añadir():Void {

      clip = _root.attachMovie("clip", "nuevo_mc", 100);

   }

}


y el fla:

Código :

import prueba;

var atachear:prueba = new prueba();

atachear.añadir();


Prueba esto, pues lo que estabas intentando hacer no tiene demasiado sentido. Asignarle a "atachear.clip" una referencia de un clip que YA está en el escenario (eso indica "_root.clip") para luego hacer un attachMovie, no encaja.

Un saludo

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  

Barcelona

opera
Citar            
MensajeEscrito el 20 Sep 2006 04:48 pm
Lo he probado y si que funciona pero yo lo habia puesto de esa manera porque si en la libreria hubiera mas de un movieclip poder elegir cual de ellos era en que se attachearia con la solucion que me as dado habria que entrar dentro de la clase para cambiar el nombre "clip".

Por inllana

15 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 20 Sep 2006 04:49 pm
De todas formas gracias por responder

Por inllana

15 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 20 Sep 2006 04:54 pm
Ya he conseguido lo que queria de esta manera:
Archivo .as:

Código :

class prueba {
   public var clip:MovieClip;
   public var nombre:String;
   public function añadir():Void {
      this.clip = _root.attachMovie(this.nombre, "nuevo_mc", 100);
   }
}


Archivo .fla:

Código :

import prueba;
var atachear:prueba = new prueba();
atachear.nombre = "clip";
atachear.añadir();


Muchas gracias por tu ayuda

Por inllana

15 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 21 Sep 2006 09:49 am
Che esta buenisimo esto, perdon por la efusividad pero creo que ya aprendi como se crea una clase!!! Lastima que en el trabajo, tengo el acceso restringido para instalar Flash!! >:( ... Abrazos amigos!

Por emochasser

2 de clabLevel



Genero:Masculino  

Mataderos

msie

 

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