Конгер Д.
Физика для разработчиков компьютерных игр
стр. 183

Функция UpdateFrame () начинается так же, как и аналогичные функции в предыдущих главах. Сначала она подготавливает матрицы, требующиеся Direct3D. Когда эти матрицы готовы, она один раз прикладывает к шарику силу, чтобы он начал двигаться. Чтобы сделать это, функция использует статическую переменную.

Возможно, вы знаете, что в C++ статические переменные в функциях инициализируются один раз — при первом вызове этих функций. После этого инициализация никогда не выполняется во второй раз. Использование статической переменной позволит нашей функции определить, прикладывалась ли уже к шарику сила. Если нет, то переменная forceApplied будет установлена в значение false. Поэтому оператор if, начинающийся в строке 27, задаст силу, действующую на шарик (строка 30). Кроме того, он установит переменную forceApplied в значение true.

Замечание

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

Новости
Исследование: Треть населения Земли играют в видеоигры
Специалисты компании NewZoo провели исследование и пришли к выводу, что треть населения Земли или 2,3 млрд человек играют в видеоигры.
Антивирусы и облачные сервисы портят сохранения Dark Souls Remastered
Вчера комьюнити-менеджер Bandai Namco под ником Izmar подтвердил проблему в Steam, посоветовав ограничить доступ антивирусов и других программ вроде облачных сервисов Google и Amazon к файлам ремастера Dark Souls.