bool IScene::loadPixmap(QPixmap &pm, const QString &name, int dx, int dy) { pm = QPixmap(getSchemePath() + "/" + name); if (pm.isNull()) { pm = QPixmap(":/images/" + name); if (pm.isNull()) return false; } pm = pm.scaled(dx,dy, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); return true; }
void GameScene::initTheme() { // pre-load blocks concrete = QPixmap(getSchemePath() + "/con1.png").scaled(X56,Y56, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); if (concrete.isNull()) concrete = gameStock->Concrete; block1 = QPixmap(getSchemePath() + "/block1.png").scaled(X56,Y56, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); if (block1.isNull()) block1 = gameStock->Block1; block2 = QPixmap(getSchemePath() + "/block2.png").scaled(X56,Y56, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); if (block2.isNull()) block2 = gameStock->Block2; target1 = QPixmap(getSchemePath() + "/target1.png").scaled(X56,Y56, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); if (target1.isNull()) target1 = gameStock->Target1; target2 = QPixmap(getSchemePath() + "/target2.png").scaled(X56,Y56, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); if (target2.isNull()) target2 = gameStock->Target2; // pre-load items allItems.clear(); QStringList ext; ext << "item*.png"; QStringList entryList = QDir(getSchemePath()).entryList(ext); for (int i = 0; i < MAX_ITEMS_COUNT; i++) { QPixmap pm((i < entryList.count()) ? getSchemePath() + "/" + entryList.at(i) : gameStock->Items.at(i)); allItems.append(pm.scaled(X48,Y48, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); } loadRandomBackground(); }