
Untitled
By: a guest on
May 8th, 2012 | syntax:
C++ | size: 1.90 KB | hits: 15 | expires: Never
void Field::paintEvent(QPaintEvent *event)
{
makeCurrent();
//! [4]
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
//! [4]
//! [6]
qglClearColor(QColor(100,150,80));
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT5);
glEnable(GL_MULTISAMPLE);
static GLfloat lightPosition[4] = { 0.5, 5.0, 7.0, 1.0 };
glLightfv(GL_LIGHT5, GL_POSITION, lightPosition);
setupViewport(width(), height());
//! [6]
//! [7]
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0.0, 0.0, -10.0);
////////
//! [7]
//! [8]
glShadeModel(GL_FLAT);
glDisable(GL_CULL_FACE);
glDisable(GL_DEPTH_TEST);
glDisable(GL_LIGHTING);
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
//! [8]
// Player->move(rect());
// Player->SetVelX(0);
// Player->SetVelY(0);
// update();
//! [10]
setupViewport(width(), height());
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
DrawBack(&painter);
foreach(Block* block, Blocks)
{
//if (block->rect().intersects(event->rect()))
block->draw(&painter);
}
if (Player->rect().intersects(event->rect()))
Player->drawBubble(&painter);
foreach (Bubble *bubble, AI) {
if (bubble->rect().intersects(event->rect()))
bubble->drawBubble(&painter);
}
//drawInstructions(&painter);*/
foreach (holder* Bullet,Bullets)
{
if (Bullet->rect().intersects(event->rect()))
Bullet->draw(&painter);
}
painter.end();
}
void Field::DrawBack(QPainter *painter)
{
painter->save();
// painter->translate(pos.x(), pos.y());
painter->setBrush(brush);
painter->drawRect(0,0,1000,1000);
painter->restore();
}