首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XNA Scale BoundingBox

XNA Scale BoundingBox
EN

Stack Overflow用户
提问于 2013-08-28 03:10:11
回答 1查看 606关注 0票数 1

我正在为一个按钮编写一个类。这个想法是按钮计算文本的大小,然后相应地缩放它自己。

代码语言:javascript
复制
float X = font.MeasureString(text).X;
float Y = font.MeasureString(text).Y;
float x = 1.0f + (X / buttonTexture.Width);
float y = 1.0f + (Y / buttonTexture.Height);
scale = new Vector2(x,y);

这段代码运行得很好。

我正在使用BoundingBoxes检查冲突。但是,如何在创建边界框时考虑比例毒害?

到目前为止,我有:

代码语言:javascript
复制
BoundingBox buttonBox = new BoundingBox(new Vector3(location, 0), new Vector3(location.X  + buttonTexture.Width, location.Y  + buttonTexture.Height, 0));

我试着将边界框的右下点乘以比例:

代码语言:javascript
复制
BoundingBox buttonBox = new BoundingBox(new Vector3(location, 0), new Vector3((location.X  + buttonTexture.Width * scale.X), (location.Y  + buttonTexture.Height) * scale.Y, 0));

但碰撞发生在离按钮数英里的地方

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-08-28 04:36:43

根据您的比例变换边界框:

代码语言:javascript
复制
  scaledBounds = new BoundingBox(bounds.Min * Scale, bounds.Max*Scale)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18473611

复制
相关文章

相似问题

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