0

そして

  • 新しいゾンビ変数が作成されました。
    private Zombie zombieA;
  • ゾンビ変数が初期化されました

    zombieA = new Zombie(1);
  • Zombieクラスのコンストラクターを呼び出します。

    public Zombie(int type) {
    this.type = type;
    x=200;
    y=100;
    dx=1;
    paintA.setColor(Color.RED);}
    

基本的に、ゲームクラスで新しいゾンビを作成します。タイプは1で、スイッチとケースを通過して、作成するゾンビのタイプを決定します(レベル1 = 10)。問題は、それを実行すると、アプリケーションフォースが閉じて、次のエラーが発生することです。

zombieA = new Zombie(1);

最初のクラスとエラーから:

public Zombie(int type) {

ゾンビクラスから。私は何度も何度もそれを調べてきました、そして私はただ問題を見ることができません、誰かが何か間違っていることに気づきますか?

4

2 に答える 2

1

スタックトレースなしで見分けるのは難しいですが、問題は次の行にあると思われます。

paintA.setColor(Color.RED);

paintA正しく初期化されていますか?それがあなたのコンストラクターにnull原因であるように私には思えます。NullPointerExceptionその場合は、必ず最初にインスタンス化してください。次のようになります。

paintA = new ...
于 2012-04-14T16:32:56.057 に答える
0

ワーカースレッド内からZombieクラスを呼び出していますか?UIスレッドからこれを行う必要があります。ここにいくつかの例があります:Looper.prepare()を呼び出さなかったスレッド内にハンドラーを作成することはできません

于 2012-04-14T16:11:31.630 に答える