-2

更新 私はただ疲れていることがわかりました。ここで問題はありません。時間を無駄にして申し訳ありません。モデレーターが確認できるようにフラグを立てたので心配しないでください。

私の問題は、Java で bufferedimage を変換すると、x 軸上で変換中に上下に移動することです。私の問題をよりよく理解するには、
http ://www.youtube.com/watch?v=stwi1qVakp4 をご覧ください。

だから私のセットアップは何ですか:まあ、私がやっていることは、私が持っている私のレンダリング方法です:

AffineTransform.translate(player_dx,0);

次に、次のようなキーリスナーがあります。

public void keyPressed(KeyEvent e){
    int key = e.getKeyCode();
    if(key == KeyEvent.VK_RIGHT){
        player_dx = 1;
    }
    if(key == KeyEvent.VK_LEFT){
        player_dx = -1;
    }

}

 public void keyReleased(KeyEvent e){
    int key = e.getKeyCode();
    if(key == KeyEvent.VK_RIGHT){
        player_dx = 0;
    }
    if(key == KeyEvent.VK_LEFT){
        player_dx = 0;
    }

}

回転するとx、y座標が変化するため、これが起こっていると思います。90度の場合、xとyが変化します。それを回避できるかどうかはわかりません。

他に何か知りたいことがあれば教えてください。ありがとう、Javaman111

4

1 に答える 1

2

問題は、キャラクターのアフィン変換ではなく、腕のコードにあります。おそらく、各軸で腕をどれだけ動かしたかと関係があります。そうでない場合は、誤ってXとYを逆にした可能性があります。

于 2012-06-30T01:58:35.060 に答える