diff --git a/src/kiwano/2d/Actor.cpp b/src/kiwano/2d/Actor.cpp index 1f14d594..3eca99a6 100644 --- a/src/kiwano/2d/Actor.cpp +++ b/src/kiwano/2d/Actor.cpp @@ -230,8 +230,14 @@ void Actor::DoSerialize(Serializer* serializer) const void Actor::DoDeserialize(Deserializer* deserializer) { ObjectBase::DoDeserialize(deserializer); - (*deserializer) >> visible_ >> update_pausing_ >> cascade_opacity_ >> responsible_ >> z_order_ >> opacity_ - >> anchor_ >> size_ >> transform_; + + float opacity = 1.0f; + Transform transform; + (*deserializer) >> visible_ >> update_pausing_ >> cascade_opacity_ >> responsible_ >> z_order_ >> opacity >> anchor_ + >> size_ >> transform; + + SetOpacity(opacity); + SetTransform(transform); } bool Actor::HandleEvent(Event* evt) diff --git a/src/kiwano/core/Serializable.h b/src/kiwano/core/Serializable.h index 207bd317..821865cc 100644 --- a/src/kiwano/core/Serializable.h +++ b/src/kiwano/core/Serializable.h @@ -233,17 +233,17 @@ public: /// @brief 序列化为字符串 inline Vector Serialize() const { - Vector result; - ByteSerializer serializer(result); + Vector data; + ByteSerializer serializer(data); this->DoSerialize(&serializer); - return result; + return data; } /// \~chinese /// @brief 从字符串反序列化 - inline void Deserialize(const Vector& serialized) + inline void Deserialize(const Vector& data) { - ByteDeserializer deserializer(serialized); + ByteDeserializer deserializer(data); this->DoDeserialize(&deserializer); }