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

melky 16.12.2011 00:10

Цитата:

Сообщение от Isaac (Сообщение 143337)
То есть перерисовать мне нужно через 0.5 сек, как упал снаряд?

нет. через 1/20 секунды минус время выполнения скрипта для поддержания постоянного количества кадров.
setTimeout(repaint_canvas, 1000/20 - script_execution_time);


навскидку - это будет (1000/20-10) = (50-10) = 40.

trikadin, а все ставят 10 мсек :)

Isaac 16.12.2011 00:19

Цитата:

Сообщение от melky (Сообщение 143339)
нет. через 1/20 секунды минус время выполнения скрипта для поддержания постоянного количества кадров.
setTimeout(repaint_canvas, 1000/20 - script_execution_time);


навскидку - это будет (1000/20-10) = (50-10) = 40.

trikadin, а все ставят 10 мсек :)

В єтом промежутке времени я смогу создать новій канвас, но пользователь сразу увидит діру в земле, а мне нужен эффект разрушения, как будто дыра образуется под воздействием взрыва.
То есть мне в цикле нужно перерисовывать несколько раз, с каждым разом делая дыру все больше?

trikadin 16.12.2011 00:21

Цитата:

Сообщение от Isaac
То есть мне в цикле нужно перерисовывать несколько раз, с каждым разом делая дыру все больше?

Браво. Правильно поняли.

Цитата:

Сообщение от melky
trikadin, а все ставят 10 мсек

Ну и зря, что я могу сказать)

Isaac 16.12.2011 00:26

Цитата:

Сообщение от trikadin (Сообщение 143343)
Браво. Правильно поняли.

Ну и зря, что я могу сказать)

Спасибо, не все так запущенно , как кажется.
Только вот не пойму: ведь дизайн земли будет нарисован дизайнером в фотошопе или еще где и я его запихну в канвас, как мне тогда сделать? Несколько видов дизайна земли нужно и после каждого взрыва подставлять в канвас новую картинку во время перерисовки? Но ведь нужно сделать правдноподобно и чтоб каждая дыра в земле отличалась от предыдущей, не будет же дизайнер рисовать 100 разных дизайнов для всех вариантов взрывов.
Подскажите пожалуйста, как поступить в таком случае?

trikadin 16.12.2011 00:36

Запихнуть картинку в канвас. Ф-цию не подскажу, но так точно можно.

Isaac 16.12.2011 00:46

Цитата:

Сообщение от trikadin (Сообщение 143346)
Запихнуть картинку в канвас. Ф-цию не подскажу, но так точно можно.

Вы имеете в виду, что если картинка будет в канвасе и я буду очищять канвас, то картинка будет очищятся вместе с ним? Я правильно понял?

trikadin 16.12.2011 00:47

Я имею в виду, что вы запихнёте её в канвас и будете перерисовывать те части, которые нужны.

Вы всегда такой паникёр?

Isaac 16.12.2011 00:53

Цитата:

Сообщение от trikadin (Сообщение 143349)
Я имею в виду, что вы запихнёте её в канвас и будете перерисовывать те части, которые нужны.

Вы всегда такой паникёр?

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

trikadin 16.12.2011 00:57

Не так понимаете) Вы меняете только часть холста. Ту, в которой делается углубление. Какие проблемы?)

Isaac 16.12.2011 01:00

Цитата:

Сообщение от trikadin (Сообщение 143354)
Не так понимаете) Вы меняете только часть холста. Ту, в которой делается углубление. Какие проблемы?)

Ок, могу я random ее менять, чтоб углубление всегда было разное, при это учитывая силу удара, например: если сильнее, то углубление больше и наоборот. но при этом, даже если силы совпадают, то на дизайне постоянно разные впадины?
При всем этом имея только дизайн земли самой первой, без впадин и дыр.


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