我一直在搜索大量的论坛,但没有任何工作(或理解)。 所以我有这个
public void OnFinishCasting(Champion owner, Spell spell, Unit target)
{
var current = new Vector2(owner.X, owner.Y);
var to = Vector2.Normalize(new Vector2(spell.X, spell.Y) - current);
var range = to * 1150;
var trueCoords = current + range;
我会向你解释它的作用。 当我按下Q按钮时,它会向鼠标方向射出一个射弹,我需要的是制作另一个射弹并将其射向另一个方向,如锥形或其他东西,无论它在哪里,只需旋转它我喜欢的方式。 怎么做 ?
答案 0 :(得分:1)
根据您所说的内容:
制造另一个射弹并朝另一个方向射击......,不 无论去哪里
我只会在X&添加一些随机值。
new Vector2(spell.X + intRndX, spell.Y + intRndY)
试试这个:
public static class Vector2Extensions
{
public static Vector2 Rotate(this Vector2 v, double degrees)
{
return new Vector2(
(float)(v.X * Math.Cos(degrees) - v.Y * Math.Sin(degrees)),
(float)(v.X * Math.Sin(degrees) + v.Y * Math.Cos(degrees))
);
}
}
这将为Vector2类添加扩展名,您可以调用:
trueCoords.Rotate(Math.PI/90)
获取新的载体