Comunidad de diseño web y desarrollo en internet online

[ahora con clases] dibujar cuadro con AS (duda con codigo)

Citar            
MensajeEscrito el 21 Dic 2005 12:18 am
bueno estoy intentando hacer un cuadrito y no puedo no se que me hace falta.

no marca error, pero tampoco muestra nada

Código :

var cuadro:MovieClip;
function dibuja() {
   cuadro.clear();
   cuadro.beginFill(0xFF000);
   cuadro.lineTo(0, 0);
   cuadro.lineTo(100, 0);
   cuadro.lineTo(100, 100);
   cuadro.lineTo(0, 100);
   cuadro.lineTo(0, 0);
   cuadro.endFill();
}
dibuja();



¿alguien me pude explicar que hago mal?

gracias de ante mano

Por arrobawebmx

33 de clabLevel



Genero:Masculino  



Ultima edición por arrobawebmx el 21 Dic 2005 04:11 am, editado 1 vez

México df

firefox
Citar            
MensajeEscrito el 21 Dic 2005 12:46 am
debes crear el movie clip, estas simplemente creando la variable de tipo movieClip, pero no el clip como tal asi que esa primera linea del codigo borrala y cambiala por esta

Código :

_root.createEmptyMovieClip("cuadro", 1)

Por andresmaro

Claber

981 de clabLevel

3 tutoriales
4 articulos

Genero:Masculino  

America/Bogota

firefox
Citar            
MensajeEscrito el 21 Dic 2005 12:54 am
pues muchas gracias andres todo perfecto

Por arrobawebmx

33 de clabLevel



Genero:Masculino  

México df

firefox
Citar            
MensajeEscrito el 21 Dic 2005 01:10 am
:) :wink:

Por andresmaro

Claber

981 de clabLevel

3 tutoriales
4 articulos

Genero:Masculino  

America/Bogota

firefox
Citar            
MensajeEscrito el 21 Dic 2005 04:30 am
bueno el caso es que encontre este codigo en la red, lo mismos pero usando una clase, de lo cual tengo ciertas dudas
y quisiera enteder esto de los constructores.
el codigo de la clase es el siguiente

Código :

class Box
{
   private var owner : MovieClip
   
function Box (createdBy : MovieClip)  //no entiendo esta parte
   {
      owner = createdBy
      draw ();
   }
   private function draw ()
   {
      owner.clear ();
      owner.beginFill (0xFF000);
      owner.lineTo (0, 0);
      owner.lineTo (100, 0);
      owner.lineTo (100, 100);
      owner.lineTo (0, 100)
      owner.lineTo (0, 0);
      owner.endFill ();
   }
}



y el codigo en el unico frame es

Código :

var box1:Box = new Box(this);  //y aqui no entido el por qu ese usa el  "this"




lo qu e no me queda claro es la cosa esta del constructor por que es que recibe un parametro y de donde le llega.¿ le llega desde el codigo de del frame 1 ?, ¿por que se tiene que usar "owner" y "createdBy" que no se puede hacer una referncia directa?

tomando de referecia lo de andres

debes crear el movie clip, estas simplemente creando la variable de tipo movieClip, pero no el clip como tal...


¿exactamente donde se esta creando el movie clip en el script?


y por ultimo por se tiene que utilisar "this" en le codigo del de la pelicula

Por arrobawebmx

33 de clabLevel



Genero:Masculino  

México df

firefox
Citar            
MensajeEscrito el 21 Dic 2005 05:18 am
ok esto esta interesante... vamos por partes...

las funciones de dibujo estan dadas por la trayectoria de un clip de pelicula (MC)

ya te has dado cuenta que lo que haces en AS es dar la orden al player de trazar una linea de un punto (donde se encuentra MC) hasta tal punto (al que llegara MC) esto nos dice, primero que MC tiene que existir y segundo que tiene que ser mas que una variable.

Ya sea que tu tengas un clip ya creado... o como en el primer script de este post, lo crees por codigo, siempre debe existir un MC para que hago el trazo.

Entonces ya debes saber que cuando creas un MC en el fla el primer nivel es _root o _level0 para no enredarnos _root... si no lo tienes creado pues con codigo le dices _root.createEmpty... el resto lo sabes... entonces dime donde se esta creando el movie??? ahi tienes la respuesta... _root

Ahora con este nuevo codigo de la clase Box... lo primero de lo que habla es de un dueño "owner"... que va a ser el mismo que haga el trazo, por eso la propiedad de la funcion (caja) "box" es (creada por) "createdBy" y ahi de nuevo tienes la respuesta... el mismo dueño es quien va a hacer el trazo :wink:

y con esto concluyo... el segundo codigo es el uso de la clase..

Código :

var box1:Box = new Box(this)


entonces, en el primer frame de la pelicula osea _root el crea una variable box1 que llamará a la clase Box y que trazara un cuadro hecho por el mismo o sea por (this) y con esto creo responder tu ultima pregunta... por que this? porque el mismo es quien hace el trazo y en que lugar exactamente... en el lugar donde pongas el script... si lo pones en el primer frame _root y si lo pones en el primer frame de otroMC entonces quedara en _root.otroMC

bueno espero a ver prestado algo mas de ayuda... me cuentas las noticias de esto... salu2

Por andresmaro

Claber

981 de clabLevel

3 tutoriales
4 articulos

Genero:Masculino  

America/Bogota

firefox
Citar            
MensajeEscrito el 21 Dic 2005 05:47 am
perfecto andres me ha quedado claro, solo que al decir en que parte de se creaba el movie clip me referia en el codigo. y no en que lugar de la pelicula.

para el primer caso es obvio que la instruccion



Código :

_root.createEmptyMovieClip("cuadro", 1)


es quien crea a la pelicula

pero no estoy seguro si para este segundo caso quien crea implicitamente la pelicula es la instruccion

Código :

var box1:Box = new Box(this); 


o bien se crea precisamente hasta llegar a la funcion de la clase en

Código :

function Box (createdBy : MovieClip)  //no entiendo esta parte 
   { 
      owner = createdBy 
      draw (); 
   } 



pero bien por lo anterior explicado andres, gracias

Por arrobawebmx

33 de clabLevel



Genero:Masculino  

México df

msie
Citar            
MensajeEscrito el 21 Dic 2005 06:02 am
la clase es la instruccion, quien crea es quien tu dices que cree (box1) y box1 se convierte en un objeto de la clase box...

si miras bien tienes la respuesta tu mismo otra vez... ya no es una variable, es un objeto, porque el codigo te lo dice la variable box1 es de la clase "Box" que es igual a un objeto de la clase "Box" con propiedad (this)...

la propiedad (this) a su vez en la clase especifica que el objeto es un MovieClip y ahi tienes la Movie que hace el trazo :wink:

Por andresmaro

Claber

981 de clabLevel

3 tutoriales
4 articulos

Genero:Masculino  

America/Bogota

firefox
Citar            
MensajeEscrito el 21 Dic 2005 06:04 am
oye si me enredo mucho ya es que estoy 18 horas seguidas y no coordino mis manos con mi cabeza... :lol: :lol: :lol:

Por andresmaro

Claber

981 de clabLevel

3 tutoriales
4 articulos

Genero:Masculino  

America/Bogota

firefox
Citar            
MensajeEscrito el 21 Dic 2005 06:13 am
pues a chi chi ^^

gracias de nuevo

Por arrobawebmx

33 de clabLevel



Genero:Masculino  

México df

firefox

 

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