Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Старасть как хочу каратиста... (http://www.flasher.ru/forum/showthread.php?t=45567)

Max N Chubin_ 04.06.2003 14:53

Старасть как хочу каратиста...
 
Ребята, хочу совета...
короче озадачил я своего неофита сделать мне программно управляемого человечка-каратиста.http://smilies.sofrayt.com/%5E/_950/karate.gif
Парнягя потрудился и нарисовал покадровую анимацию бойца, выполняющего один удар. Все это уместилось на 70 кадрах. Но понаблюдав за его работой када он рисовал все это я задумался как бы ему облегчить жызь. И посетила меня шальная мысль может сделать манекен в виде палка, палка, огуречик... с подвижными сочленениями в суставах и прецепить ко всему этому ф-цию делающую "снимок" положения члеников манекена и записывающую их например в массив. Сделал...
Оптимизировал код описывающий положение частей тела с таким расчетом, чтобы при записи в массив 2 последовательных положений тела не дублировать позиции тех частей, которые не изменили своего расположения.
Но все одно конструкция получается слишком громоздкой. Т.е. если рассматривать ситуацию когда все движения будут вопроизводиться с помощю палочной модели то покадровая анимация занимает даже меньше места. Если же модель будет прорисована красиво, то мой вариант оптимален.
А собсно пишу сюда с одной целью, мож кто решал подобную задачу и может поделиться опытом?

Перспектива этой работы такова - записав ряд ударов, блоков, падений, прыжков можно управлять моделью давая ей простые команды вида "Майа-гери кекоми" http://smilies.sofrayt.com/%5E/r/nahaha.gif и человечек делает нужный удар или даже серию . Т.е. либо для игры либо для анимации это просто клад!
Короче предлагаю поучавствовать.http://smilies.sofrayt.com/%5E/k/llying.gif

ЗЫ: провда сырец дома забыл, но завтра обещаю сюда его кинуть.http://smilies.sofrayt.com/%5E/g0/nodassent.gif

Max N Chubin_ 05.06.2003 11:40

м-да...
 
Вложений: 1
суперактивность людей вселяет надежду...http://smilies.sofrayt.com/%5E/3/fie.gif


вот обещанный исходник собственно говоря...

Max N Chubin_ 06.06.2003 15:18

да....
 
приходиться самому пихать в топик посты, чтобы топ не вывалился с первой страницы...
Ау....
каратисты блин, вы где?

Baltika, Lexass, Usnul самые активные, але?
А вы где молодые и беЗпредельные(в смысле еще не знающие пределов флэша)?
прошу только мозгового штурма!!!
критику, предложения, фантазии на тему...
даешь массовку!!!
http://smilies.sofrayt.com/%5E/_950/ole.gif

TTS 09.06.2003 03:11

Меня уже не удивляет твоё трудолюбие
 
и желание вс

TTS 09.06.2003 03:40

и желание всё делать через Ж...
 
Может, попробовать дословный перевод, типа:

function Geri(){
this.maya = function (type){
switch(type){
...
"kekomi": ... ;break;
"keage": ... ;break;
...

}

Тогда Майа-гери кекоми = geri.maya("kekomi");


Или что-нибудь в этом роде:

Маваши-гери = mavashi("geri");
Маваши-цки = mavashi("cki");

Только, что тогда делать с "мицу-но-кокоро"?

Max N Chubin_ 10.06.2003 11:32

гм... нестандартный подход или через Ж?
 
2 TTS:
прям как-то обидно немного...
ты считаешь что мой вариант это через Ж, а вырисовывать покадровую анимацию это нормально?

Как формировать серии ударов тут проблем нет...
проблема в другом... как оптимально хранить данные низшего уровня(массив положений частей тела) и как например определять попадание удара одного бойца в другого, точнее...
короче вот ситуация, 2 бойца начинают выполнять удары, один чуть раньше другого, удар естественно выполняется не мгновенно, а за какой то интервал времени, но так как один боец начал выполнять удар раньше, то его удар достигнет цели раньше, следовательно нужно прервать исполнение удара второго бойца и запустить анимацию падения...
но палка о трех концах... и не все так однозначно. удары могут выполняться с разной длительностью, т.е например удар ногой с разворота будет исполняться дольше чем прямой удар рукой, поэтому не факт что если первый боец начнет выполнять удар с разворота раньше второго, то и закончит раньше...
короче как это обычно и бывает, маленькая задача порождает лавину второстепенных задач бОльшей сложности...
Конечно, я имею своё сугубо неправильное мнение о то как решить все эти задачи, но жизненный опыт подсказывает что имеет смысл пожамкать решения в голове, озвучить их кому то еще и желательно чтобы кто нть сильно оппонировал или предлагал иные пути решения. Собственно вот цель моего поста. Поделитесь своим мнением на тему...http://smilies.sofrayt.com/%5E/k/hour.gif

TTS 10.06.2003 16:03

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

TTS 10.06.2003 16:08

Отсюда можно рассчитать всё - и скорость выполнения удара, и потерю равновесия, даже "отдачу" при ударе. Только что-нибудь придумать с разворотом... А то переходить в 3д - совсем труба.

dee2 10.06.2003 18:21

А есть такая технология, как Lingo3d :)

Diomas 11.06.2003 05:45

Как lingo3d можно использовать с флешом?


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

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