爪哇:
如何序列化Graphics2D?我正在制作一个平台游戏,我想要一个使用序列化的保存/加载系统。
java.io.NotSerializableException: sun.java2d.SunGraphics2D
打印此异常。有没有办法有序列化的Graphics2D?
答案 0 :(得分:5)
不,Graphics2D
(以及其他处理图形,声音或网络的类)的实例通常不是Serializable
。您应该尝试将需要保存的数据与处理呈现的代码分开。
如果无法执行此操作,则应将Graphics2D
字段标记为transient
。这样,序列化系统在保存时会跳过Graphics2D
字段。加载后,您只需将Graphics2D
字段设置为您手动创建的新实例。
答案 1 :(得分:0)
您是否尝试过使用createGraphics()
代替getGraphics()
?为了向后兼容而维护getGraphics()
,但不推荐使用它