XNA 2D旋转雪碧,具有真实旋转位置(月球着陆器排气管位置) 我正在制作一个小型月球着陆器克隆,它的工作相当好,现在我给着陆器增加了粒子效应,所以当推力变大时,粒子效应就在飞船的正中间产生。

XNA 2D旋转雪碧,具有真实旋转位置(月球着陆器排气管位置) 我正在制作一个小型月球着陆器克隆,它的工作相当好,现在我给着陆器增加了粒子效应,所以当推力变大时,粒子效应就在飞船的正中间产生。,xna,rotation,2d,sprite,Xna,Rotation,2d,Sprite,我想要发生的是粒子被创造出来,飞船的排气在精灵上。这让我很难堪。我知道我应该能够计算它,因为我都有旋转角度和当前位置,所以我应该能够得到我的64x64精灵中任何像素的旋转位置 我对计算Lander.detail.X和Lander.detail.Y的值感兴趣。谁能给我指一下正确的方向吗 //这是代码的一部分,我确信我不需要全部:) 着陆器加速.X=着陆器加速.X*(0.01f*游戏时间.ElapsedGameTime.s); 着陆器.加速度.Y=着陆器.加速度.Y*(0.01f*游戏时间.Elap

我想要发生的是粒子被创造出来,飞船的排气在精灵上。这让我很难堪。我知道我应该能够计算它,因为我都有旋转角度和当前位置,所以我应该能够得到我的64x64精灵中任何像素的旋转位置

我对计算Lander.detail.X和Lander.detail.Y的值感兴趣。谁能给我指一下正确的方向吗

//这是代码的一部分,我确信我不需要全部:)

着陆器加速.X=着陆器加速.X*(0.01f*游戏时间.ElapsedGameTime.s); 着陆器.加速度.Y=着陆器.加速度.Y*(0.01f*游戏时间.ElapsedGameTime.秒)

-少女

根据精灵的初始角度,可能需要将角度减去或加上
PI/2
。发射器将距离着陆器位置32像素

顺便说一句,把游戏的每一部分都放在自己的类中可能是个好主意,这会使以后更改内容变得更容易

还有一件事,当你把速度加到位置上时,你可以这样做:

Lander.Position += Lander.velocity;
它基本上做同样的事情

根据精灵的初始角度,可能需要将角度减去或加上
PI/2
。发射器将距离着陆器位置32像素

顺便说一句,把游戏的每一部分都放在自己的类中可能是个好主意,这会使以后更改内容变得更容易

还有一件事,当你把速度加到位置上时,你可以这样做:

Lander.Position += Lander.velocity;

它基本上做同样的事情。

在你的行中
particleEngine.EmitterLocation…
你可以说
particleEngine.EmitterLocation=Lander.detail
只要排气是一个矢量2是的,谢谢你这似乎在你的行中起作用
particleEngine.EmitterLocation…
你可以说
particleEngine.EmitterLocation=Lander.detaxe
如果排气是一个矢量2是的,谢谢你这看起来很有效ander.detaxe.X=(float)Math.Cos(RotationAngle+MathHelper.Pi)*32+Lander.Position X;Lander.detain.Y=(float)Math.Sin(RotationAngle+MathHelper.Pi)*32+Lander.Position.Y;这两条线使排气管刚好位于thuster的下方,所以谢谢:)如果您不理解,可以减少32秒,使其更靠近精灵的中心。要将答案标记为正确,可以单击votesLander.detain.X=(float)Math.Cos(RotationAngle+MathHelper.Pi)*32+Lander.Position.X编号下的勾号;Lander.detain.Y=(float)Math.Sin(RotationAngle+MathHelper.Pi)*32+Lander.Position.Y;这两条线使排气管刚好位于thuster的下方,所以谢谢:)如果您不理解,可以减少32秒,使其更靠近精灵的中心。要将答案标记为正确,可以单击投票数下的勾号
Lander.Position += Lander.velocity;