示例#1
0
void MainMenu::play_solo_game()
{
    hide_buttons();
    sg.board->grabKeyboard();
    sg.new_game();
    sg.show();
}
示例#2
0
void MainMenu::play_competitive_game()
{
    hide_buttons();
    atc.new_game();
    atc.board->grabKeyboard();
    atc.show();
}
示例#3
0
void MainWindow::on_playButton_clicked()
{
    hide_buttons();
    canvas = new Canvas(this);
    canvas->resize(this->size());
    canvas->show();

    music_guitar = Phonon::createPlayer(Phonon::MusicCategory,
      Phonon::MediaSource("Feelings/guitar.mp3"));
    music_guitar->play();

    music_song = new Phonon::MediaObject(this);
    music_song->setCurrentSource(Phonon::MediaSource("Feelings/song.mp3"));
    music_song_output =
        new Phonon::AudioOutput(Phonon::MusicCategory, this);
    Phonon::Path path = Phonon::createPath(music_song, music_song_output);
    music_song->play();
    music_song_output->setMuted(true);
    Midi midi("Feelings/notes.musicman");
    midi.parse();
    canvas->setMidi(midi);

    QTimer *timer = new QTimer(this);
    connect(timer, SIGNAL(timeout()), canvas, SLOT(animate()));
    timer->start(25);
}
示例#4
0
void MainWindow::on_playButton_clicked()
{
    cur_scene = list;
    hide_buttons();
    musiclist->setVisible(true);
    musiclist->setFocus();

    QDir dir_songs(QDir::home().absoluteFilePath(".musicman/songs/"));
    musiclist->clear();
    musiclist->addItems(dir_songs.entryList(QDir::Dirs | QDir::NoDotAndDotDot));
    if (musiclist->count() > 0)
        musiclist->setCurrentItem(musiclist->item(0));
}
示例#5
0
void MainMenu::show_leaderboard()
{
    hide_buttons();
    QPushButton* to_menu = new QPushButton(this);
    to_menu->setText("Back to Menu");
    QObject::connect(to_menu,SIGNAL(clicked()),this,SLOT(end_leaderboard()));
    to_menu->setAttribute(Qt::WA_DeleteOnClose);
    QObject::connect(to_menu,SIGNAL(clicked()),to_menu,SLOT(close()));
    to_menu->setFixedSize(200,40);
    to_menu->move(width()/2 - 100, 550);
    QFont font("Arial");
    font.setPointSize(20);
    font.setBold(true);
    to_menu->setFont(font);
    to_menu->show();
    
    
    lb->show();
}
示例#6
0
TextBox::TextBox(TextBoxType _type) {

    type = _type;
    buffer_size = 100;
    TextFont buttonfont = Engine::get_game_font();

    //build forwards button
    forward_button = std::make_shared<Button>(ButtonType::Single);
    forward_button->set_visible(text_stack.can_forward());
    forward_button->set_alignment(ButtonAlignment::BottomLeft);

    backward_button = std::make_shared<Button>(ButtonType::Single);
    backward_button->set_visible(text_stack.can_backward());
    backward_button->set_alignment(ButtonAlignment::BottomLeft);

    if(type == TextBoxType::Bar){
        forward_button->move_text(0.0f, 0.0f);
        forward_button->set_picture("gui/game/next");

        forward_button->set_on_click([&] () {
            LOG(INFO) << "forward button pressed";

            if(text_stack.can_forward()){
                traverse_text(Direction::NEXT);

                if(!text_stack.can_forward()){
                    forward_button->set_picture("gui/game/next");
                }
                Engine::get_gui()->refresh_gui();
            }
            else{
                hide_buttons();
                Engine::close_notification_bar();
            }
        });

        this->add(forward_button);
    }
    if(type == TextBoxType::ExternalScriptHelp){
        forward_button->move_text(0.0f, 0.0f);
        forward_button->set_picture("gui/game/next");

        forward_button->set_on_click([&] () {
            LOG(INFO) << "forward button pressed";

            if(text_stack.can_forward()){
                traverse_text(Direction::NEXT);

                if(!text_stack.can_forward()){
                    forward_button->set_picture("gui/game/next");
                    forward_button->set_visible(false);
                    forward_button->set_clickable(false);
                }
                Engine::get_gui()->refresh_gui();
            }
        });

        this->add(forward_button);
    }
    else if(type == TextBoxType::Display){
        forward_button->move_text(0.0f, 0.0f);
        forward_button->set_picture("gui/game/next");

        forward_button->set_on_click([&] () {
            LOG(INFO) << "forward button pressed";

            if(text_stack.can_forward()){
                traverse_text(Direction::NEXT);

                if(!text_stack.can_forward()){
                    forward_button->set_picture("gui/game/next");
                }
                else if(text_stack.can_forward()){
                    forward_button->set_picture("gui/game/next");
                }

                if(!text_stack.can_backward()){
                    backward_button->set_picture("gui/game/prev");
                }
                else if(text_stack.can_backward()){
                    backward_button->set_picture("gui/game/prev");
                }
                Engine::get_gui()->refresh_gui();
            }
        });

        backward_button->move_text(0.0f, 0.0f);
        backward_button->set_picture("gui/game/prev");

        backward_button->set_on_click([&] () {
            LOG(INFO) << "backward button pressed";

            if(text_stack.can_backward()){
                traverse_text(Direction::PREVIOUS);

                if(!text_stack.can_backward()){
                    backward_button->set_picture("gui/game/prev");
                }
                else if(text_stack.can_backward()){
                    backward_button->set_picture("gui/game/prev");
                }

                if(!text_stack.can_forward()){
                    forward_button->set_picture("gui/game/next");
                }
                else if(text_stack.can_forward()){
                    forward_button->set_picture("gui/game/next");
                }

                Engine::get_gui()->refresh_gui();
            }
        });

        this->add(forward_button);
        this->add(backward_button);
    }
    // text object for notifications
    text = std::make_shared<GUIText>();
    text->set_width(1.0f);
    text->set_height(1.0f);
    text->set_x_offset(0.0f);
    text->set_y_offset(0.0f);

    set_text("");
    this->add(text);
}