【发布时间】:2016-03-14 16:22:47
【问题描述】:
我想通过保存玩家当前状态来保存我的游戏进度,例如他在地图上的位置、HP、法力、当前状态等。
我需要有关如何将播放器对象转换为 NSdata 并将其存储在 NSUserDefaults 中的帮助。
我有以下播放器属性,但如何使用 NSCoding 对它们进行编码?我必须对每个属性进行编码吗?以及如何对组件进行编码?
var spriteComponent: SpriteComponent!
var animationComponent: AnimationComponent!
var playerMoveComponent: PlayerMoveComponent!
var healthComponent: HealthComponent!
var playerAttackComponent: PlayerMeleeAttackComponent!
var roundHouseSwingComponent: RoundHouseSwingComponent!
var playerMagicAttackComponent: PlayerMagicAttackComponent!
var attackBodyNode: SKNode!
var dashDistance = GameSettings.playerDashDistance
var agent: GKAgent!
var health: Int!
var fullHealth: Int!
var mana: Int!
var fullMana: Int!
var action: Int!
var fullAction: Int!
var hasGateKey: Bool!
var numberOfPotionCarried: Int!
var playerState: PlayerState!
var movementEnabled: Bool!
var dashAttackActivated: Bool!
提前感谢您的帮助。
【问题讨论】:
标签: sprite-kit nscoding