Objective C中游戏对象的状态设计模式

时间:2014-05-12 06:00:37

标签: objective-c

尝试为游戏对象实现状态设计模式。考虑到每个状态都伴随着可能涉及动画的客户端对象的视觉变化这一事实,这很快就会引发问题:状态是否可以访问上下文对象的可视属性,或者他们只是要求上下文对象进行视觉更改(这会有点限制)?

一个例子:假设我有一个有多个状态的门:打开,关闭,锁定,密封...这意味着有一个Door对象以及一个抽象的DoorState类和具体的类DoorOpenState,DoorClosedState,DoorLockedState和DoorSealedState。知道门外观随每个状态而变化,例如DoorOpenState应该能够访问门的内部视觉属性吗?如果不将私人信息暴露给外部,它怎么能做到这一点?在C ++中,将状态定义为友元类可能会解决问题但是如何在Objective C或任何现代语言(如C#或Java)中处理这样的问题?

由于

0 个答案:

没有答案