2014-09-09 5 views
0

게임에서 내 이미지에 문제가 있습니다. 선생님이 작성한 ImageLoader 클래스를 사용하고 있습니다. 내가 ArrayList에를 사용동일한 객체에 대해 다른 이미지가 그려 짐

private static Image healthPic = ImageLoader.loadCompatibleImage("Health.gif"); 
private static Image enemyRocket = ImageLoader.loadCompatibleImage("EnemyShip2Rocket.png");; 

가 건강 파워 업을 만들려면이 코드를 사용하여 채울 : I는 다음과 같이 두 개의 이미지 변수를 생성

if (frameCount % 951 == 0){ 
     Random r = new Random(); 
     int randX = r.nextInt(width - 20)+10; 
     healthP.add(new GameObject(randX, -400, 20,20,healthPic,8,0)); 
} 

enemyWH 하나 개의 변수가 폭에 모두 사용됩니다 높이. 35. 제가

if (frameCount % 300 == 0){ 
      for (int i = army.size()-1;i>=0;i--){ 
       EnemyShip curEnemy = army.get(i); 
       rocketP.add(new GameObject(curEnemy.getR().x, curEnemy.getR().y, 20,20, enemyRocket,5,d)); 
    } 
} 

20 20 적을 그 정확한 위치 및 시간 enemyRocket에있는 폭과 높이, x 및 y가있는 코드를 사용하여 적의 로켓의 ArrayList를 채우는이 같은지 Image 변수이며, 5는 ySpeed ​​(화면 아래로 얼마나 빨리 움직이는 지)이고, d는 플레이어에게주는 손상입니다. 내 문제는 게임이 진행됨에 따라 적들이 모두 로켓을 발사 한 후 약 1 초 동안 무작위로 로켓과 관련된 그림 변수가 갑자기 건강 증진 사진으로 바뀌어 건강 증진이오고있는 것처럼 보입니다. , 그러나 그것은 정말로 적 로켓입니다. 그림이 로켓에서 건강 파워 업으로 전환 중입니다

답변

0

게임 개체를 쓰지 않고 다른 개체를 사용하여 문제를 해결했습니다.