Народный учебник по OpenGL


Урок 19. Машина моделирования частиц с использованием полосок из треугольников - часть 18



В строке ниже проверяется, нажата ли клавиша PAGE UP. Если она нажата, то переменная zoom увеличивается. Это заставит частицы двигаться ближе к нам.


        if (keys[VK_PRIOR]) zoom+=0.1f; // Крупный план


В этой строке создается противоположный эффект. Нажимая клавишу Page down, zoom уменьшиться, и сцена сместиться глубже в экран. Это позволит нам увидеть больше частиц на экране, но при этом частицы будут меньше.


        if (keys[VK_NEXT]) zoom-=0.1f; // Мелкий план


В следующей секции кода происходит проверка, была ли нажата клавиша Enter. Если она нажата в первый раз, и она не удерживается уже некоторое время, мы позволим компьютеру узнать, что она нажата, устанавливая rp в true. Тем самым мы переключим режим радуги. Если радуга была true, она станет false. Если она была false, то станет true. В последней строке проверяется, была ли клавиша Enter отпущена. Если это так, то rp устанавливается в false, сообщая компьютеру, что клавиша больше не нажата.


        if (keys[VK_RETURN] && !rp) // нажата клавиша Enter

       

{

         

rp=true; // Установка флага, что клавиша нажата

         

rainbow=!rainbow; // Переключение режима радуги в Вкл/Выкл

       

}

       

if (!keys[VK_RETURN]) rp=false; // Если клавиша Enter не нажата – сбросить флаг


Код ниже немного запутанный. В первой строке идет проверка, нажата ли клавиша пробела и не удерживается ли она. Тут же проверяется, включен ли режим радуги, и если так, то проверяется значение переменной delay больше чем 25. delay - счетчик, который используется для создания эффекта радуги. Если Вы меняете цвет каждый кадр, то все частицы будут иметь разный цвет. При помощи создания задержки, группа частиц останется с одним цветом, прежде чем цвет будет изменен на другой.


Если клавиша пробел была нажата, или радуга включена, и задержка больше чем 25, цвет будет изменен!


        if ((keys[' '] && !sp) || (rainbow && (delay>25))) // Пробел или режим радуги

       

{





Начало  Назад  Вперед



Книжный магазин