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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.05.2013, 00:26
zzSpirit вне форума Посмотреть профиль Отправить личное сообщение для zzSpirit Найти все сообщения от zzSpirit
  № 1  
Ответить с цитированием
zzSpirit
 
Аватар для zzSpirit

Регистрация: Jan 2013
Адрес: Москва, Сходня
Сообщений: 41
По умолчанию алгоритм програмной анимации

Здравствуйте, хочу сделать так:
Машинка должна ехать вверх, то останавливаясь, то опять начиная движение. Также она поворачивает влево и вправо до определенных границ. Но... Это должно выполняться по специально сгенерированному коду, типа:
12593029832423490109483434567
планирую брать такую строку и разделять ее по 2 числа- и чтобы каждая строка значила на сколько процентов переместимся(100% перемещение - это весь пройденный путь). Но тут не учитывается еще и анимация поворотов вправо и влево и вообще алгоритм не очень нравится, первый до которого я додумался.
Кто может еще какие алгоритмы в теории предложить? Мне нужно чтобы анимация записывалась в строку и могла воспроизводиться по этой строке.

Старый 23.05.2013, 00:44
ProcXel.A вне форума Посмотреть профиль Найти все сообщения от ProcXel.A
  № 2  
Ответить с цитированием
ProcXel.A
Banned
[+1 27.05.13]

Регистрация: May 2013
Сообщений: 60
Самый простой алгоритм - это в каждом кадре записывать координы и угол поворота. А потом всё это воспроизводить покадрово.

Старый 23.05.2013, 00:48
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 3  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
И важно, чтобы это была строка исключительно из цифр? Как насчет JSON?
Что-то типа
[ {"progress":10, "angle":-90}, {"progress":20, "angle":-20}, { ... } ]
__________________
тут я

Старый 23.05.2013, 00:55
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 4  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Я так понимаю автор хочет минимизировать строку для передачи по сети или записи игры? Для начала вам надо действительно определится по каким параметрам будете определять положение машинки в пространстве в какой-либо момент времени. А сжать все это в строку потом уже дело техники и фантазии.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 23.05.2013, 00:58
C4Grey вне форума Посмотреть профиль Отправить личное сообщение для C4Grey Найти все сообщения от C4Grey
  № 5  
Ответить с цитированием
C4Grey

Регистрация: May 2007
Сообщений: 181
Отправить сообщение для C4Grey с помощью ICQ Отправить сообщение для C4Grey с помощью Skype™
Есть отличное решение от GreenSock: http://www.greensock.com/timelinelite/ И продвинутый вариант(хотя в этом случае он не нужен): http://www.greensock.com/timelinemax/ . Создаешь узлы анимации, задаешь для них знчения угла поворота и координаты, расчитываешь время участков. Можно время считать по формулам из раздела динамики, можно эмпирически, например, зная постоянную скорость машины и расстояние между точками по прямой, легко узнать время движения, а при необходимости поворота это время можно просто уменьшать на некую величину, пропорциональную углу поворта(упрощение формулы траектории движения тела с учетом угловой скорости). Можно даже редактор для этого всего написать, с красивым расчетом траекторий на сплайнах(кстати, TweenMax их поддерживает)

Старый 23.05.2013, 15:35
zzSpirit вне форума Посмотреть профиль Отправить личное сообщение для zzSpirit Найти все сообщения от zzSpirit
  № 6  
Ответить с цитированием
zzSpirit
 
Аватар для zzSpirit

Регистрация: Jan 2013
Адрес: Москва, Сходня
Сообщений: 41
Цитата:
Сообщение от КорДум Посмотреть сообщение
И важно, чтобы это была строка исключительно из цифр? Как насчет JSON?
Что-то типа
[ {"progress":10, "angle":-90}, {"progress":20, "angle":-20}, { ... } ]
можно и так, но в таком случае слишком длинно получится.

Добавлено через 6 минут
GBee, Почти правильно. Я хочу создавать уникальную анимацию(она всегда должна быть разной) и записывать ее в код, который я передаю по сети и на другом флеш-плеере должно воспроизводиться то же самое.
Задача чуть сложнее чем я описал, пока не придумал как сделать, но вот полное описание что я хочу сделать чтобы было понятнее:

Сама анимация покадровая, но записываться она будет с периодичностью 3 секунды, например.
Т.е. есть таймер, который работает каждые 3 секунды. Он сработал и машинке дана команда - вперед и немного вправо, но вправо дальше 100 пикселей к примеру заезжать нельзя. Причем эта машинка имеет свои характеристики(вес, мощность, кол-во топлива, что еще можно учитывать?) От них анимация тоже зависит. Слишком много всего учесть надо, даже и не знаю с чего начать.

Добавлено через 9 минут
ProcXel.A, мне нужно не в каждом кадре, а скорее всего по таймеру, причем время срабатывания таймера всегда рандомное, предположим от 3000 до 6000.

Добавлено через 11 минут
C4Grey, не хочется использовать чужие готовые системы, хочется свой оч простой для начала распознаватель кода, в который записана анимация.

Старый 23.05.2013, 16:44
ProcXel.A вне форума Посмотреть профиль Найти все сообщения от ProcXel.A
  № 7  
Ответить с цитированием
ProcXel.A
Banned
[+1 27.05.13]

Регистрация: May 2013
Сообщений: 60
Цитата:
Слишком много всего учесть надо, даже и не знаю с чего начать.
Раз уж ты сам не знаешь, что именно тебе нужно, то никто другой тем более не знает, что тебе нужно. Для начала возьми листок и ручку. И напиши по пунктам, что именно сохранять в строку анимации и как эту строку потом воспроизводить. И тогда алгоритм сам появится.

Старый 23.05.2013, 17:05
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
можно и так, но в таком случае слишком длинно получится.
Если хочется минимизировать траффик, посмотрите в сторону бинарных протоколов. Мой JSON-пример можно сериализовать в голые байты без поясняющих ключей с четко сохраненной структурой следования каждого параметра. В результате чего, читая по байтам в определенном промежутке, можно правильно считать последовательность действий.
Другими словами, получится то же самое, что было в ТС-посте, с единственным различием, что теперь у нас байты, сообщение строго ограничено по длине, имеет четко заложенную последовательность параметров, которые могут быть байтом, шортом и интом - 1, 2 и 4 байта соответственно.
__________________
тут я

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

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

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


 


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


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