Помощь с настройками и Android Live Wallpaper

В основном то, что я хочу сделать, - это переключить предпочтение со значения по умолчанию на любое, чтобы загрузить новый набор фонов параллакса. С кодом, который, вероятно, слишком сложен и, возможно, полностью отключен. Когда я переключаю свои предпочтения, ничего не меняется. Вы определенно можете сказать, что я новичок, но мы будем очень благодарны за вашу помощь, и я с радостью укажу вам в приложении, когда я его опубликую. Также, если вам нужно больше кода, просто спросите.

package quotesandothers.livewallpaper.quotesandothers;

import org.anddev.andengine.engine.camera.Camera;
import org.anddev.andengine.engine.options.EngineOptions;
import org.anddev.andengine.engine.options.EngineOptions.ScreenOrientation;
import org.anddev.andengine.engine.options.resolutionpolicy.FillResolutionPolicy;
import org.anddev.andengine.entity.scene.Scene;
import org.anddev.andengine.entity.scene.background.AutoParallaxBackground;
import org.anddev.andengine.entity.scene.background.ParallaxBackground.ParallaxEntity;
import org.anddev.andengine.entity.sprite.Sprite;
import org.anddev.andengine.extension.ui.livewallpaper.BaseLiveWallpaperService;
import org.anddev.andengine.opengl.texture.Texture;
import org.anddev.andengine.opengl.texture.TextureOptions;
import org.anddev.andengine.opengl.texture.region.TextureRegion;
import org.anddev.andengine.opengl.texture.region.TextureRegionFactory;
import org.anddev.andengine.opengl.texture.region.TiledTextureRegion;

import android.content.SharedPreferences;

public class livewallpaper extends BaseLiveWallpaperService implements
    SharedPreferences.OnSharedPreferenceChangeListener {
// ===========================================================
// Constants
// ===========================================================




public static final String SHARED_PREFS_NAME ="Settings";
 private String mTheme= "inspiration";

// Camera Constants
private static final int CAMERA_WIDTH = 480;
private static final int CAMERA_HEIGHT = 854;


// ===========================================================
// Fields
// ===========================================================

// Shared Preferences

private Texture mTexture;



private Texture mAutoParallaxInspirationalTexture;

private TextureRegion mParallaxLayerMid1;

private TextureRegion mParallaxLayerTop;

private TextureRegion mParallaxLayerTop2;

private TextureRegion mParallaxLayerMid2;

private TextureRegion mParallaxLayerLow1;

private TextureRegion mParallaxLayerLow2;
private TextureRegion mParallaxLayerInspired;


private Texture mAutoParallaxBackgroundTexture;



// ===========================================================
// Constructors
// ===========================================================

// ===========================================================
// Getter & Setter
// ===========================================================

// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================

@Override
public org.anddev.andengine.engine.Engine onLoadEngine() {
    Camera mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
    return new org.anddev.andengine.engine.Engine(
            new EngineOptions(true, ScreenOrientation.PORTRAIT,
                    new FillResolutionPolicy(), mCamera));
}

@Override
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
    mTheme = prefs.getString("cube2_shape", "inspiration");
    readTheme();

}
private void readTheme(){

    final Scene scene = new Scene(1);
    final AutoParallaxBackground autoParallaxBackground = new AutoParallaxBackground(
            0, 0, 0, 5);
    autoParallaxBackground.addParallaxEntity(new ParallaxEntity(2.7f,
            new Sprite(0, 0, this.mParallaxLayerInspired)));
    scene.setBackground(autoParallaxBackground);

}



@Override
public void onLoadResources() {
    this.mTexture = new Texture(2048, 2048, TextureOptions.DEFAULT);


    this.mAutoParallaxBackgroundTexture = new Texture(2048, 2048,
            TextureOptions.DEFAULT);
    this.mParallaxLayerMid1 = TextureRegionFactory.createFromAsset(
            this.mAutoParallaxBackgroundTexture, this,      "gfx/middle1.png",0, 320);
    this.mParallaxLayerTop = TextureRegionFactory.createFromAsset(
            this.mAutoParallaxBackgroundTexture, this, "gfx/top.png", 0, 0);
    this.mParallaxLayerTop2 = TextureRegionFactory.createFromAsset(
            this.mAutoParallaxBackgroundTexture, this, "gfx/top2.png", 0, 173);
    this.mParallaxLayerMid2 = TextureRegionFactory.createFromAsset(
            this.mAutoParallaxBackgroundTexture, this, "gfx/middle2.png",0, 450);
    this.mParallaxLayerLow1 = TextureRegionFactory.createFromAsset(
            this.mAutoParallaxBackgroundTexture, this, "gfx/lower1.png", 200,574);
    this.mParallaxLayerLow2 = TextureRegionFactory.createFromAsset(
            this.mAutoParallaxBackgroundTexture, this, "gfx/lower2.png", 0,740);
    this.mEngine.getTextureManager().loadTextures(this.mTexture,
            this.mAutoParallaxBackgroundTexture);

     this.mAutoParallaxInspirationalTexture = new Texture(2048, 2048,
                TextureOptions.DEFAULT);

     this.mParallaxLayerInspired = TextureRegionFactory.createFromAsset(
                this.mAutoParallaxInspirationalTexture, this, "gfx/topinspired.png", 0, 0);
     this.mEngine.getTextureManager().loadTextures(this.mTexture,
                this.mAutoParallaxInspirationalTexture);




}

@Override
public Scene onLoadScene() {

    final Scene scene = new Scene(1);
    final AutoParallaxBackground autoParallaxBackground = new AutoParallaxBackground(
            0, 0, 0, 5);
    autoParallaxBackground.addParallaxEntity(new ParallaxEntity(2.7f,
            new Sprite(0, 0, this.mParallaxLayerTop)));
    autoParallaxBackground.addParallaxEntity(new ParallaxEntity(2.9f,
            new Sprite(0, 173, this.mParallaxLayerTop2)));
    autoParallaxBackground.addParallaxEntity(new ParallaxEntity(2.4f,
            new Sprite(0, 320, this.mParallaxLayerMid1)));
    autoParallaxBackground.addParallaxEntity(new ParallaxEntity(-1.4f,
            new Sprite(0, 450, this.mParallaxLayerMid2)));
    autoParallaxBackground.addParallaxEntity(new ParallaxEntity(2.3f,
            new Sprite(200, 574, this.mParallaxLayerLow1)));
    autoParallaxBackground.addParallaxEntity(new ParallaxEntity(-4.1f,
            new Sprite(0, 740, this.mParallaxLayerLow2)));



    scene.setBackground(autoParallaxBackground);




    return scene;


     }





private float setHeight(int i) {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public void onLoadComplete() {

}

@Override
protected void onTap(final int pX, final int pY) {

}

 }
1
задан TylerS 6 October 2010 в 23:40
поделиться