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ıflarpackage 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);
}
}