本文整理汇总了C++中Water::SetPosition方法的典型用法代码示例。如果您正苦于以下问题:C++ Water::SetPosition方法的具体用法?C++ Water::SetPosition怎么用?C++ Water::SetPosition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Water
的用法示例。
在下文中一共展示了Water::SetPosition方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: clock
//.........这里部分代码省略.........
}
printf("World tiles fill: %d ms. \n", clock() - start);
start = clock();
/*for (int i = 0; i < 0; i++)
CelluarAuto(Height, i);*/
printf("Celluar Auto: %d ms. \n", clock() - start);
start = clock();
int k = 0;
while (k < 100)
{
int i = rand() % Width;
int j = rand() % height;
if (GetBlock(i, j) == 0)
continue;
k += GenerateVein(i, j, Block::Stone->Id, 5);
}
printf("Veins generation: %d ms. \n", (clock() - start));
}
else
{
for (int i = 0; i < Width; i++) {
for (int j = 0; j < Height; j++) {
blocks[i][j].Id = mapData[i + j * width];
}
}
}
start = clock();
for (int i = 0; i < Width; i++) {
for (int j = 0; j < Height; j++) {
if (blocks[i][j].Id != 0)
blocks[i][j].connectionIndex = GetConnectionIndex(i, j);
}
}
for (int i = 0; i < Width; i++) {
for (int j = 0; j < Height; j++) {
if (walls[i][j].Id != 0)
walls[i][j].connectionIndex = GetConnectionIndex(i, j, true);
}
}
printf("Tiles connections: %d ms. \n", clock() - start);
start = clock();
for (int i = 0; i < Width; i++) {
for (int j = 0; j < Height; j++) {
if (blocks[i][j].Id == 0 && walls[i][j].Id == 0)
{
blocks[i][j].lightSource = MAX_LIGHT;
if (NearLive(i, j, 1) == 0)
blocks[i][j].lightValue = MAX_LIGHT;
}
}
}
minX = 0;
minY = 0;
maxX = width;
maxY = height;
CalculateLights(true);
printf("Lights calculations: %d ms. \n", clock() - start);
start = clock();
player = new Player();
Respawn();
entities.push_back(player);
int water_count = 3;
int water_x = (int)player->GetPosition().x;
int water_y = GetTop(water_x);
for (int i = water_x - 2; i < water_x + 2; i++)
{
for (int j = water_y; j < water_y + 2; j++)
{
SetBlock(i, j, 0);
SetWall(i, j, 0);
for (int k = 0; k < water_count; k++)
{
for (int l = 0; l < water_count; l++)
{
Water* water = new Water();
water->SetPosition(glm::vec2(i + k * (1 / (float)water_count), j + l * (1 / (float)water_count)));
waters.push_back(water);
entities.push_back(water);
}
}
}
}
skyManager = new SkyManager(this->Width);
}