我正在为一个按钮上课。这个想法是按钮计算文本的大小,然后相应地缩放自身。
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 来检查碰撞。但是,在创建边界框时如何考虑比例位置?
到目前为止,我有:
BoundingBox buttonBox = new BoundingBox(new Vector3(location, 0), new Vector3(location.X + buttonTexture.Width, location.Y + buttonTexture.Height, 0));
我尝试将边界框的右下点乘以比例:
BoundingBox buttonBox = new BoundingBox(new Vector3(location, 0), new Vector3((location.X + buttonTexture.Width * scale.X), (location.Y + buttonTexture.Height) * scale.Y, 0));
但碰撞发生在距离按钮数英里的地方
提前致谢。