Показать сообщение отдельно
Старый 15.04.2012, 16:01
AndreChelentano вне форума Посмотреть профиль Отправить личное сообщение для AndreChelentano Найти все сообщения от AndreChelentano
  № 1  
AndreChelentano

Регистрация: Apr 2012
Сообщений: 3
Post Прошу всех помочь! (AS)

Заранее извиняюсь за кричащее название темы.
Я начинающий программер и делаю проект по flash'у в actionscript (игру). Игра заключается в том, что игрок стреляет шариками из прикреплённой к "полу" пушки, которая вращается мышью. Моя основная проблема в том, что я не знаю каким образом сделать так, чтобы при нажатии мыши шар прикреплялся к траектории. Траектория делится на 2 участка : сначала шар летит из начальной точки по прямой к месту, куда мы нажали, а после шар по параболе падает вниз с ускорением. Была идея разделить первый участок ещё на несколько частей и увеличивая координаты шара по обеим осям на один из таких кусочков, делать небольшую задержку. Уточню, что всё это происходит на одном кадре. Цель же, сделать так, чтобы шар не сразу оказался в конечном месте, а так, чтобы мы после одного лишь щелчка пронаблюдали его полёт.
Пытаясь это реализовать, я сделал фоном большую кнопку, при нажатии которой считается разность координат между шаром и местом, в которое мы нажали, делится это расстояние на 5 частей и происходит постепенное увеличение координат шара.
Мой основной вопрос : как сделать задержу в AS 1.0-2.0? Прошу вас помочь мне. Вы можете предложить свой вариант решения, или исправить мой код.

Код AS1/AS2:
on(press) 
{
 
dlx = _root._xmouse - ball._x;
dly = ball._y - _root._ymouse;
ball._x = ball._x + (dlx/5);
ball._y = ball._y - (dly/5);
ball._x = ball._x + (dlx/5);
ball._y = ball._y - (dly/5);
ball._x = ball._x + (dlx/5);
ball._y = ball._y - (dly/5);
ball._x = ball._x + (dlx/5);
ball._y = ball._y - (dly/5);
ball._x = ball._x + (dlx/5);
ball._y = ball._y - (dly/5);
 
}
Буду очень признателен любой помощи!