Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Ивенты
- Event event;
- while (window.pollEvent(event))
- {
- // Close window: exit
- if (event.type == sf::Event::Closed) {
- window.close();
- }
- ///// Кнопка перезагрузки /////
- if (event.type == Event::MouseButtonReleased)//если нажата клавиша мыши
- {
- if (restartsprite.getGlobalBounds().contains(pos.x, pos.y))//и при этом координата курсора попадает в спрайт
- {return true;}
- }
- ///// Кнопка esc /////
- if (event.type == Event::MouseButtonReleased)//если нажата клавиша мыши
- {
- if (Escsprite.getGlobalBounds().contains(pos.x, pos.y))//и при этом координата курсора попадает в спрайт
- {return false;}
- }
- ///// Движение по главной диагонале( 1 и 9 ) /////
- a=50;
- if (pos.y>=170 && pos.y<=570 && pos.x>=90 && pos.x<=490)
- if (event.type == Event::MouseButtonPressed)//если нажата клавиша мыши
- if (iconsprite.getGlobalBounds().contains(pos.x - a, pos.y - a ))//и при этом координата курсора попадает в спрайт
- {
- dX =pos.x - iconsprite.getPosition().x;//делаем разность между позицией курсора и спрайта.для корректировки нажатия
- dY =pos.y - iconsprite.getPosition().y;//тоже самое по игрику
- isMove = true;//можем двигать спрайт
- }
- if (event.type == Event::MouseButtonReleased)//если отпустили клавишу
- isMove = false; //то не можем двигать спрайт
- if (isMove) {//если можем двигать
- iconsprite.setPosition((pos.x - dX + a), (pos.y - dY + a ));//можно и так написать,если у вас нету х и у в классе игрока
- isMove =false;
- paint++;
- if (paint & 1) iconsprite.setColor(Color::White);
- else iconsprite.setColor(Color::Magenta);
- }
- a=-50;
- if (pos.y>=170 && pos.y<=570 && pos.x>=90 && pos.x<=490)
- if (event.type == Event::MouseButtonPressed)//если нажата клавиша мыши
- if (iconsprite.getGlobalBounds().contains(pos.x - a, pos.y - a ))//и при этом координата курсора попадает в спрайт
- {
- dX =pos.x - iconsprite.getPosition().x;//делаем разность между позицией курсора и спрайта.для корректировки нажатия
- dY =pos.y - iconsprite.getPosition().y;//тоже самое по игрику
- isMove = true;//можем двигать спрайт
- }
- if (event.type == Event::MouseButtonReleased)//если отпустили клавишу
- isMove = false; //то не можем двигать спрайт
- if (isMove) {//если можем двигать
- iconsprite.setPosition((pos.x - dX + a), (pos.y - dY + a ));//можно и так написать,если у вас нету х и у в классе игрока
- isMove =false;
- paint++;
- if (paint & 1) iconsprite.setColor(Color::White);
- else iconsprite.setColor(Color::Magenta);
- }
- ///// Движение вправо вверх /////
- a=-50;
- if (event.type == Event::MouseButtonPressed)//если нажата клавиша мыши
- if (pos.x<=490 && pos.y>=170)
- if (iconsprite.getGlobalBounds().contains(pos.x + a, pos.y - a ))//и при этом координата курсора попадает в спрайт
- {
- dX =pos.x - iconsprite.getPosition().x;//делаем разность между позицией курсора и спрайта.для корректировки нажатия
- dY =pos.y - iconsprite.getPosition().y;//тоже самое по игрику
- isMove = true;//можем двигать спрайт
- }
- if (event.type == Event::MouseButtonReleased)//если отпустили клавишу
- isMove = false; //то не можем двигать спрайт
- if (isMove) {//если можем двигать
- iconsprite.setPosition((pos.x - dX - a), (pos.y - dY + a ));//можно и так написать,если у вас нету х и у в классе игрока
- isMove =false;
- paint++;
- if (paint & 1) iconsprite.setColor(Color::White);
- else iconsprite.setColor(Color::Magenta);
- }
- ///// Движение вправо /////
- if (event.type == Event::MouseButtonPressed)//если нажата клавиша мыши
- if (pos.x<=490)
- if (iconsprite.getGlobalBounds().contains(pos.x + a, pos.y ))//и при этом координата курсора попадает в спрайт
- {
- dX =pos.x - iconsprite.getPosition().x;//делаем разность между позицией курсора и спрайта.для корректировки нажатия
- dY =pos.y - iconsprite.getPosition().y;//тоже самое по игрику
- isMove = true;//можем двигать спрайт
- }
- if (event.type == Event::MouseButtonReleased)//если отпустили клавишу
- isMove = false; //то не можем двигать спрайт
- if (isMove) {//если можем двигать
- iconsprite.setPosition((pos.x - dX - a), (pos.y - dY));//можно и так написать,если у вас нету х и у в классе игрока
- isMove =false;
- paint++;
- if (paint & 1) iconsprite.setColor(Color::White);
- else iconsprite.setColor(Color::Magenta);
- }
- ///// Движение вверх /////
- if (event.type == Event::MouseButtonPressed)//если нажата клавиша мыши
- if (pos.y>=170)
- if (iconsprite.getGlobalBounds().contains(pos.x, pos.y - a ))//и при этом координата курсора попадает в спрайт
- {
- dX =pos.x - iconsprite.getPosition().x;//делаем разность между позицией курсора и спрайта.для корректировки нажатия
- dY =pos.y - iconsprite.getPosition().y;//тоже самое по игрику
- isMove = true;//можем двигать спрайт
- }
- if (event.type == Event::MouseButtonReleased)//если отпустили клавишу
- isMove = false; //то не можем двигать спрайт
- if (isMove) {//если можем двигать
- iconsprite.setPosition((pos.x - dX), (pos.y - dY + a ));//можно и так написать,если у вас нету х и у в классе игрока
- isMove =false;
- paint++;
- if (paint & 1) iconsprite.setColor(Color::White);
- else iconsprite.setColor(Color::Magenta);
- }
- }
- //// Выыод победителя ////
- if (iconsprite.getPosition().x == 440 && iconsprite.getPosition().y == 170)
- if (paint & 1) window.close();
- // Escape pressed: exit
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Escape) {
- window.close();
- }
- // Clear screen
- window.clear();
- // Draw the sprite
- window.draw(bgsprite);
- window.draw(desk);
- window.draw(restartsprite);
- window.draw(Escsprite);
- // Draw the string
- window.draw(text);
- // window.draw(specification);
- window.draw(iconsprite);
- // Update the window
- window.display();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement