ciao a tutti ho un piccolo problema.... apparentemente il codice scritto è tutto ok eppure una volta in runtime crassha e in logcat mi riempie di rosso
questo è il logcat
codice:
08-23 10:22:54.723: W/dalvikvm(1196): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
08-23 10:22:54.743: E/AndroidRuntime(1196): FATAL EXCEPTION: main
08-23 10:22:54.743: E/AndroidRuntime(1196): java.lang.NullPointerException
08-23 10:22:54.743: E/AndroidRuntime(1196): at com.example.facem.MainActivity.onLoadScene(MainActivity.java:113)
08-23 10:22:54.743: E/AndroidRuntime(1196): at org.anddev.andengine.ui.activity.BaseGameActivity.doResume(BaseGameActivity.java:169)
08-23 10:22:54.743: E/AndroidRuntime(1196): at org.anddev.andengine.ui.activity.BaseGameActivity.onWindowFocusChanged(BaseGameActivity.java:85)
08-23 10:22:54.743: E/AndroidRuntime(1196): at com.android.internal.policy.impl.PhoneWindow$DecorView.onWindowFocusChanged(PhoneWindow.java:2366)
08-23 10:22:54.743: E/AndroidRuntime(1196): at android.view.View.dispatchWindowFocusChanged(View.java:5735)
08-23 10:22:54.743: E/AndroidRuntime(1196): at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:851)
08-23 10:22:54.743: E/AndroidRuntime(1196): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2557)
08-23 10:22:54.743: E/AndroidRuntime(1196): at android.os.Handler.dispatchMessage(Handler.java:99)
08-23 10:22:54.743: E/AndroidRuntime(1196): at android.os.Looper.loop(Looper.java:137)
08-23 10:22:54.743: E/AndroidRuntime(1196): at android.app.ActivityThread.main(ActivityThread.java:4424)
08-23 10:22:54.743: E/AndroidRuntime(1196): at java.lang.reflect.Method.invokeNative(Native Method)
08-23 10:22:54.743: E/AndroidRuntime(1196): at java.lang.reflect.Method.invoke(Method.java:511)
08-23 10:22:54.743: E/AndroidRuntime(1196): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
08-23 10:22:54.743: E/AndroidRuntime(1196): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
08-23 10:22:54.743: E/AndroidRuntime(1196): at dalvik.system.NativeStart.main(Native Method)
08-23 10:22:55.323: I/dalvikvm(1196): threadid=3: reacting to signal 3
08-23 10:22:55.343: I/dalvikvm(1196): Wrote stack traces to '/data/anr/traces.txt'
e questo è il codice
codice:
package com.example.facem;
import java.util.Random;
import org.anddev.andengine.engine.Engine;
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.RatioResolutionPolicy;
import org.anddev.andengine.entity.primitive.Line;
import org.anddev.andengine.entity.scene.Scene;
import org.anddev.andengine.input.touch.TouchEvent;
import org.anddev.andengine.entity.sprite.Sprite;
import org.anddev.andengine.entity.scene.background.ColorBackground;
import org.anddev.andengine.opengl.texture.Texture;
import org.anddev.andengine.opengl.texture.TextureOptions;
import org.anddev.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas;
import org.anddev.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory;
import org.anddev.andengine.opengl.texture.region.TextureRegion;
import org.anddev.andengine.opengl.texture.region.TextureRegionFactory;
import org.anddev.andengine.ui.activity.BaseGameActivity;
import android.annotation.SuppressLint;
import android.view.Display;
@SuppressLint("ParserError")
public class MainActivity extends BaseGameActivity {
/*
* instanzio telecamera
*/
//larghezza camera
private int CAMERA_WIDTH;
//altezza camera
private int CAMERA_HEIGHT;
//Camera
private Camera mCamera;
/*
* instanzio grafica
*/
//instanzio la texture
private BitmapTextureAtlas fT;
//instanzio la region della texture
private TextureRegion fTR;
//carico il motore
public Engine onLoadEngine() {
//setto la grandezza dello schermo in base al dispositivo
final Display dis = getWindowManager().getDefaultDisplay();
CAMERA_WIDTH = dis.getWidth();
CAMERA_HEIGHT = dis.getHeight();
//parametrizzo la camera
mCamera =new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
//parametrizzo engine
EngineOptions eo = new EngineOptions(true, ScreenOrientation.PORTRAIT, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT),mCamera);
//ritorno l'engine con le opzioni
return new Engine(eo);
}
//carico le risorse
public void onLoadResources() {
/* Inizializziamo la Texure */
this.fT = new BitmapTextureAtlas(64, 64, TextureOptions.BILINEAR);
//setto la cartella del png
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
//creiamo la texture region a partire dal png scelto
fTR = BitmapTextureAtlasTextureRegionFactory.createFromAsset(fT, this, "face.png", 0, 0);
//carico le texture nel motore
mEngine.getTextureManager().loadTexture(fT);
}
public Scene onLoadScene() {
//dichiaro le scene
final Scene scene = new Scene();
//SETTO IL BAK
scene.setBackground(new ColorBackground(0.09804f, 0.6274f, 0.8784f));
/* Ricaviamo le coordinate del centro della scena */
final int x = ((CAMERA_WIDTH - fTR.getWidth()) / 2);
final int y = ((CAMERA_HEIGHT - fTR.getHeight()) / 2);
//creo lo sprite
final Sprite face = new Sprite(x,y,fTR)
//gestisco il drug and drop
{
@Override
public boolean onAreaTouched(TouchEvent ev , float pSTAX, float pSTAY) {
this.setPosition(ev.getX() - this.getWidth() / 2, ev.getY() - this.getHeight() / 2);
return true;
}
};
//ingrandisco lo sprite
face.setScale(3);
//rendo draggabile lo sprite
scene.registerTouchArea(face);
scene.setTouchAreaBindingEnabled(true);
//attacco la linea alla scena
scene.getLastChild().attachChild(face);
return scene;
}
public void onLoadComplete() {
}
}
qualche idea?
grazie mille