j2me setFrameSequence配合move移动的问题????

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:47:33
int[][] manFrame={{12,12,12,13,13,13,14,14,14,15,15,15},//UP
{0,0,0,1,1,1,2,2,2,3,3,3},//DOWN
{4,4,4,5,5,5,6,6,6,7,7,7},//LEFT
{8,8,8,9,9,9,10,10,10,11,11,11},//RIGHT

public void input(){
int lastKey=getKeyStates();
if((lastKey&UP_PRESSED)!=0){
if(lastKey!=UP)
man.setFrameSequence(manFrame[0]);
man.move(0,-3);
man.nextFrame();
lastKey=UP;
}

代码片段,每次move的时都使用了同一祯。需要在每次setFrameSequence之前检测一次move方向是否发生变化了,如果没有发生变化就不用setFrameSequence,只有在move方向发生变化以后才setFrameSequence好像也做到了,为什么还是只显示同一帧,实在想不出啦,求解!!!!!!!!

public void this_keyPressed(KeyEvent e) {
if (e.getKeyCode() == 37) {
if (jPanel1.getX() > 0) {
jPanel1.setLocation(jPanel1.getX() - 1, jPanel1.getY());
}
}
if (e.getKeyCode() == 38) {
if (jPanel1.getY() > 0) {
jPanel1.setLocation(jPanel1.getX(), jPanel1.getY() - 1);
}
}
if (e.getKeyCode() == 39) {
if (jPanel1.getX() <
this.getContentPane().getWidth() - jPanel1.getWidth()) {
jPanel1.setLocation(jPanel1.getX() + 1, jPanel1.getY());
}
}
if (e.getKeyCode() == 40) {
if (jPanel1.getY() <
this.getContentPane().getHeight() - jPanel1.getHeight()) {
jPanel1.setLocation(jPanel1.getX(), jPanel1.getY()+1);
}
}