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

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

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

Регистрация: Aug 2005
Сообщений: 687
Записей в блоге: 1
Отправить сообщение для Скрипун с помощью ICQ
По умолчанию Физика удара.

Коллеги! Делаю игру. Столкнулся с таким вопросом:
Есть фигура (прямоугольник, скажем, машина или танк), он движется. По нему ударяется снаряд. Как тело будет вести себя? Если б это была игра бильярд, то все просто(просто обмен скоростями), а тут так не пойдет (ну только если для случая 1 и то разные массы. А в случае 2 и 3 совсем не пойдет . Чувствую что физика не супер высокая, но все же меня заклинило. ПОМОГИТЕ! Как описать движение фигуры?
Изображения
Тип файла: gif векторы.gif (2.9 Кб, 103 просмотров)

Старый 28.09.2006, 00:12
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 2  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
помоему, я эту систему уравнений в программе математика решал (для разных масс), а потом в код вставлял, громоздко, понимаешь =(
Здесь или еще на каком-то сайте исходник упругого соударения шариков разных размеров был - ищи его
а выражаются скорости тел после соодарения так:
//сохранение импульса
m1*v1x+m2*v2x=m1*v1'x+m2*v2'x
m1*v1y+m2*v2y=m1*v1'y+m2*v2'y
//сохранение энергии
m1(v1*v1)/2+m2(v2*v2)/2=m1(v1'*v1')/2+m2(v2'*v2')/2
где v1=sqrt(v1x*v1x+v1y*v1y)- модуль
v2=...
v1'x -составляющая скорости после удара по x,
v1'y -...
физика конечто не супер высокая, но геморная, если учесть, что гашение добавить, танк НЕ НА ЛЬДУ стоит... Но всегда можно схитрить, маленько исказить физику и сделать что-то похожее
то же если пуля вошла в танк, а не отскочила:
m1*v1x+m2*v2x=m1*v1'x - здесь сразу без всякой энергии
m1*v1y+m2*v2y=m1*v1'y
получаем:
v1'x=(m1*v1x+m2*v2x)/m1
v1'y=...

Старый 28.09.2006, 03:00
Dendroid вне форума Посмотреть профиль Отправить личное сообщение для Dendroid Посетить домашнюю страницу Dendroid Найти все сообщения от Dendroid
  № 3  
Ответить с цитированием
Dendroid
 
Аватар для Dendroid

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
Да всё то же что и в бильярде, кстати: взаимодействие центров масс - обмен импульса по линии столкновения и перпендикулярно ей (ну и что что массы разные - в бильярде тоже бывает соударение шара с массивом соприкасающихся шаров) и вращение, вызванное снарядом (радиальная скорость*коэффициент отношения масс/плечо).

Тут даже проще получается: трением при соударении можно пренебречь, вращение есть только по одной оси, вращения снарядов - нет, коэффициенты трения можно сделать линейными относительно скорости центра масс и угловой скорости, предметы не разлетаются после соударения, резинок на бортах нет - халява, сэр
А вот с бильярдом я запарился...
__________________
Верить никому нельзя. Мне - можно. :)

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

Регистрация: Jun 2006
Сообщений: 1,061
Советую не заморачиваться на реальной физике, а сделать все максимально просто, главное чтоб движение было более менее адекватно стандартным соударениям.

Хотя если эта игра будет рассчитывать траектории полета на Марс, то тут стоит подумать...

Старый 28.09.2006, 04:07
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 5  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Слушайте CCCPirate он дело говорит, так же говорит Джоб Макар один из лучших Флэш-Игроделов.

Во первых меньше кода
Во вторых меньше нагрузка на проц, никому не нужна реальная физика с тормозами
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 28.09.2006, 04:22
Dendroid вне форума Посмотреть профиль Отправить личное сообщение для Dendroid Посетить домашнюю страницу Dendroid Найти все сообщения от Dendroid
  № 6  
Ответить с цитированием
Dendroid
 
Аватар для Dendroid

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
Не слушайте CCCPirate и Nirth
Конечно, там, где не важна физика, можно и аркадностью заменить, но хорошая физика - это много плюсов для естественности игрового процесса, для играбельности, для приятственности, если не сильно тормозит, конечно...
Почему так интересно смотреть на скачующего по минам пингвина? В чём секрет успеха игры "Gish"? И почему все так носятся с идеей отдельной платы ускорения физики в играх?
А против вашего Джоба Макара выставляю Андэ Мишеля ( http://globz.com и http://blog.andre-michelle.com/2006/...engine-in-as3/ ) - любит человек физические движки во флэше делать...
__________________
Верить никому нельзя. Мне - можно. :)


Последний раз редактировалось Dendroid; 28.09.2006 в 04:30.
Создать новую тему Ответ Часовой пояс GMT +4, время: 22:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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