0

基本上,我想做一个国际象棋游戏。

这个想法是我有一张棋盘和各个棋子的图片。我可以开始工作的是一个 JPanel,我每次都会用棋子的新位置重新绘制所有内容,但这需要获取所有棋子的位置并用多达 33 张图片重新绘制棋盘,并使用双缓冲和全部。

我认为有点消耗资源。AFAIK,可以选择只重绘某个区域,但我想还有更好的方法。我能想象的是,每次只是移动或删除一两张图片,或者更确切地说是棋子,而不是重新绘制一些东西。

遗憾的是,我对那里的课程了解非常有限,所以我问是否有这样的方法,甚至是完全不同的方法,它比绘画/重新绘画更有效。

4

1 回答 1

2

与其再次发明轮子,不如使用JGame等支持 sprite 的游戏引擎来进行渲染。

另请注意,今天,渲染国际象棋的资源消耗是如此之小,以至于花一分钟来优化它就是浪费一分钟。你应该瞄准的是一个框架,它花费最少的时间来实现游戏的渲染,这样你就不必在游戏的这一部分上花费太多时间。

如果您觉得游戏引擎过于矫枉过正,那么使用带有自定义单元格渲染器的表格如何绘制每个单元格?该表将确保以最佳方式呈现更新。您甚至可以使用自定义TableModel来定义比赛场地。

于 2013-04-05T07:37:59.387 回答