2015-01-12 5 views
0

이제 SKScene을 기반으로하는 앱을 개발 중입니다. 그리고 일부는 SKShapeNode을 시스템 기본값에 저장하여 완전히 닫힌 후에 앱을 다시 열 때 볼 수 있습니다. 나는 NSMutableDictionarySKShapeNodes를 저장한다. 나는 setObjectForKey을 사용하여 NSUserDefault에 저장하려했지만 오류가 발생했습니다 :NSShortNode를 NSUserDefault를 사용하여 시스템 기본값에 저장하는 방법

Property list invalid for format: 200 (property lists cannot contain objects of type 'CFType').

여기에 SKShapeNode을 추가하려고합니다. 그러면 어떻게하면 NSUserDefault처럼 저장할 수 있습니까? 정말 고마워!!

내 코드는 다음과 같습니다. myNode = [SKShapeNode shapeNodeWithCircleOfRadius : radius]; [myNode setPhysicsBody : [SKPhysicsBody bodyWithCircleOfRadius : radius]]; myNode.fillColor = [uicolor greenColor]; myNode.lineWidth = 1.0; [myNode setPosition : positionInScene1]; myNode.antialiased = YES; myNode.glowWidth = 0.0; myNode.physicsBody.allowsRotation = NO; myNode.physicsBody.dynamic = YES; myNode.physicsBody.restitution = 0.3; [mainLists myNode forKey : someKey]; (주 목록은 nsdictionary입니다.) NSUserDefault * store = [NSUserDefault standardDefault]; [setObject 저장소 : mainList forKey : @ "mainList"]; [store sychronize];

+0

의 속성을 저장할 수 있습니다 하기 위해서? –

+0

코드 게시 .... – LearnCocos2D

답변

0

당신은

[NSKeyedArchiver -archivedDataWithRootObject:] 

먼저이있는 NSData에 직렬화 객체, 다음 userDefault에 데이터를 저장할 시도 할 수 있습니다.

당신이 데이터를 읽고 자 할 때, 당신은

당신은 NSKeyedArchiver/NSKeyedUnarchiver 에서 배울 수 NSKeyedUnarchiver

를 사용하여 SKShapeNode에 데이터를 디코딩한다 또는 당신은 단지 다른 방법이 있습니까 노드

+0

자세한 방법을 구체적으로 설명 할 수 있습니까? 나는 전에 그것을 사용하지 않았다. 내가 SKShapeNode * node = [SKShapeNode shapeNodeWithCircleOfRadius : radius]와 같은 것을 만들면; 그리고 질량, 물리학 같은 많은 속성을 설정했습니다. 바디, 라인. 컬러. 그렇다면 어떻게 저장하고 제공 한 방식으로로드 할 수 있습니까? –

+0

나는 알아 냈다! 고마워요! –