Java AffineTransform Translation无效

时间:2012-06-30 01:46:44

标签: java translation affinetransform

更新 原来我只是累了。这里没有任何问题,对不起浪费你的时间。不要担心我已将此标记为主持人查看。

我的问题是,当我在java中翻译bufferedimage时,它会在x轴上进行平移时上下移动。 为了更好地理解我的问题,请注意:
     http://www.youtube.com/watch?v=stwi1qVakp4

那么我的设置是什么:  好吧,我所做的是我的渲染方法:

AffineTransform.translate(player_dx,0);

然后我会有一个keylistener,就像:

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

1 个答案:

答案 0 :(得分:2)

你的问题在于手臂的代码,而不是角色的仿射变换。这可能与您在每个轴上移动手臂的数量有关,或者您可能错误地颠倒了X和Y.