我一直在使用Java图形编程,我觉得我理解它是如何工作的。
我不喜欢/还没有写过的一件事是如何管理在面板上绘制大量的图形(形状、图像等)。
我目前正在阅读的所有书籍/教程都已将您想要完成的所有绘图都放在了油漆组件/画图函数中。前任,
public void paint(Graphics g){
//do stuff here....
}
问题是我有很多东西要画,所以把一堆代码放在一个函数中是很难看的,很难读,而且很难管理/编辑.
我理解OOP,但我对图形编程还很陌生。我应该如何管理我想要绘制在画布上的所有“数据”(确切地说,是JPanel)。我目前正在调用画图(..)中的函数方法。前任,
public void paint(Graphics g){
drawCars(g, x,y,wid,len,etc,etc);
}
然后..。
drawCars(Graphics g, int x, int y, int wid, etc etc){
g.drawSomething(x,y,wid,len,)
g.drawAnotherThing(x+90,y+60,etc, etc);
}
问题是,在我的JPanel类中,我必须管理所有这些杂乱无章的函数。
这只是为了画“一页”的东西。我无法想象必须切换视图或游戏屏幕,在那里我可以有一堆东西在一个页面上动画。
我只是在寻找关于如何在java中组织画图()方法所绘制的代码的方向,这样我就不会疯狂地看我以前的工作了。任何教程、书籍(尤其是免费的),或者可能是好的代码都会非常感谢。
到目前为止,我所发现的一切都是关于教你如何使用图形/图形2 D/java来做什么,但我正在寻找专家建议的组织/风格技巧。
发布于 2012-08-16 18:42:04
为你画得像汽车一样的合乎逻辑的东西做类。每一个物体都知道它需要知道的所有东西来画它自己的位置,大小和颜色。如果让所有这些对象实现一个公共接口,就可以将它们放在一个列表中。当绘制它们的时间到来时,您将遍历列表,并调用每个对象绘制方法。
除了该文档,绘图代码也很好,因此对于每个抽签语句,都清楚它是实际绘制的部分。
发布于 2012-08-16 18:41:49
把它翻出来,用一种方法画出某一部分。如果你是在画房子,而不是只画drawRect之类的
drawRoof(g);
drawDoor(g);
然后在这些你有混乱的东西像drawRect..。
这有用吗我可能误解了你要找的东西..。
https://stackoverflow.com/questions/11993280
复制相似问题