Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

Тогда проспамлю свою статью: https://habrahabr.ru/post/272233/
Не знаю в чем причина, но все нормально работает на FF и Chrome
Посмотрите Normal Tanks
При чтении результатов надо учитывать, что Phaser.js не отображает FPS выше 60. Я честно попытался найти как это исправить, но не преуспел и решил забить.
Не корректно же — тень от ворот дает расширяющуюся область геометрической тени, а елка — нет.

float checkBitF(float val, float bit) { float f = pow(2., floor(mod(bit, 16.))); return step(1., mod(floor(val/f),2.)); }
Если перевести на человеческий язык (ну или хотя бы js), то получится вот что:
function checkBitF(val, bit) { f = Math.pow(2, bit % 16); // Равносильно f = 1 << bit; f1 = Math.floor(val / f); // равносильно сдвигу вправо, f1 = val >> bit if (f1 % 2 < 1) return 0; else return 1; //если бит установлен, вернется 1. иначе 0. }
if (fl % 2 < 1) return 0; else return 1;
return (fl % 2);
return (fl & 1) ?;
А операторreturn (fl & 1) ?;
? уже есть в JS? Кажется, я что-то пропустил.return (fl & 1) ? 1 : 0;Полагаю, IGR2014 имел в виду, что лучше было б привести примерную реализацию функций step и mod на С
Тень на плетень, или 25 елок для Адама Дженсена