/** Modify the position of all active projectiles, */ void Cannon::updateProjectiles(){ QListIterator<Projectile *> i(projectiles); Projectile *p; while (i.hasNext()){ p = i.next(); p->updatePosition(); QList<QGraphicsItem *> collisions = p->collidingItems(); if(collisions.size() > 0){ //qDebug()<<"collision size:"<<collisions.size(); QVector2D newVelocity = p->getVelocity(); for (int i = 0; i < collisions.size(); ++i) { QGraphicsItem *ob = collisions.at(i); newVelocity = p->resolveCollisionType(ob); } p->setVelocity(newVelocity); } } }