本文整理汇总了C++中Maze::getSize方法的典型用法代码示例。如果您正苦于以下问题:C++ Maze::getSize方法的具体用法?C++ Maze::getSize怎么用?C++ Maze::getSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Maze
的用法示例。
在下文中一共展示了Maze::getSize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createTumbler
void Renderer::createTumbler(const Maze& maze,
std::vector<SpritePiece>* pieces) {
mTargetSize = maze.getSize() * CELL_SIZE;
initTargets();
auto cols = maze.getSize().x;
auto rows = maze.getSize().y;
sf::Sprite sprite;
sprite.setTextureRect(sf::IntRect(0, 0, CELL_SIZE, CELL_SIZE));
for (auto& target : mTargets) {
auto view = target->getView();
auto center = view.getCenter();
auto pieceW = view.getSize().x;
auto pieceH = view.getSize().y;
auto x = center.x - pieceW / 2.0f;
auto y = center.y - pieceH / 2.0f;
auto vRect = sf::FloatRect(x, y, pieceW * 1.0f, pieceH * 1.0f);
for (auto r = 0u; r < rows; ++r) {
for (auto c = 0u; c < cols; ++c) {
const auto& data = maze.getChipData(r, c);
const auto& p = data.pos;
const auto& chip = mMapchips.at(p[1]).at(p[0]);
sprite.setTexture(chip);
sprite.setPosition(c * CELL_SIZE * 1.0f, r * CELL_SIZE * 1.0f);
if (vRect.intersects(sprite.getGlobalBounds())) {
target->draw(sprite);
}
}
}
}
createPieces(pieces);
}