我对一个简单的游戏体系结构有一种普遍的疑问。 在我的游戏中,我有这些类:Libgdx:创建其他对象的对象
- 主要负责绘图和渲染的类。
- 有几个属性的Ball对象和执行某些事情的update()函数。
主类有一个所有存在的ball实例的数组,render()函数负责运行所有这些实例并调用它们的update()。 另外,主类还有创建另一个实例的createBall()函数。我们假设其中一个实例想要在游戏中创建另一个球(通过他的update())。 哪种方式是这样做的正确方法:
- 每一个球在他的构造函数获取主类实例(主类创建时,它传递给自己的球),并调用main.createBall();
- 每个球都有一系列“请求”,主队读取并理解球想要创建什么。
它应该是一个通用的问题,因为它定义了实例与主类通信的方式。
谢谢!
好的,Ball实例将调用BallFactory.addRequest()(它添加到BallFactory所具有的请求数组中),Main类将通过render()中的数组运行,并根据请求创建实例? –
其实,为什么没有Main调用BallFactory的一个方法来处理列表呢?这样Main不需要在其中添加任何额外的代码。所以...... Ball会调用addRequest(),Main会调用processRequests() –
所以基本上processRequests()会根据它的私有请求列表调用main.createBall()。 –