当前位置: 首页>>代码示例>>C++>>正文


C++ Maze::getSize方法代码示例

本文整理汇总了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);
}
开发者ID:eka-tel72,项目名称:tumbler_maze,代码行数:33,代码来源:Renderer.cpp


注:本文中的Maze::getSize方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。