如何让用java中paintComponent()画出的图形动起来。还缺什么代码吗? 解决了再给分免得怕浪费了。谢谢

2025-05-06 14:10:08
推荐回答(2个)
回答1:

对java的图形编程没用过,不过大致看了下你的代码,感觉有一个地方可能考虑的不对.
你的Tank本来应该是负责画Tank的一个单独类,但是你那个类里只有座标,你现在那个paintCompaint里的那个图形对象的生成处理应该移到Tank类里,在那个类里通过X跟Y的修改来修改Tank中各个子部件的相对位置.你现在那个Tank类跟你画出来的那个图形完全没有任务联系,所以你再怎么弄也是没会看到图形移动的.

回答2:

你的 paintComponent 中用的都是常数, 没用到 myhero 的数据, 当然不会动!
我稍为改一下就会动了:
public void paintComponent(Graphics g)
{
super.paintComponent(g);
int x=myhero.x, y=myhero.y;
g.fillRect(x+50, y+80, 7, 40);
g.fillRect(x+57,y+87,20,24);
g.fillRect(x+77,y+80,7,40);
g.setColor(Color.red);
g.fillOval(x+59,y+92,15,15);
g.setColor(Color.black);
g.fillRect(x+65,y+68,5,24);
}
但这种画法永远向著上方, 还不会转向.
你必须再调整写法.