У меня есть круг (ограничивающий круг), смещенный относительно центральной точки моего объекта, и я смотрю, как перемещать этот круг вокруг объекта при его вращении, чтобы он всегда находился в одном и том же месте персонажа.Например, скажем, у меня есть ограничительный круг для передней части автомобиля, когда автомобиль поворачивает, этот ограничительный круг тоже должен поворачиваться.
Итак, у меня есть две точки: position
, которая является позициейцентральная точка сущности и offset
, которая является смещением круга от этой позиции.Предполагается, что угол равен 0.
Так что, если моя машина будет повернута к 0 градусам: position
(150, 150) и offset
(50, 0), тогда ограничивающий круг будет равен 200, 150.
Теперь, если я повернул машину на 90 градусов, ограничивающий круг должен быть в положении 150, 200.
Это то, что у меня сейчас:
var differenceX : Number = _centre.x - _offset.x;
var differenceY : Number = _centre.y - _offset.y;
var rotatedX : Number = differenceX * Math.cos(_angle);
var rotatedY : Number = differenceY * Math.sin(_angle);
var currentOffset : Point = new Point(_centre.x + rotatedX, _centre.y + rotatedY);
Но этодайте мне эти длинные овалы и теперь идеальный круг.
Идеи?