Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.04.2019, 11:01
Новичок на форуме
Отправить личное сообщение для RasuLcrose Посмотреть профиль Найти все сообщения от RasuLcrose
 
Регистрация: 18.12.2018
Сообщений: 6

Как сделать перезарядку для игры?
Я пишу игру танчики на php/js.
Мне нужно сделать так что-бы зажимая пробел пули не отрисовывались бесконечно, создавая говно. Нужно как-то сделать между ними интервал в 2 секунды!

//Добавляю в масив пулю
if(self.key == 32) {
       this.bullets.push(new Bullet(data.a, data.x, data.y, data.h, data.w));
}

//Отрисовывю их
        for(bullet in this.bullets) {
            bullet = this.bullets[bullet];
            bullet.drawBullet();
            tank.isUpdated = true;
        }


Помогите, желательно кодом!)
Ответить с цитированием
  #2 (permalink)  
Старый 03.04.2019, 12:22
Интересующийся
Отправить личное сообщение для username Посмотреть профиль Найти все сообщения от username
 
Регистрация: 21.03.2019
Сообщений: 18

нужно вместо цикла for использовать рекурсивную функцию
в конце которой опять вызывается та же самая функция с помощью setTimeout("func",2000)
Ответить с цитированием
  #3 (permalink)  
Старый 03.04.2019, 12:45
Новичок на форуме
Отправить личное сообщение для RasuLcrose Посмотреть профиль Найти все сообщения от RasuLcrose
 
Регистрация: 18.12.2018
Сообщений: 6

Как тогда их отрисовывать?
Без for не получиться
Ответить с цитированием
  #4 (permalink)  
Старый 03.04.2019, 16:23
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<script>
var oldTime = new Date();
var newTime = 0;

// if(self.key == 32) {
   while(true) { // бесконечный цикл, имитирующий постоянно нажатый пробел
     newTime = new Date();
     if(newTime - oldTime > 2000) { // Каждые 2 секунды
          console.log('Новая пуля'); // this.bullets.push(new Bullet(data.a, data.x, data.y, data.h, data.w));
          oldTime = newTime;
     }
}
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать для разных атрибутов id тега img? Ola Events/DOM/Window 8 09.04.2017 15:46
Как написать бот для игры на js sergiyss Events/DOM/Window 1 06.04.2017 02:03
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как сделать выполнение ф-ции только для видимых объектов на экране? Randomizer jQuery 6 21.01.2013 16:06
Как сделать функцию типа toDataUrl для рисунка в ie6 ? Олег Общие вопросы Javascript 2 14.09.2008 00:06