2016-08-13 2 views
0

나는 거의 완성 된 작은 게임을하고있다. 것은 그것은 어떤 메뉴 나 게임을 가지고 있지 않았던 것입니다. 모든 것은 모든 논리와 렌더링이있는 단일 클래스 게임에 있어야했습니다. 메뉴를 만들려면 State 클래스를 만들고 StateGame, StateMenu가 있습니다 ... 문제는 한 상태를 다른 상태로 전환하는 방법을 모르는 것입니다. 현재 State 클래스에는 switchTo: (State*)new state 메소드가 있습니다.Objective-C에서 한 개체를 다른 개체로 변환하는 방법은 무엇입니까?

[self release]; 
self = newState; 

이것은 세그먼트 폴트를 생산하고 나는 그것을 변경 : : 방법에서 나는 넣어 간단하게 작동하지 않습니다

State *old = self; 
self = newState; 
AUTORELEASE (old) 

이.

형식 죄송

하지만 난 전화에 입력하고있어, 어쨌든, 어떤 도움을 크게

+0

여기서 설명하는 클래스를 정의하는 코드를 추가하지 않아도 대답하기가 너무 어렵습니다. – danh

+0

집에 도착하자마자 클래스 정의도 게시 할 예정입니다. 빠른 답장을 보내 주셔서 감사합니다. – Paskaler

답변

1

글쎄, 당신은 아마 싶지 않아 주시면 감사하겠습니다 "에 개체를 변경할 또 다른"(추천하지 않음, 자기 = ... 나쁜 생각 : []

GameManager와 같은 새로운 클래스가 필요합니다. Game, Menu 또는 GameOver 인스턴스가 될 수있는 속성을 갖습니다. 상태 머신으로 작동하고 (상태 변경에 대한 작업 수행) 상태, 게임, 메뉴 또는 GameOver 화면에 따라 표시됩니다.

+0

고마워요! 나는 국가가 그들 자신을 하나에서 다른 것으로 바꾸지 않고 존중할 수 있도록 만들었다. 그것은 지금 작동하고 그것은 더 의미가 있습니다 – Paskaler

+0

해결할 수있는 질문을 표시 할 수, 감사합니다 :) –

관련 문제