Форум программистов, компьютерный форум CyberForum.ru

Создание класса "Меню" в игре - C++

Восстановить пароль Регистрация
 
lenarano
1 / 1 / 0
Регистрация: 12.04.2014
Сообщений: 75
28.10.2015, 14:01     Создание класса "Меню" в игре #1
Хочу убрать часть кода из main. Создала класс игра и 2 конструктора в нем.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef MENU_H
#define MENU_H
 
 
#include <SFML/Graphics.hpp>
 
class Menu{
public:
 
sf::String File;
sf::Texture texture;
sf::Sprite sprite;
 
Menu(sf::String F){
 File = F;//имя файла+расширение
 texture.loadFromFile("images/" + File);
 sprite.setTexture(texture);//заливаем спрайт текстурой
 
 }
 
Menu(sf::String F,int x,int y){
 File = F;//имя файла+расширение
 texture.loadFromFile("images/" + File);
 sprite.setTexture(texture);//заливаем спрайт текстурой
 sprite.setPosition(x,y);
 
 }
 
 
 
};
#endif MENU_H


Все еще осталось много текста в main. Не совсем понимаю что делать дальше, как создать функции и что им передать, чтобы они были перенесены в мой класс. Как их вызывать в main. Помогите.
Вот, что у меня сейчас и main
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
////////////////////Меню/////////////////////
    Menu mainmenu("mainmenu.jpg");
    Menu saver("saver.jpeg");
    Menu manual("manual.png");
    Menu new_game("new_game.png",100,30);
    Menu about_the_program("about_the_program.png",100,90);
    Menu output("output.png",100,150);
    Menu tips("tips.png",300,30);
    bool Menu=1;
    int MenuNum=0;
    
    sf::Music menu;//создаем объект музыки
    menu.openFromFile("sounds/music_menu.ogg");//загружаем файл
    menu.play();
 
    while(Menu)
    {     
        new_game.sprite.setColor(sf::Color::Green);
        about_the_program.sprite.setColor(sf::Color::Green);
        output.sprite.setColor(sf::Color::Green);
        tips.sprite.setColor(sf::Color::Green);
        window.draw(mainmenu.sprite);
        if (sf::IntRect(100,30,200,50).contains(sf::Mouse::getPosition(window))) {new_game.sprite.setColor(sf::Color::Yellow); MenuNum=1;}
        if (sf::IntRect(100,90,300,50).contains(sf::Mouse::getPosition(window))) {about_the_program.sprite.setColor(sf::Color::Yellow); MenuNum=2;}
        if (sf::IntRect(100,150,300,50).contains(sf::Mouse::getPosition(window))) {output.sprite.setColor(sf::Color::Yellow); MenuNum=3;}
        if (sf::IntRect(300,30,130,50).contains(sf::Mouse::getPosition(window))) {tips.sprite.setColor(sf::Color::Yellow); MenuNum=4;}
 
        if (sf::Mouse::isButtonPressed(sf::Mouse::Left))
        {
            if (MenuNum==1) Menu=false;
            if (MenuNum==2) {window.draw(saver.sprite); window.display(); while(!sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)) ;}
            if (MenuNum==3)  {window.close();Menu=false;return 0;}
            if (MenuNum==4) {window.draw(manual.sprite); window.display(); while(!sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)) ;}
        }
 
 
        window.draw(new_game.sprite);
        window.draw(about_the_program.sprite);
        window.draw(output.sprite);
        window.draw(tips.sprite);   
 
        window.display();
    }
    ////////////////
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2015, 14:01     Создание класса "Меню" в игре
Посмотрите здесь:

Необходимо создать меню к игре C++
Создание класса C++
Создание класса C++
C++ создание класса
создание класса C++
Создание меню с использованием указателей на метод класса C++
C++ Динамическое создание/удаление и перебор противников в 2D игре visual studio
C++ Меню в игре OpenGL

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 15:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru