C++渲染形状
C++ rendering shapes
我正在尝试在特定区域内生成形状。我正在制作的游戏分辨率为1024x768,但游戏板在屏幕中央仅占768x768。
目前,我可以获得随机生成的形状并且不超过 MAXIMUM_WIDTH 和 MAXIMUM_HEIGHT 约束。然而,这些形状仍然会渲染得离游戏板太远。我尝试添加 MINIMUM_WIDTH 和 MINUMUM_HEIGHT 但我不确定在 x= 和 y= stage
的什么地方应用它
我在下面包含了相关代码。
我可以add/modify对这段代码做些什么来使形状仅限于游戏板?
谢谢。
const size_t MaxShapes {5};
const unsigned int MaxScale {5};
const unsigned int MINIMUM_WIDTH = 128;
const unsigned int MAXIMUM_WIDTH = 896;
const unsigned int MINUMUM_HEIGHT = 0;
const unsigned int MAXIMUM_HEIGHT = 768;
bool PlayState::onCreate()
{
snakes_.push_back(new AISnake);
snakes_.back()->setPosition(Position(40,40));
snakes_.push_back(new PlayerSnake);
snakes_.back()->setPosition(Position(20,20));
double x, y;
for(unsigned shape = 0;shape < MaxShapes;shape++)
{
x = (double)(rand() % MAXIMUM_WIDTH);
y = (double)(rand() % MAXIMUM_HEIGHT);
shapes_.push_back(Triangle({x, y}));
}
return true;
}
你可以试试
x = (double)((rand() % (MAXIMUM_WIDTH - MINIMUM_WIDTH)) + MINIMUM_WIDTH);
y = (double)((rand() % (MAXIMUM_HEIGHT - MINIMUM_HEIGHT)) + MINIMUM_HEIGHT);
假设你想找到一个介于 5 和 15 之间的随机数。5 和 15 之间的差是 10。所以你首先找到一个介于 0 和 10 之间的随机数,然后将其与 5 相加以将其带回适当的范围(5 到 15 之间)。
我正在尝试在特定区域内生成形状。我正在制作的游戏分辨率为1024x768,但游戏板在屏幕中央仅占768x768。
目前,我可以获得随机生成的形状并且不超过 MAXIMUM_WIDTH 和 MAXIMUM_HEIGHT 约束。然而,这些形状仍然会渲染得离游戏板太远。我尝试添加 MINIMUM_WIDTH 和 MINUMUM_HEIGHT 但我不确定在 x= 和 y= stage
的什么地方应用它我在下面包含了相关代码。
我可以add/modify对这段代码做些什么来使形状仅限于游戏板?
谢谢。
const size_t MaxShapes {5};
const unsigned int MaxScale {5};
const unsigned int MINIMUM_WIDTH = 128;
const unsigned int MAXIMUM_WIDTH = 896;
const unsigned int MINUMUM_HEIGHT = 0;
const unsigned int MAXIMUM_HEIGHT = 768;
bool PlayState::onCreate()
{
snakes_.push_back(new AISnake);
snakes_.back()->setPosition(Position(40,40));
snakes_.push_back(new PlayerSnake);
snakes_.back()->setPosition(Position(20,20));
double x, y;
for(unsigned shape = 0;shape < MaxShapes;shape++)
{
x = (double)(rand() % MAXIMUM_WIDTH);
y = (double)(rand() % MAXIMUM_HEIGHT);
shapes_.push_back(Triangle({x, y}));
}
return true;
}
你可以试试
x = (double)((rand() % (MAXIMUM_WIDTH - MINIMUM_WIDTH)) + MINIMUM_WIDTH);
y = (double)((rand() % (MAXIMUM_HEIGHT - MINIMUM_HEIGHT)) + MINIMUM_HEIGHT);
假设你想找到一个介于 5 和 15 之间的随机数。5 和 15 之间的差是 10。所以你首先找到一个介于 0 和 10 之间的随机数,然后将其与 5 相加以将其带回适当的范围(5 到 15 之间)。