Управляешь самолетом и собираешь топлива, каждая собранная соплива увеличивает счетчик топлива до 10(единица топлива дает 1сек полета). Нужно что бы когда остается 4 единиц топлива падал следующий бак топлива. попробовал сделать так но когда счетчик топлива уменьшается до 4, страница зависает:
var timer = 0;
var gas_score = 10;
function gas_and_timer() {
gas_score--;
timer++;
}
setInterval(gas_and_timer,1000);
for(var i = 0; i < par.length; i++) {
ctx.drawImage(parf, par[i].x, par[i].y, 45, 70);
par[i].x -= 3;
par[i].y += 3;
if(gas_score==4) {
par.push({
x : Math.floor(Math.random() * 650) + 450,
y : -80
})
}
if (xPlane + 170 >= par[i].x
&& xPlane <= par[i].x + 25
&& yPlane + 48 >= par[i].y
&& yPlane <= par[i].y + 45) {
gas_score = 10;
}
}
попробовал и так, игра идет но топлива не падает:\
var timer = 0;
timer++;
if(timer%120==0) {
par.push({
x : Math.floor(Math.random() * 650) + 450,
y : -80
})
}
Цикл
for(var i = 0; i < par.length; i++) {
никогда не завершится при gas_score==4
, так как Вы все время добавляете в массив par
. Вынесите
if(gas_score==4) {
par.push({
x : Math.floor(Math.random() * 650) + 450,
y : -80
})
}
из цикла.
Всё, решил проблему вынес из цикла и использовал 2 вариант, теперь топлива падает каждые 360 кадров = 6 сек, таймер увеличивается каждый кадр
var timer = 0;
timer++;
if(timer%720==0) {
par.push({
x : Math.floor(Math.random() * 650) + 450,
y : -80
})
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Копирование данных из нескольких полей формы в значения ключа JSON
Случай такой: значение input задается путем перемещения кастомного ползунка, который может находиться где угодноЕсть ли способ протаскивания...
Есть форма (https://jsfiddlenet/7zfjs6pw/26/) в которой можно добавлять поля