Hello, je veux faire un fond d'écran animé.
J'utilise GLWallpaperService
avec l'example suivant :
https://github.com/markfguerra/GLWallpaperExample

Le problème est que je n'arrive pas utiliser les ressources.

J'utilise this en rouge pour passer en paramètre le contexte.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class MyWallpaperService extends GLWallpaperService {
	public MyWallpaperService() {
		super();
	}

	public Engine onCreateEngine() {
		MyEngine engine = new MyEngine(this);
		return engine;
	}

	class MyEngine extends GLEngine {
		MyRenderer renderer;
		Context _context;
		public MyEngine(Context context) {
			super();
			_context = context;
			// handle prefs, other initialization
	        ArrayList<Integer> list ;
	        list = TabDebloquer();
	        //BitmapDrawable img =  (BitmapDrawable) context.getResources().getDrawable(Reference._images[13][0]);
	        //Bitmap img = BitmapFactory.decodeResource(context.getResources(), Reference._images[13][0]);
	        renderer = new MyRenderer(_context, list);
			setRenderer(renderer);
			setRenderMode(RENDERMODE_CONTINUOUSLY);
		}
La classe renderer pas en entier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class MyRenderer implements GLWallpaperService.Renderer {

		public ImagesMvt _images;
		Context _context;
		public MyRenderer(Context context,ArrayList<Integer> list){
			_context = context;
			_images = new ImagesMvt(_context,  2, 2, list);
		}
		public void  Init(ArrayList<Integer> list) {
			_images = new ImagesMvt(_context,  2, 2, list);
		}   
	public void onDrawFrame(GL10 gl) {
		gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);			  
		_images.draw(gl);
	}

et dans la classe ImageMvt j'utilise ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
	    		for (int num = 0 ; num < _nbImg ; num++)
	    		{
	    			_img[num].SetImage(gl, ((BitmapDrawable)_context.getResources().getDrawable(Reference._images[0][num])).getBitmap(),mTextIDs.get(num),_posImgX[num]*_largeur/4.f , _posImgY[num]*_largeur/4.f, _angleImg[num] );
	    		}
ca crache à getDrawable :

j'ai ca :

11-16 22:44:25.819: ERROR/AndroidRuntime(347): android.content.res.Resources$NotFoundException: Resource ID #0x7f020056

11-16 22:44:25.819: ERROR/AndroidRuntime(347): at android.content.res.Resources.getValue(Resources.java:892)
11-16 22:44:25.819: ERROR/AndroidRuntime(347): at android.content.res.Resources.getDrawable(Resources.java:580)

11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.markguerra.android.glwallpaperexample.ImagesMvt.InitImages(ImagesMvt.java:208)

11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.markguerra.android.glwallpaperexample.ImagesMvt.draw(ImagesMvt.java:320)

11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.markguerra.android.glwallpaperexample.MyRenderer.onDrawFrame(MyRenderer.java:28)

11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.rbgrn.android.glwallpaperservice.GLThread.guardedRun(GLWallpaperService.java:663)

11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.rbgrn.android.glwallpaperservice.GLThread.run(GLWallpaperService.java:528)

Avez-vous une suggestion ?

Merci