我正在编写一个基本的游戏引擎并且有一个抽象类来表示可以在3D世界中绘制的任何对象,但是在这个类中是一个抽象方法Render()我想在每个绘制阶段由引擎自动调用.我怎么能实现这个,以便从我的抽象类扩展的每个类都会自动调用Render()?
我正在使用java,android sdk 2.2和opengl es.
您可以将可以呈现的每个对象注册到将在所有对象上调用render()的类.
例如 :
public class Registry{
private static Collection<RenderedObject> register = new ArrayList<RenderedObject>();
public static void add(RenderedObject obj){
register.add(obj);
}
public static void renderAll(){
for(RenderedObject obj : register){
obj.render();
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以在RenderedObject的构造函数中将对象注册到注册表中.
归档时间: |
|
查看次数: |
1797 次 |
最近记录: |