本文整理汇总了C++中Level::addItem方法的典型用法代码示例。如果您正苦于以下问题:C++ Level::addItem方法的具体用法?C++ Level::addItem怎么用?C++ Level::addItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Level
的用法示例。
在下文中一共展示了Level::addItem方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createTestLevel
Level* LevelFactory::createTestLevel() {
Level* level = new Level(parent_);
int colWidth = Game::Width / Level::BrickCols;
int colHeight = Game::Height/2 / Level::BrickRows;
int hp = Brick::MaxHealth;
// offset by 1 - first row empty
for(int i = 1; i < Level::BrickRows && hp > 0; i++) {
// offset by 1, first and last column empty
for(int j = 1; j < Level::BrickCols-1; j++) {
Brick* brick = new Brick(hp);
level->addItem(brick);
brick->setPos(colWidth*j, colHeight*i);
}
hp--;
}
createBall(level);
createPaddle(level);
return level;
}
示例2: if
Level *Level::LoadFromFile(std::string pFilePath, Point pAvatarPosition)
{
Level *lLevelResult = new Level();
lLevelResult->init();
std::string lStrJson = loadTextFile(pFilePath);
Json::Value lRoot;
Json::Reader lReader;
bool lParsingSuccessful = lReader.parse(lStrJson, lRoot, false);
if (!lParsingSuccessful)
{
return nullptr;
}
lLevelResult->mBackgroundColor.r = lRoot["BackColorR"].asInt();
lLevelResult->mBackgroundColor.g = lRoot["BackColorG"].asInt();
lLevelResult->mBackgroundColor.b = lRoot["BackColorB"].asInt();
Json::Value lJsonMaps = lRoot["Maps"];
for (Json::ValueIterator lItrJsonMap = lJsonMaps.begin(); lItrJsonMap != lJsonMaps.end(); lItrJsonMap++)
{
Map *lNewMap = Map::LoadFromJson(*lItrJsonMap);
if (lNewMap->getName() == "CollisionMap")
{
lLevelResult->mCollisionMap = lNewMap;
}
else if (lNewMap->getName() == "BackDecorsMap")
{
lLevelResult->mBackDecorsMap = lNewMap;
}
else if (lNewMap->getName() == "FrontDecorsMap")
{
lLevelResult->mFrontDecorsMap = lNewMap;
}
}
Json::Value lJsonItems = lRoot["Items"];
for (Json::ValueIterator lItrJsonItem = lJsonItems.begin(); lItrJsonItem != lJsonItems.end(); lItrJsonItem++)
{
Json::Value lJsonItem = (*lItrJsonItem);
std::string lItemName = lJsonItem["Name"].asString();
Item* lNewItem = Item::createItem(lItemName);
if (lNewItem->typeName() == "PlayerAvatar")
{
if (pAvatarPosition.x != -1 )
{
lNewItem->setPosition(pAvatarPosition);
}
}
lNewItem->setLevel(lLevelResult);
lNewItem->init(lJsonItem);
lLevelResult->addItem(lNewItem);
}
lLevelResult->mCamera.setCollistionMap(lLevelResult->mCollisionMap);
lLevelResult->mCamera.setLevel(lLevelResult);
Size lLevelSize = lLevelResult->mBackDecorsMap->getSize();
int lTileSize = lLevelResult->mBackDecorsMap->getTileSize();
lLevelResult->mAreaManager.setLevelSize(Size(lLevelSize.width * lTileSize, lLevelSize.height * lTileSize));
lLevelResult->mAreaManager.init();
return lLevelResult;
}