2012-05-29 5 views
-2

그래서 (문제는) 해결하기가 매우 쉽습니다. 몇 가지 미니 게임을 만들고 있는데 게임 1, 게임 2, 게임 3이 있다고 가정 해 보겠습니다. 게임을 시작할 수 있습니다. 게임이 끝나면 처음부터 게임을 시작할 수 있습니다. 문제는 내가 game1 = new Game1()을 할 때 다시 게임을 시작할 때입니다; 그것은 0에서 시작하지 않습니다, 어떤 객체는 이미 game1에 할당되어 있으므로 분명히 오류가 발생합니다.새 개체를 다시 만들기

좀 더 명확히하기 : 사용자가 선택한 게임 : Game1, Game2, Game3 -> 그는 Game1 -> CreateGame1(); -> game1 = 새로운 Game1(); 사용자가 게임을 끝내고 게임에 다시 들어가기를 선택합니다. CreateGame1() -> game1 = new Game1(); 여기에 문제가있는 곳이 있습니다. game1은 내 수업 시작 부분에 Game1 게임 1로 정의됩니다.

이 문제를 해결하기위한 쉬운 방법이 있습니까? 또는 모든 항목을 수동으로 제거해야합니까? 미리 감사드립니다.

+0

당신의 일부를 붙여 넣을 수 있습니다, 메신저 오해를 생각한다 당신의 코드? 어딘가에 정적 속성이있는 것처럼 들립니다. –

답변

4

새로운 개체를 만들 때 값이 재설정되지 않는 정적 속성이 있다고 생각합니다. 이 문제에 대한 다른 이유는 없습니다. 어쨌든 코드를 게시하지 않았으므로 정확하게 대답하기가 어렵습니다.

+0

빠른 응답 주셔서 감사합니다, 예, 그게 문제라고 생각합니다. 이벤트로 무엇을 할 수 있습니까? 나는 정적 일 필요가있는 몇 가지 행동을 가지고있다. 그래서 그것은 문제가 되는가? – waclock

+0

난 당신이 생성자에서 정적 속성 값을 재설정 할 수 있다고 생각합니다. **하지만 ** 재설정이 필요할 경우 반드시 정적이어야합니다. – platon

0

Game 클래스에서 정적 필드를 사용하고 있습니까?

클래스의 새 인스턴스를 만들면 모든 비 정적 필드가 초기화됩니다. 그러나 정적 필드는 인스턴스 단위가 아니므로 값을 유지합니다.

0

정적 필드를 사용하는 경우 이러한 클래스는 "클래스 수준"이며 새 인스턴스를 만들 때 재설정되지 않음을 기억하십시오. 새로운 인스턴스를 생성하는 메신저 다음으로 IDisposable을 조사하려고 요점 경우 정의 된 당 또는 생성자 또는 정적

에 밤은 무엇을 취소해야하기 때문에

관련 문제