Список массива Sprite никогда не работает! Нуждаюсь в помощи понимая, как создать массивы экземпляров класса в JAVA

//Частица Экземпляр Stuct частный Sprite [] mParticles = новый 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;

}
1
задан Psypher 5 May 2010 в 03:37
поделиться

1 ответ

Когда вы говорите new Sprite[10], создается массив из десяти ссылок Sprite, которые по умолчанию равны null. Он не создает никаких новых объектов Sprite. После этого вы, вероятно, захотите создать новый объект Sprite, чтобы вставить его в каждое из этих десяти мест. Например:

Sprite[] rgSprite = new Sprite[10];
for (int i = 0; i < rgSprite.length; i++) {
    rgSprite[i] = new Sprite(mContext, R.drawable.icon);
}
2
ответ дан 3 September 2019 в 00:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: