我对xna很新.我刚刚创建了一个透明背景(品红色)的精灵.问题是我的Rectangle正在读取整个精灵的坐标而不是可见的精灵.如何使它只读取可见的精灵.
myrectangle = new Rectangle(0, 0, box.Width, box.Height);
Run Code Online (Sandbox Code Playgroud)
我想将可见部分放在那个位置不透明.提前致谢.
要将颜色转换为透明,请转到纹理属性,内容处理器和启用颜色键,然后将颜色键设置为洋红色.

然后,要将精灵定位在您想要的位置,您需要设置正确的原点.
要将船舶中心设置在所需位置,需要设置原点,如下所示:

所以当你绘制它时,你需要做类似的事情:
var origin = new Vector2(40,40);
spritebatch.Draw(shipTexture, shipPosition, null, Color, origin, ...)
Run Code Online (Sandbox Code Playgroud)
您也可以更改纹理矩形源:
var texSource = new Rectangle( 25,25, 30,30);
spritebatch.Draw(shipTexture, shipPosition, texSource, Color)
Run Code Online (Sandbox Code Playgroud)

如果您想将船舶定位在其中心,则可能需要更改原点