本文整理汇总了C++中BoxCollider::getWidth方法的典型用法代码示例。如果您正苦于以下问题:C++ BoxCollider::getWidth方法的具体用法?C++ BoxCollider::getWidth怎么用?C++ BoxCollider::getWidth使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BoxCollider
的用法示例。
在下文中一共展示了BoxCollider::getWidth方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: placeUnit
void GameScreen::placeUnit(Unit* unit){
bool done = false, regen = false;
int attempts = 0;
while (!done){
unit->setPosition(random::rnd.number(m_width), random::rnd.number(m_height), 1);
for (int i = 0; i < m_land->size(); i++){
Vector point1, point2;
point1 = unit->getPosition().x - (unit->getModel()->getCollider().getWidth() / 2);
point2 = unit->getPosition().x + (unit->getModel()->getCollider().getWidth() / 2);
BoxCollider tempBCol;
tempBCol = m_landCube->getCollider();
tempBCol.setPos(m_land->at(i));
if ((point1.x <= tempBCol.getPos().x + (tempBCol.getWidth() / 2) && point1.x >= tempBCol.getPos().x - (tempBCol.getWidth() / 2)) || (point2.x <= tempBCol.getPos().x + (tempBCol.getWidth() / 2) && point2.x >= tempBCol.getPos().x - (tempBCol.getWidth() / 2))){
unit->setPosition(m_land->at(i).x, m_land->at(i).y + m_landCube->getCollider().getHeight(), 1);
for (int j = 0; j < m_land->size(); j++){
if (unit->getPosition().x == m_land->at(j).x){
if (unit->getPosition().y < m_land->at(j).y){
float temp;
temp = m_land->at(j).y - unit->getPosition().y;
if (temp <= 0.1f){
unit->setPosition(m_land->at(j).x, m_land->at(j).y + m_landCube->getCollider().getHeight(), 1);
}
}
}
}
if (unit->getPosition().y < m_height){
done = true;
}
for (int k = 0; k < NBR_TEAMS; k++){
for (int l = 0; l < NBR_UNITS; l++){
if (m_teams[k]->getUnit(l) == unit){
continue;
}
if (m_teams[k]->getUnit(l)->getPosition() == unit->getPosition()){
done = false;
}
}
}
break;
}
}
if (attempts >= 100){
done = true;
regen = true;
}
attempts++;
}
if (regen){
createGame(m_tGen.getCurrentType());
}
unit->setPosition(unit->getPosition().x, unit->getPosition().y + m_landCube->getCollider().getHeight(), 1);
}