Sprite lista de arreglo no funciona! Necesita ayuda para entender cómo crear conjuntos de instancias de clases en JAVA

votos
0

// partículas Stuct instancia de Sprite privado mParticles [] = new Sprite [10];

/// Particle emitter Properties
private Context mContext;

private int mPositionX, mPositionY, mWidth, mHeight, mNumParticles;


private Rect srcRect, dstRect;

/*** Constructor ! ***/
public ParticleEmitter(Context c, Sprite spriteImage, int num_particles) {

    super(c);
    mContext = c;

    Sprite[] Particles = new Sprite[10];

    Particles[0] = new Sprite(mContext, R.drawable.icon);

//  mParticles = spriteImage;
    //mParticles[num_particles].InitAttributes(c, R.drawable.icon);

    // Allocate Particles instances and copy into mParticle member
    //mParticles = new Sprite[num_particles];
 //   Sprite sprite1 =  new Sprite(mContext, R.drawable.icon);
//    Sprite sprite2 =  new Sprite(mContext, R.drawable.icon);

  //  mParticles[0] = spriteImage;
   // mParticles[1] =  sprite2;
/*  for(int i = 0; i < num_particles; i++)
    {
       mParticles[i].InitAttributes(mContext, R.drawable.icon);
       mParticles[i].setXPosition(i);
    }  */

//   mParticles[0].InitAttributes(mContext, R.drawable.icon);


    // nullify our positioning attributes
    mPositionX = mPositionY = 0;

}
Publicado el 05/05/2010 a las 04:37
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
2

Cuando usted dice que new Sprite[10]es crea una matriz de diez referencias Sprite, que son todos iguales a nullpor defecto. No crea nuevos objetos Sprite. Después de esto, es probable que desee para crear un nuevo objeto Sprite para pegar en cada uno de estos diez lugares. Por ejemplo:

Sprite[] rgSprite = new Sprite[10];
for (int i = 0; i < rgSprite.length; i++) {
    rgSprite[i] = new Sprite(mContext, R.drawable.icon);
}
Respondida el 05/05/2010 a las 05:29
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more