Jump to content
  • 0

JavaScript. Физика взрыва.


DarkKnight
 Share

Question

Здравствуйте.

Подскажите пожалуйста, может, кто-то сталкивался с подобными задачами или знает, как ПРАВИЛЬНЕЕ реализовать.

Реализовать нужно на JavaScript.

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

Я думаю это реализовать следующим способом:

Имеем 2 слоя, один под другим. Верхний слой - картинка земли или гор, второй слой - канвас, который и будет разрушаться. Далее я высчитываю координаты конечной точки снаряда. Сам снаряд имеет радиус поражения, после того, как снаряд достиг конечной точки, я стираю первый слой - тот который канвас - имитирую взрыв(не знаю, как правильнее имитировать, гиф-картинку точно не хочу использовать, скорее всего буду спрайтами делать анимацию) и во время этого взрыва подменяю верхнюю картинку на новую с готовой впадиной.

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

Так же очень важен процесс осыпания земли после взрыва.

Да, и писать всю физику буду сам, без box2d и других подобных движков.

Очень буду признателен.

Спасибо.

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

Подскажите пожалуйста, может, кто-то сталкивался с подобными задачами или знает, как ПРАВИЛЬНЕЕ реализовать.

С такими вводными посоветовать как ПРАВИЛЬНО практически невозможно.

Link to comment
Share on other sites

  • 0

Подскажите пожалуйста, может, кто-то сталкивался с подобными задачами или знает, как ПРАВИЛЬНЕЕ реализовать.

С такими вводными посоветовать как ПРАВИЛЬНО практически невозможно.

Посоветуйте тогда, как вы понимаете/считаете можно реализовать данный вопрос?

Edited by DarkKnight
Link to comment
Share on other sites

  • 0

Посоветуйте тогда, как вы понимаете/считаете можно реализовать данный вопрос?

1. Способ релизации: 2D, 3D?

2. Физика частиц будет или нет?

3. Требуется скорость или релистичность?

4. Количество одновременных взрывов в секунду?

5. Глубина деструкций?

Link to comment
Share on other sites

  • 0

Посоветуйте тогда, как вы понимаете/считаете можно реализовать данный вопрос?

1. Способ релизации: 2D, 3D?

2. Физика частиц будет или нет?

3. Требуется скорость или релистичность?

4. Количество одновременных взрывов в секунду?

5. Глубина деструкций?

1. 2д

2. будет обязательно!

3. реалистичность

4. один взрыв

5. глубина рассчитывается от силы удара, меньше удар - соостветственно и небольшая глубина.

Одно из правил: каждая впадина - отличается от предыдущей, даже если была сделана с одинаковой силой удара.

Link to comment
Share on other sites

  • 0

1. 2д

2. будет обязательно!

3. реалистичность

4. один взрыв

5. глубина рассчитывается от силы удара, меньше удар - соостветственно и небольшая глубина.

Одно из правил: каждая впадина - отличается от предыдущей, даже если была сделана с одинаковой силой удара.

Вы в курсе, что JS не самый быстрый язык программирования?

За какое время должна производиться анимация взрыва?

Link to comment
Share on other sites

  • 0

1. 2д

2. будет обязательно!

3. реалистичность

4. один взрыв

5. глубина рассчитывается от силы удара, меньше удар - соостветственно и небольшая глубина.

Одно из правил: каждая впадина - отличается от предыдущей, даже если была сделана с одинаковой силой удара.

Вы в курсе, что JS не самый быстрый язык программирования?

За какое время должна производиться анимация взрыва?

Конечно в курсе, но нужно сделать именно только на HTML5/JavaScript, задачу ставил не я.

Время не обговаривалось, настраивается траектория снаряда и сила вістрела, после чего снаряд вістреливает и как только касается поверхности земли/скалы или т.п. то происходит взрыв с углублением в земле или скале.

Можете помочь?

Edited by DarkKnight
Link to comment
Share on other sites

  • 0

Я не просил за меня сделать, я спросил вашего совета

Мало ли... Спросил на всякий случай.

Модель допустимо упрощать? Например, при взрыве не делать все световые эффекты, количество частиц - константа, только два типа поверхностей: земля и камень, частицы всегда одного размера, коллизия частиц отсутствует...

Link to comment
Share on other sites

  • 0

Я не просил за меня сделать, я спросил вашего совета

Мало ли... Спросил на всякий случай.

Модель допустимо упрощать? Например, при взрыве не делать все световые эффекты, количество частиц - константа, только два типа поверхностей: земля и камень, частицы всегда одного размера, коллизия частиц отсутствует...

Световые эффекты будут(возможно спрайтом сделаю), количесво частиц каждый раз должно быть разным, чтоб взрыв не походил на предыдущий, поверхностей будет 3 типа , еще вода, но сейчас меня интересует только земля. Частицы все разного размера, чтоб выглядело правдободобней, на счет коллизии еще не знаю

Link to comment
Share on other sites

  • 0

Световые эффекты будут(возможно спрайтом сделаю), количесво частиц каждый раз должно быть разным, чтоб взрыв не походил на предыдущий, поверхностей будет 3 типа , еще вода, но сейчас меня интересует только земля. Частицы все разного размера, чтоб выглядело правдободобней, на счет коллизии еще не знаю

Тогда бери Rapha?l, генерируй частицы разной массы, и рисуй их упрощенно пикселями.

Link to comment
Share on other sites

  • 0

Световые эффекты будут(возможно спрайтом сделаю), количесво частиц каждый раз должно быть разным, чтоб взрыв не походил на предыдущий, поверхностей будет 3 типа , еще вода, но сейчас меня интересует только земля. Частицы все разного размера, чтоб выглядело правдободобней, на счет коллизии еще не знаю

http://www.google.ru/search?gcx=w&ix=c1&sourceid=chrome&ie=UTF-8&q=javascript+explode+effect

http://www.google.ru/search?gcx=w&ix=c1&sourceid=chrome&ie=UTF-8&q=javascript+explode+effect#sclient=psy-ab&hl=ru&safe=off&source=hp&q=2d%20%D1%84%D0%B8%D0%B7%D0%B8%D0%BA%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&pbx=1&oq=2d%20%D1%84%D0%B8%D0%B7%D0%B8%D0%BA%D0%B0%20&aq=3v&aqi=g-v4&aql=1&gs_sm=sc&gs_upl=0l0l2l551l0l0l0l0l0l0l0l0ll0l0&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=ad9b2a6141ec2df4&biw=1304&bih=707&pf=p&pdl=300

http://www.c-point.com/javascript_tutorial/games_tutorial/how_to_create_games_using_javascript.htm

Edited by Radiocity
Link to comment
Share on other sites

  • 0

Световые эффекты будут(возможно спрайтом сделаю), количесво частиц каждый раз должно быть разным, чтоб взрыв не походил на предыдущий, поверхностей будет 3 типа , еще вода, но сейчас меня интересует только земля. Частицы все разного размера, чтоб выглядело правдободобней, на счет коллизии еще не знаю

Тогда бери Rapha?l, генерируй частицы разной массы, и рисуй их упрощенно пикселями.

В том то и проблема, что SVG не подходит, нужно в канвасе использовать

Link to comment
Share on other sites

  • 0

Световые эффекты будут(возможно спрайтом сделаю), количесво частиц каждый раз должно быть разным, чтоб взрыв не походил на предыдущий, поверхностей будет 3 типа , еще вода, но сейчас меня интересует только земля. Частицы все разного размера, чтоб выглядело правдободобней, на счет коллизии еще не знаю

http://www.google.ru/search?gcx=w&ix=c1&sourceid=chrome&ie=UTF-8&q=javascript+explode+effect

http://www.google.ru/search?gcx=w&ix=c1&sourceid=chrome&ie=UTF-8&q=javascript+explode+effect#sclient=psy-ab&hl=ru&safe=off&source=hp&q=2d%20%D1%84%D0%B8%D0%B7%D0%B8%D0%BA%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&pbx=1&oq=2d%20%D1%84%D0%B8%D0%B7%D0%B8%D0%BA%D0%B0%20&aq=3v&aqi=g-v4&aql=1&gs_sm=sc&gs_upl=0l0l2l551l0l0l0l0l0l0l0l0ll0l0&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=ad9b2a6141ec2df4&biw=1304&bih=707&pf=p&pdl=300

http://www.c-point.com/javascript_tutorial/games_tutorial/how_to_create_games_using_javascript.htm

Спасибо, сейчас буду разбираться

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy