XNA 4 게임을 만들고 있는데 무대의 특정 영역에 대한 체크 포인트를 만들고 싶습니다. 플레이어가 체크 포인트에 도달 할 때마다 생성되는 플레이어 개체의 "유령"개체를 만들 수 있다고 생각했습니다. 그리고 그 체크 포인트를 다시로드하기를 원할 때, 그 유령 플레이어가 어디에 있는지 시작할 것입니다. 지금 당장이 방법을 사용하는 것이 쉬운 방법이라고 생각합니다. (XML이 더 나은 해결책 일지 모르나 사용 방법에 대해서는 아직 알지 못합니다.) 하지만 선수는 너무 많은 변수 (건강, 체력, 탄약, 출혈 타이머, 은색 열쇠, 황금 열쇠, 동전, 감염, 위치, 속도, 각, 상태 [염증, 감염, 출혈, 화상, 피로 함 등을 포함] 그냥 "continuep1 = p1;"같은 statemets (둘 다 같은 객체의 인스턴스)는 다른 클래스에 포함 된 값으로 모든 변수를 다시 할당 할 것이라고 생각했지만 "p1 = continuep1"을 다시로드하려고 시도했을 때XNA에서 체크 포인트 만들기
그래서 모든 변수를 하나씩 다시 할당해야합니까? 아니면 XML을 사용해야할까요? 아니면 XML을 사용해야합니까? 하나씩 하나씩 할 필요없이 모든 변수를 할당 하시겠습니까? (마지막 질문이 없으면 코드를 묻지 않습니다)
'continuep1 = p1;'은 참조 지정이므로 동일한 객체가되므로 작동하지 않습니다. 손으로 모든 필드를 복사하는 것 이외에, 리플렉션 또는 직렬화를 사용하여 객체를 복제 할 수 있습니다. 얕은 사본에 리플렉션을 사용하는 간단한 짧은 예제는 http://stackoverflow.com/a/8181736/1020861 – neeKo