有一副行走图 怎么在JAVA中用这幅行走图表现出人物左右行走的样子呢。能上代码啥的话就太感谢了

 我来答
007新起点
2011-11-01 · TA获得超过3482个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:140万
展开全部
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class WalkMian extends JFrame implements KeyListener {
Image img;
Image back;
int x = 80, y = 450, dir = 0, num = 0;

// Main
public static void main(String args[]) {
new WalkMian();
}

// Constructor
WalkMian() {
super("Character");
img = getToolkit().getImage("c:\\IMAGE\\walk.png");
back = getToolkit().getImage("c:\\IMAGE\\back.jpg");
addKeyListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBackground(Color.gray);
setSize(800, 610);
setVisible(true);
}

// Paint
public void paint(Graphics g) {
int yoff;
g.drawImage(back, 0, 0, this);
if (img != null) {
yoff = 144;

g.drawImage(img, x, y, x + 144, y + 144, 144, -144+144*dir, yoff + 144, 144*dir,
this);

}
}

// KeyEvent Listener
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) { // case KeyEvent.VK_UP : y=y-10; dir=0; break;
case KeyEvent.VK_RIGHT:
x = x + 10;
dir = 3;
break;
// case KeyEvent.VK_DOWN : y=y+10; dir=2; break;
case KeyEvent.VK_LEFT:
x = x - 10;
dir = 1;
break;
}
// num ^= 4;
repaint();
}

public void keyReleased(KeyEvent e) {
}

public void keyTyped(KeyEvent e) {
}
}
xgust
2011-10-31 · TA获得超过560个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:955万
展开全部
充分运用
Graphics中的drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer) ;便可完成。查下JDK看下这个的用法。

dx dy是指窗口的点。 SX SY是指原图片的点。就是按一定规则变动这些点而已。

img - 要绘制的指定图像。如果 img 为 null,则此方法不执行任何动作。
dx1 - 目标矩形第一个角的 x 坐标。
dy1 - 目标矩形第一个角的 y 坐标。
dx2 - 目标矩形第二个角的 x 坐标。
dy2 - 目标矩形第二个角的 y 坐标。
sx1 - 源矩形第一个角的 x 坐标。
sy1 - 源矩形第一个角的 y 坐标。
sx2 - 源矩形第二个角的 x 坐标。
sy2 - 源矩形第二个角的 y 坐标。
observer - 当缩放并转换了更多图像时要通知的对象。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式