Foros del Web » Creando para Internet » Flash y Actionscript »

[SOLUCIONADO] Definir una propiedad en una clase

Estas en el tema de Definir una propiedad en una clase en el foro de Flash y Actionscript en Foros del Web. Buenas, tengo este problema, que sospecho que es o bien sencillo o bien imposible. No logro encontrar solución así que a ver si podéis echarme ...
  #1 (permalink)  
Antiguo 25/06/2013, 15:54
liranan
Invitado
 
Mensajes: n/a
Puntos:
Definir una propiedad en una clase

Buenas, tengo este problema, que sospecho que es o bien sencillo o bien imposible.
No logro encontrar solución así que a ver si podéis echarme una mano.

Básicamente lo que quiero hacer es definir una serie de propiedades en una clase externa, y luego poder emplearlas en la clase principal.

Pongamos que tengo tres archivos:

juego.fla - donde están los gráficos y demás

Main.as - donde está la programación general del juego

ball_mc.as - en esta clase es donde defino un objeto que se usará mucho durante el juego y en el que quiero definir las propiedades.


No voy a copiar el código entero para no aburrir, voy a poner sólo lo importante que es cortito:

En Main.as
Creo la pelota con su posición x, posición y y su tamaño.

Código PHP:
package  {
    
import flash.display.Sprite;

        public class 
Main extends Sprite{
        private var 
ball_container:Sprite = new Sprite();

                public function 
Main() {
                        
addChild(ball_container);
                        var 
ball:ball_mc = new ball_mc(posX,posY,size);
                        
addChild(ball);
                }
         }

En ball_mc.as

Código PHP:
package  {
    
import flash.display.MovieClip;
    
    public class 
ball_mc extends MovieClip{
        
        public function 
ball_mc(posX,posY,size) {
            
this.posX;
            
this.posY;
            
gotoAndStop(size);
        }        
    }    

Ahora, hasta ahí funciona perfecto. Pero pongamos que quiero añadir una propiedad llamada "velocidad" al objeto ball_mc, después de x e y.

Código PHP:
         this.posX;
     
this.posY;
     
gotoAndStop(size);
         
this.velocidad 1
En ese caso, me da un error del que no puedo salir, el 1119, que dice así:

1119: Access of possibly undefined property velocidad through a reference with static type ball_mc.
  #2 (permalink)  
Antiguo 25/06/2013, 17:10
Avatar de dvpareja  
Fecha de Ingreso: junio-2010
Ubicación: Vélez-Málaga
Mensajes: 126
Antigüedad: 13 años, 10 meses
Puntos: 11
Respuesta: Definir una propiedad en una clase

Buenas.

Si quieres modificar una propiedad de un objeto, lo primero que tienes que hacer es definir esa propiedad en la clase:

Código AS3:
Ver original
  1. public class ball_mc extends MovieClip{
  2.          
  3.         public var velocidad:Number; // o private, dependiendo de lo que vayas a hacer con ella
  4.  
  5.         public function ball_mc(posX,posY,size) {
  6.             this.x = posX;
  7.             this.y = posY;
  8.             gotoAndStop(size);
  9.         }        
  10.     }
  #3 (permalink)  
Antiguo 26/06/2013, 03:47
liranan
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Definir una propiedad en una clase

Muchas gracias, sí que era sencillo!
Funciona perfectamente.

Etiquetas: clases, flash, propiedades
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:29.