Javascript, объект с установленным временем жизни? - PullRequest
1 голос
/ 20 февраля 2012

Я столкнулся с проблемой, я не знаю, как на самом деле кодировать в JavaScript. Дело в том, что я хотел бы иметь возможность создавать множество объектов, добавляемых в массив. когда объекты создаются для добавления в этот массив, у них будет «время жизни». Когда это время жизни истекает, этот объект должен быть удален из массива.

То, что я пытаюсь построить здесь, - это система частиц, в которой частицы исчезнут после того, как истечет время жизни частиц.

Кто-нибудь, у кого есть хорошая идея или пример для этого?

Я думал об использовании setTimeout, setInterval и clearInterval, но не уверен, как это будет наиболее эффективно.

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Вы можете использовать пример кода micha .При каждом вызове «следующей» функции вы можете обновлять состояние ваших частиц (положение, скорость и т. Д.).Также вы можете отслеживать время создания частиц и при каждом «следующем» вызове проверять, превышает ли текущее время минус время создания определенной константы и удаляет ли это частицы.В зависимости от требуемого качества анимации вы можете сократить время ожидания, например setTimeout(next, 25); Удачи:)

1 голос
/ 20 февраля 2012

Что-то вроде это ?

Обновление для Феликса Клинга:

var a = [], next = function() {
    a = a.slice(0,-1);
    document.body.innerHTML += a.length + "<br />";
    if (a.length != 0)
        setTimeout(next, 100);
};
for (var i = 0; i < 100; i++) {
    a.push({hi: 1});
}
setTimeout(next, 100);​
...