Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   JavaScript. Физика взрыва. (https://javascript.ru/forum/misc/24028-javascript-fizika-vzryva.html)

Isaac 15.12.2011 19:06

JavaScript. Физика взрыва.
 
Здравствуйте.
Подскажите пожалуйста, может, кто-то сталкивался с подобными задачами или знает, как ПРАВИЛЬНЕЕ реализовать.
Реализовать нужно на JavaScript.
Есть земля, в нее попадает снаряд, который разрушает(делает в ней впадину/углубление), все зависит от попавшего в нее снаряда + кроме впадины нужно реализовать осыпание земли.
Я думаю это реализовать следующим способом:
Имеем 2 слоя, один под другим. Верхний слой - картинка земли или гор, второй слой - канвас, который и будет разрушаться. Далее я высчитываю координаты конечной точки снаряда. Сам снаряд имеет радиус поражения, после того, как снаряд достиг конечной точки, я стираю первый слой - тот который канвас - имитирую взрыв(не знаю, как правильнее имитировать, гиф-картинку точно не хочу использовать, скорее всего буду спрайтами делать анимацию) и во время этого взрыва подменяю верхнюю картинку на новую с готовой впадиной.
Но мне этот вариант, мягко говоря, кажется не серьезным. С разработкой игр сталкиваюсь впервые. Подскажите пожалуйста, как правильнее подобное реализовать или может есть какие-то примеры с кодом?
Так же очень важен процесс осыпания земли после взрыва.
Да, и писать всю физику буду сам, без box2d и других подобных движков.
Очень буду признателен.
Спасибо.

melky 15.12.2011 19:12

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

Isaac 15.12.2011 19:14

Цитата:

Сообщение от melky (Сообщение 143231)
хм. вы уверены в том, что реализация взрыва на спрайтах будет лучше, чем его реализация на canvas ?

В том то и дело, что не уверен, поэтому прошу совета...
А как реализовать взрыв в канвасе? Полностью отрисовывать всю анимацию ?

trikadin 15.12.2011 19:21

Таймер уже писали, вот и бомба теперь будет... :D


Цитата:

Сообщение от melky
хм. вы уверены в том, что реализация взрыва на спрайтах будет лучше, чем его реализация на canvas ?

А мне кажется, что будет. Естественно, всё зависит от того, как делать, однако, если просчитывать весь взрыв (соответственно, воронку, разлёт земли, etc), то спрайты будут быстрее.

Isaac 15.12.2011 19:24

[quote=trikadin;143239]Таймер уже писали, вот и бомба теперь будет... :D
бомбу я знаю, как сделать, меня интересует имитация самого взрыва

melky 15.12.2011 19:25

вы могли бы обратиться к solovei95. он вроде людит и активно изучает канвасы и всё, что с ним связано. не обращайте внимания на его репутацию :)

Цитата:

Сообщение от trikadin (Сообщение 143239)
А мне кажется, что будет. Естественно, всё зависит от того, как делать, однако, если просчитывать весь взрыв (соответственно, воронку, разлёт земли, etc), то спрайты будут быстрее.

удар снарядом по воде - и разлетаются груды земли, благодаря спрайту.
или для каждого типа поверхности делать свой спрайт?

а потом не понравится цвет земли.. поменял. "ну что же, пора бы и спрайт поменять". как-то не очень :) можно для ie оставить.

trikadin 15.12.2011 19:28

Цитата:

Сообщение от Isaac
бомбу я знаю, как сделать

Да ты опасный)

Если вам нужна полная имитация взрыва, то это вам гуглить в сторону физики и читать вот такие умные статьи)

А если нет - то просто рисуете картинку, потом картинку со взрывом, и т.д. В нужный момент просто подставляете нужное.

trikadin 15.12.2011 19:30

Цитата:

Сообщение от melky
удар снарядом по воде - и разлетаются груды земли, благодаря спрайту.

О, а ты предлагаешь считать плотность объекта?) У воды и у земли разная плотность, и будет разный разлёт материала, соответственно. Будет матан)

melky 15.12.2011 19:54

Цитата:

Сообщение от trikadin (Сообщение 143246)
О, а ты предлагаешь считать плотность объекта?) У воды и у земли разная плотность, и будет разный разлёт материала, соответственно. Будет матан)

:D почему же сразу матан ? пара формул и дело в шляпе.

trikadin 15.12.2011 19:55

Цитата:

Сообщение от melky
почему же сразу матан ? пара формул и дело в шляпе.

Да на здоровье) Просто человек про землю спрашивал. В этом уникальном случае быстрее и проще делать через спрайты.


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