1

爪哇:

如何序列化 Graphics2D?我正在制作一个平台游戏,我想要一个使用序列化的保存/加载系统。

    java.io.NotSerializableException: sun.java2d.SunGraphics2D

它打印此异常。有没有办法序列化Graphics2D?

4

2 回答 2

5

不,Graphics2D(以及处理图形、声音或网络的其他类)的实例通常不是Serializable. 您应该尝试将需要保存的数据与处理渲染的代码分开。

如果这不可能,那么您应该将您的Graphics2D字段标记为transient. 这样,序列化系统在保存时会跳过该Graphics2D字段。加载后,您只需将该Graphics2D字段设置为您手动创建的新实例。

于 2013-09-23T20:59:03.300 回答
0

您是否尝试过使用createGraphics()而不是getGraphics()getGraphics()为向后兼容而维护,但不推荐使用它

于 2013-09-23T22:12:18.273 回答