Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 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);
 
}
Буду очень признателен любой помощи!

Старый 15.04.2012, 18:55
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Название темы не отражает сути вопроса.

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 01:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.