NullPointerExceptionを引き起こす原因を指摘する助けが必要です。私は理解しているものからすべてを試しましたが、まだ運がありません。Java:NullPointerExceptionを指摘する助けが必要
import com.threed.jpct.Object3D;
public class HelloShader extends Activity implements OnScaleGestureListener {
private float ind = 0;
private boolean doLoop = true;
private Ticker ticker = new Ticker(15);
private Object3D snork = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startLoop(); //NullPointerException according to LogCat
}
public void initialize(){
snork = Loader.loadMD2(res.openRawResource(R.raw.image), 0.5f);
snork.translate(0, 50, 0);
Texture snorkTexture = new Texture(res.openRawResource(R.raw.imagetexture));
tm.addTexture("snorkText", snorkTexture);
snork.setTexture("snorkText");
}
public void startLoop(){
long ticks = 0;
while (doLoop) {
ticks = ticker.getTicks();
if (ticks > 0) {
animate(ticks); //NullPointerException according to LogCat
}
}
}
private void animate(long ticks) {
if (ticks > 0) {
float ft = (float) ticks;
ind += 0.02f * ft;
if (ind > 1) {
ind -= 1;
}
snork.animate(ind, 2); //NullPointerException according to LogCat
}
}
private static class Ticker {
private int rate;
private long s2;
public static long getTime() {
return System.currentTimeMillis();
}
public Ticker(int tickrateMS) {
rate = tickrateMS;
s2 = Ticker.getTime();
}
public int getTicks() {
long i = Ticker.getTime();
if (i - s2 > rate) {
int ticks = (int) ((i - s2)/(long) rate);
s2 += (long) rate * ticks;
return ticks;
}
return 0;
}
}
これはエラーを返すコードのほんの一部であり、全体のコードは、他の部分がエラーとは無関係であるため、私はそれらすべてを投稿していなかった非常に長いです。私は、NullPointerExceptionを返す行のコメントを書きました。事前にありがとう=)追加情報が必要な場合はお知らせください。 Apparentlyy snork
stacktraceは、発生する行を教えてください。直前にいろいろな変数がnullであれば、いくつかのsystem.out.printlnメッセージを追加して出力することもできます。あなたがIDEにいるなら、デバッガを使って何かを見て、 – Richard
のinitialize()メソッドを決して呼び出すことはできません。 snork = Loader.loadMD2(res.openRawResource(R.raw.image)、0.5f)を開始します。 snorkオブジェクト。 – Ashish