Java 从线程绘制图像
我正在制作一个程序,其中一个角色将在远离程序其余部分的线程中设置动画Java 从线程绘制图像,java,multithreading,image,graphics,concurrency,Java,Multithreading,Image,Graphics,Concurrency,我正在制作一个程序,其中一个角色将在远离程序其余部分的线程中设置动画 Thread trollAnimation = new Thread() { public void run() { if (battling) { frame++; switch (frame) { case 1: case 5: case 9: g.drawImage(troll1, 0, 0
Thread trollAnimation = new Thread() {
public void run() {
if (battling) {
frame++;
switch (frame) {
case 1: case 5: case 9:
g.drawImage(troll1, 0, 0, null);
break;
case 2: case 4: case 6: case 8:
g.drawImage(troll2, 0, 0, null);
break;
case 3: case 7:
g.drawImage(troll3, 0, 0, null);
break;
case 10:
g.drawImange(troll4, 0, 0, null);
break;
}
if (frame == 10) {
frame = 1;
}
}
}
};
在每一行显示g.drawImage…,都会抛出一个错误,显示“g无法解析”。除了绘制图像的问题外,当batling==false时,如何正确停止线程?在Java中,您不能在主AWT线程之外绘制…对不起,我可以编写类似于paint.drawImage(…)的东西吗;这样线程就可以将图像发送到我的绘画方法了?除了主线程,你不能在任何东西上执行绘画。好的。非常感谢。只是为了将来的知识,什么是结束一个线程的最佳方式?你可以在EDT之外画画,但你不应该,永远。。。您需要告诉渲染引擎它需要更新角色的图形,并在EDT上下文中绘制角色