我想创建一种模拟。它应该显示鱼/鲨鱼/逆戟鲸的特定位置(不是真实的,它们是随机设置的)。我的模拟可以显示起始情况:
glOrtho(0, breite, 0, hoehe, 0, 1);
glClearColor(0, 0, 1, 0);
glClear(GL_COLOR_BUFFER_BIT);
//Besetzen der Felder
srand(time(0));
NSMutableArray* Wator = [NSMutableArray new];
for(int y = 0; y < hoehe; y++){
for(int x = 0; x < breite; x++){
NSInteger r = rand() % 100;
if (r < fishPer) {
[Wator addObject:[[[Fish alloc]init]autorelease]];
drawAFish(x,y);
}else {
if (r < sharkPer + fishPer) {
[Wator addObject:[[[Shark alloc]init]autorelease]];
drawAShark(x, y);
}else {
if (r < orcaPer + sharkPer + fishPer) {
[Wator addObject:[[[Orca alloc]init]autorelease]];
drawAOrca(x, y);
}
}
}
}
}
glFlush();
工作正常。 drawAFish / drawAShark ...绘制一个简单的Quad:
static void drawAOrca (int x, int y)
{
glColor3f(1.0f, 1.0f, 0.0f);
glBegin(GL_QUADS);
{
glVertex3i( x, y, 0);
glVertex3i( x+1, y, 0);
glVertex3i( x+1, y+1, 0);
glVertex3i( x, y+1, 0);
}
glEnd();
}
所以我的问题是:如何重绘场景?
谷歌或文档中没有太多有用的信息。
感谢您的帮助
马塞尔
答案 0 :(得分:2)
清除屏幕并再次绘制所有内容。这是标准方法。