我正在尝试这样做:
var player:Player = new Player(); // class Player extends PlayerCore
var playerCore:PlayerCore = cast (player, PlayerCore);
var playerStr:String = Serializer.run(playerCore);
编译,但给出运行时错误:
compile_server.command: line 3: 4267 Bus error: 10 ../bin/Server/Main
Cast 有效,它在序列化程序行上失败。除了这两个都是真的Std.is(playerCore, PlayerCore)
,Std.is(playerCore, Player)
我不知道这是否是预期的结果。这是 Haxe / hxcpp 错误还是我做错了什么?
或者,我需要将 Player 类型的对象转换为它的父类型 PlayerCore (“剥离” Player 类型功能),然后对其进行序列化。有没有办法正确地做到这一点,还是我需要手动创建新对象并复制所有参数?
Haxe 3.2.1,hxcpp 3.2.180,mac 目标