2016-04-06 24 views
1

Mevcut bir çerçeveyi değiştirirken arka plan resmini değiştirmeye çalışıyorum. Sadece görüntüyü Varlıklar klasöründen silmedim, yeni arka plan görüntüsünü arıyorum. Ancak bazı nedenlerden dolayı eski arka plan şu şekilde görünmektedir:Arka plan resmi görüntülenmiyor

Bu, resmin yükleneceği yerdir.

 public static void load() { 
      icLauncher = loadBitmap("ic_launcher_36",false); 
     dodgingfire_welcome = loadBitmap("dodgingfire_welcome.png", false); 
      block = loadBitmap("block.png", false); 
      cloud1 = loadBitmap("cloud1.png", true); 
      cloud2 = loadBitmap("cloud2.png", true); 
      duck = loadBitmap("duck.png", true); 
      grass = loadBitmap("grass.png", false); 

Yöntemin çağrıldığı yer burasıdır.

 @Override 
     public void render(Painter g) { 
    g.drawImage(Assets.dodgingfire_welcome, 0, 0); 
      startButton.render(g); 
      scoreButton.render(g); 
     } 

Bu

tam sınıflar

package rect.draw.gametest.model.state; 

import android.view.MotionEvent; 

import rect.draw.gametest.Assets; 
import rect.draw.gametest.model.util.Painter; 
import rect.draw.gametest.model.util.UIButton; 


public class MenuState extends State { 
    private UIButton startButton, scoreButton; 

    @Override 
    public void init() { 
     startButton = new UIButton(316, 227, 484, 286, Assets.start, 
       Assets.startDown); 
     scoreButton = new UIButton(316, 300, 484, 359, Assets.score, 
       Assets.scoreDown); 
    } 

    @Override 
    public void update(float delta) { 
    } 

    @Override 
    public void render(Painter g) { 

     g.drawImage(Assets.dodgingfire_welcome, 0, 0); 
     startButton.render(g); 
     scoreButton.render(g); 
    } 

    @Override 
    public boolean onTouch(MotionEvent e, int scaledX, int scaledY) { 
     if (e.getAction() == MotionEvent.ACTION_DOWN) { 
      startButton.onTouchDown(scaledX, scaledY); 
      scoreButton.onTouchDown(scaledX, scaledY); 
     } 
     if (e.getAction() == MotionEvent.ACTION_UP) { 
      if (startButton.isPressed(scaledX, scaledY)) { 
       startButton.cancel(); 
       setCurrentState(new PlayState()); 
      } else if (scoreButton.isPressed(scaledX, scaledY)) { 
       scoreButton.cancel(); 
       setCurrentState(new ScoreState()); 
      } else { 
       startButton.cancel(); 
       scoreButton.cancel(); 
      } 
     } 
     return true; 
    } 
} 

2. sınıf

package rect.draw.gametest; 

import java.io.IOException; 
import java.io.InputStream; 

import android.graphics.Bitmap; 
import android.graphics.Bitmap.Config; 
import android.graphics.BitmapFactory; 
import android.graphics.BitmapFactory.Options; 
import android.media.AudioManager; 
import android.media.SoundPool; 



public class Assets { 
    private static SoundPool soundPool; 
    public static Bitmap dodgingfire_welcome, block, cloud1, cloud2, duck, grass, jump, 
      run1, run2, run3, run4, run5, scoreDown, score, startDown, start, icLauncher,iceCream1,iceCream2,iceCream3,fire,mountains; 



    // public static Animation runAnim, aba; 
    public static int hitID, onJumpID; 


    public static void load() { 
     icLauncher = loadBitmap("ic_launcher_36",false); 
     dodgingfire_welcome = loadBitmap("dodgingfire_welcome.png", false); 
     block = loadBitmap("block.png", false); 
     cloud1 = loadBitmap("cloud1.png", true); 
     cloud2 = loadBitmap("cloud2.png", true); 
     duck = loadBitmap("duck.png", true); 
     grass = loadBitmap("grass.png", false); 
     jump = loadBitmap("jump.png", true); 
     run1 = loadBitmap("run_anim1.png", true); 
     run2 = loadBitmap("run_anim2.png", true); 
     run3 = loadBitmap("run_anim3.png", true); 
     run4 = loadBitmap("run_anim4.png", true); 
     run5 = loadBitmap("run_anim5.png", true); 
     scoreDown = loadBitmap("score_button_down.png", true); 
     score = loadBitmap("score_button.png", true); 
     startDown = loadBitmap("start_button_down.png", true); 
     start = loadBitmap("start_button.png", true); 
     mountains=loadBitmap("mountains.png",true); 

     iceCream1 = loadBitmap("ice_cream1.png",true); 
     iceCream2=loadBitmap("ice_cream2.png",true); 
     iceCream3=loadBitmap("ice_cream3.png",true); 

     fire=loadBitmap("fire.png",true); 

    //  Frame f1 = new Frame(run1, .1f); 
    //  Frame f2 = new Frame(run2, .1f); 
    //  Frame f3 = new Frame(run3, .1f); 
    // Frame f4 = new Frame(run4, .1f); 
    // Frame f5 = new Frame(run5, .1f); 

    // runAnim = new Animation(f1, f2, f3, f4, f5, f3, f2); 
     hitID = loadSound("hit.wav"); 
     onJumpID = loadSound("onjump.wav"); 
    } 

    private static Bitmap loadBitmap(String filename, boolean transparency) { 
     InputStream inputStream = null; 
     try { 
      inputStream = GameMainActivity.assets.open(filename); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     Options options = new Options(); 
     if (transparency) { 
      options.inPreferredConfig = Config.ARGB_8888; 
     } else { 
      options.inPreferredConfig = Config.RGB_565; 
     } 
     Bitmap bitmap = BitmapFactory.decodeStream(inputStream, null, 
       options); 
     return bitmap; 
    } 

    private static int loadSound(String filename) { 
     int soundID = 0; 
     if (soundPool == null) { 
      soundPool = new SoundPool(25, AudioManager.STREAM_MUSIC, 0); 
     } 
     try { 
      soundID = soundPool.load(GameMainActivity.assets.openFd(filename), 
        1); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return soundID; 
    } 

    public static void playSound(int soundID) { 
     soundPool.play(soundID, 1, 1, 1, 0, 1); 
    } 
} 

cevap

0

projeyi yeniden bulunmaktadır. Bina/kaydetme sırasında görüntüler temizlenmez. Mevcut yapıyı silmeniz gerekir.