//Keyboard.cpp #include "Keyboard.h" // Created by Kildushov Oleg // Создатель - Кильдюшов Олег // vk.com/legozaur // kychka-pc.ru - nikname: legozaur Keyboard::Keyboard() { data(); } Keyboard::~Keyboard() { for(std::vector::iterator it = vecKey.begin(); it != vecKey.end(); it++) delete(*it); vecKey.shrink_to_fit(); } void Keyboard::data() { vecKey.reserve(102); int i = 0; for(int i=0; i<102; i++) { Key* key = new Key(); vecKey.push_back(key); } } int Keyboard::getEventButton(sf::Keyboard::Key key) { bool isPressed = sf::Keyboard::isKeyPressed(key); // Нажата ли принимаемая клавиша? bool isPressed2 = vecKey[key]->isKeyPressed; // Была ли до этого нажата данная клавиша? if(isPressed2 != isPressed) { // Если состояние клавишь различны if(isPressed2 == true) { // Кнопка была нажата, теперь не нажата vecKey[key]->isKeyPressed = false; return 3; // 3 если была отпущена } else { // Кнопка была не нажата, теперь нажата vecKey[key]->isKeyPressed = true; return 1; // 1 если была нажата } } else { // Состояние не менялось if(isPressed2 == true) // Если кнопка была нажата return 2; // 2 если кнопка зажата else return 0; // 0 если кнопка не нажата } } //