gpt4 book ai didi

c# - XNA 旋转 Sprite 以准确面对光标

转载 作者:太空狗 更新时间:2023-10-30 01:09:16 26 4
gpt4 key购买 nike

我一直在尝试使用 XNA 让 Sprite 面对我的光标,它几乎完美地工作,但它不是 Sprite 面部的中心,而是指向光标的角......这是不对于 Sprite 中心的某些东西必须面对光标的游戏来说很好,只是想知道是否有办法让它从某个点开始指向……这听起来很困惑,但我希望有人能明白:)

这是我使用的代码:

获取角度:

direction = mousePos - position;
rotation = (float)Math.Atan2(direction.Y, direction.X);

绘制 Sprite :

spriteBatch.Begin();
spriteBatch.Draw(sprite, position, null, Color.White, rotation + 90, origin, 1.0f, SpriteEffects.None, 0);
spriteBatch.End();

所以如果这是我的 Sprite :[ ] 左上角将指向光标,而不是中间 :P

最佳答案

不要加上 90。不管你做什么。 Atan2 函数将返回以弧度为单位的角度(一旦开始使用它们,比度数要好得多)。所以加 90 会立即结束。

如果要将图像旋转 90 度,则需要将 PI 的值加一半(360 度 = 2xPI)。

所以这应该会处理它。

spriteBatch.Draw(sprite, position, null, Color.White, rotation + (Math.PI*0.5f), origin, 1.0f, SpriteEffects.None, 0);

关于c# - XNA 旋转 Sprite 以准确面对光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7339574/

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