首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++渲染形状

C++渲染形状
EN

Stack Overflow用户
提问于 2015-04-13 15:28:02
回答 1查看 276关注 0票数 0

我试图在一个特定的区域内生成形状。我正在制作的游戏分辨率为1024x768,但游戏板在屏幕中心只占768x768。

目前,我可以获得任意生成的形状,并且不超过MAXIMUM_WIDTH和MAXIMUM_HEIGHT约束。然而,形状仍然可以渲染太左,这是远离游戏板。我尝试过添加MINIMUM_WIDTH和MINUMUM_HEIGHT,但是我不确定在x=和y=阶段应该在哪里应用它

我已经包括了下面的相关代码。

我可以在这个代码中添加/修改什么来使形状被限制在游戏板上?

谢谢。

代码语言:javascript
复制
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;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-13 15:45:43

你可以试试

代码语言:javascript
复制
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之间)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29609204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档