gpt4 book ai didi

c++ - 如何在 SFML 中找到矩形的坐标?

转载 作者:行者123 更新时间:2023-11-28 04:10:29 25 4
gpt4 key购买 nike

我想在屏幕上画一条连续的线,使用矩形。我修改了矩形的粗细,所以它看起来像一条线,而不是矩形。现在,由于我想绘制不同的矩形形状,我需要知道形状的坐标以便我可以调整它们,但是给出的函数 GetPoint 只返回一个包含两个值的 vector ,当矩形有4分。也许这是一个愚蠢的问题,但我怎样才能得到形状的坐标,如果有旋转,我该怎么做呢?我在 sfml 上读到函数 GetPoint 没有考虑旋转和其他东西。我附上我想做的事情的链接。所以我想制作一个矩形列表,看起来是线条,为旋转生成一个随机角度,然后制作一个函数来设置图片中的位置(尽管如此,我不知道我的想法是否可行,如果有更简单的方法,欢迎提出想法)。

https://imgur.com/a/KUwqn9M

最佳答案

您可以使用 getPoint(index) 获取形状的所有点,索引范围为 0 到 Shape::getPointCount()(在您的代码中应该为 4案件)。您可以使用自定义矩阵进一步转换这些点以获得真实世界位置。

sf::Shape myShape = /* ... */;
sf::Transform matrix = /* could be myShape.getTransform() */;
for (int i = 0; i < myShape.getPointCount(); ++i) {
const auto pointInModelSpace = matrix.transformPoint(myShape.getPoint(i));
}

关于c++ - 如何在 SFML 中找到矩形的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57921040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com