我正在开发一款已经完成的小游戏。事情是它没有任何菜单或游戏超过acreens等。以前所有的东西都在一个具有所有逻辑和渲染的游戏中。为了使菜单成为可能,我创建了一个State类,现在有一个StateGame,StateMenu,......问题是我不知道如何将一个状态切换到另一个状态。目前State类有一个方法switchTo: (State*)new state
。在我的方法中:
[self release];
self = newState;
这会产生段错误,我将其更改为:
State *old = self;
self = newState;
AUTORELEASE (old)
这根本不起作用。
很抱歉格式化,但我在手机上输入此内容,无论如何,我们将非常感谢任何帮助
答案 0 :(得分:1)
好吧,你可能不希望"将对象改为另一个" ...(不推荐顺便说一句,自我= ......坏主意:[)
你想要的是一个叫做GameManager的新类。它将具有可以是Game,Menu或GameOver实例的属性。它将作为状态机工作(对状态更改执行操作),并根据状态显示游戏,菜单或GameOver屏幕。