Comunidad de diseño web y desarrollo en internet online

Uso básico de clases

Citar            
MensajeEscrito el 17 Sep 2004 01:31 am
Hola, soy nuevo aquí, tuve suerte de toparme con la página pues no encuentro la respuesta por ningún lado.

Estoy aprendiendo a utilizar clases, para esto hice una pequeña clase que debía darle movimiento a una "Movie" dentro de la presentación, pero a lo más que llegué es a que toda la escena se moviera, no sé como referirme directamente al objeto desde la clase.

esto es lo que tengo
animated.as:
dynamic class animated {
function run (a, b){
_x +=a;
_y +=b;
}
function spin (c){
_rotation+=c
}
}

1er frame:
ball= new animated();
En el objeto (ball) que quiero que se mueva:

onClipEvent (enterFrame) {
_parent.ball.run (1,1);
_parent.ball.spin (-2);
}

El escenario completo es el que se mueve y creo entender por qué pasa, pero por más que intento no logro hacer que el objeto se mueva solo.
Agradecería su ayuda.

Por D_Bear

45 de clabLevel



1 ejemplo

 

unknown
Citar            
MensajeEscrito el 17 Sep 2004 08:14 am
En tu archivo .fla

Código :

var movida:MoveIt = new MoveIt();
movida.miObjetivo = bola_mc;
posX = 0;
posY = 0;

_root.onEnterFrame = function(){
   posX++;
   posY++;
   movida.moverA(posX, posY);
}


En tu archivo .as

Código :

class MoveIt{
   public var miObjetivo;
   private var x, y:Number;
   
   //Constructor
   function MoveIt(){
      
   }
   
   function moverA(xx:Number, yy:Number){
      x = xx;
      y = yy;
      
      this.miObjetivo._x = x;
      this.miObjetivo._y = y;
   }
   
}


Yo también tuve dudas sobre como poder referenciar a movieclips y botones desde mis clases y la respuesta me la dio Freddie un dia de charla por el MSN.

Mira, tu creas en tu clase una variable public, por lo tanto podrás acceder a ella desde tu .fla de esta manera.

Código :

movida.miObjetivo = bola_mc;


¿Ves? de esta manera estás apuntando con la variable miObjetivo al movieclip bola_mc con lo cual luego en tu clase podrás hacer lo siguiente:

Código :

this.miObjetivo._x = x;
this.miObjetivo._y = y;


Ya me dirás que tal te fue!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

unknown
Citar            
MensajeEscrito el 17 Sep 2004 05:25 pm
El truco estaba en la parte de la variable pública, ya con eso funcionó. Que bueno es que existan foros como estos. De nuevo, Gracias.

Por D_Bear

45 de clabLevel



1 ejemplo

 

unknown
Citar            
MensajeEscrito el 17 Sep 2004 05:32 pm
Y como siempre, no olvides leer con atención el tuto de OOP
http://www.cristalab.com/vertutorial.php?id=51

en cuanto a tu clase original; no veo la necesidad de hacer una clase dinamica; una clase normal te basta y las clases dinamicas solo son recomendables si de verdad necesitas crear funciones y variables "adjuntas" a una instancia de la clase en tiempo de ejecución (Un ejemplo es LoadVars o MovieClip, son clases dinamicas, pero por ejemplom, TextField no lo es)

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 18 Sep 2004 01:42 am
Si, acabo de darme cuenta de eso, es que mientras no funcionaba me mostraba que la propiedad _x o _y eran inaccesibles pues el método no existía dentro de la clase, pero ya con la modificación corre como clase normal. :D

Por D_Bear

45 de clabLevel



1 ejemplo

 

unknown
Citar            
MensajeEscrito el 18 Sep 2004 01:51 am
por cierto, tengo una animación como la que tienen en la sección de ejemplos (estela) solo que es un poco diferente pues es un componente personalizable, no sé si les gustaría checarlo.

Por D_Bear

45 de clabLevel



1 ejemplo

 

unknown
Citar            
MensajeEscrito el 18 Sep 2004 01:58 am
Pero claro, y la montamos con tus creditos ;)

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 18 Sep 2004 02:53 am
...como subo un archivo a la página?????? :?

Por D_Bear

45 de clabLevel



1 ejemplo

 

unknown
Citar            
MensajeEscrito el 18 Sep 2004 03:00 am

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown

 

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