Привет всем, поэтому у меня проблемы с этим. Таким образом, у меня есть массив Barrel Добавленные к сцене видеоклипы и видеоклип под названием Круг, который при контакте с любым из стволов в массиве начинает вращаться ствол, который он в настоящее время начинает вращаться. Он вращается на своей точке регистрации, которая центрирована. Так что в моем ENTER_FRAME событие, где у меня есть установка все для ствола, чтобы повернуть и ударить тест и т.д ...Как стрелять по углам с вращающимся клипом?
Это как круг добавляется к бочкам:
if (!circleFired)
{
circle.x = globalFirePoint.x;
circle.y = globalFirePoint.y;
currentCannon.addChildAt(circle, 0);
}
Теперь я пытаюсь для достижения - когда пользователь нажимает на экран круг. Клип снимается с Бочка. Прямо сейчас у меня есть стрельба из ствола в угол, который он должен стрелять, но вместо того, чтобы идти по прямой линии от угла, на котором он стреляет, он стреляет и начинает очень быстро поворачиваться в положении по часовой стрелке, когда вращающийся цилиндр вращается.
Вот код, я что-то работает, кроме того одна проблема:
var dX:Number = globalFirePoint.x;
var dY:Number = globalFirePoint.y;
var angle:Number = Math.atan2(dY, dX);
if (circleFired)
{
circle.x += Math.sin(deg2rad(angle -90)) * velocity;
circle.y += Math.cos(deg2rad(angle - 90)) * velocity;
}
так globalFirePoint
является следующее:
globalFirePoint = localToGlobal(new Point(currentCannon.mcFirePoint.x, currentCannon.mcFirePoint.y));
Его отправной точкой я хочу круг, чтобы стрелять из.
Вот deg2rad Функция:
private function deg2rad(num:Number):Number
{
var radians:Number = num * (Math.PI/180);
return radians;
}
Я знаю, что мне нужно от греха и соз для вычисления угла правильного? Является ли математика неправильной? Почему круг изгибается, когда круг стреляет из globalFirePoint? Что я могу сделать, чтобы сделать это по прямой?
Любая помощь будет принята за благодарность!
Это определенно только после поворота пути стволов. Я не знаю, как он оборвал его путь и просто продолжал прямую линию. – Nathan