Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - maxguigui

Pages: [1]
1
Fenêtrage / Re : Utilisation Joystick
« le: Août 12, 2014, 11:24:12 pm »
Non c'est bon la SFML fonctionne,et c'est bien l'emplacement 0,j'avais juste oublié le bout de code qui faisait le setValue dans la QProgressBar,donc ça n'affichait pas la valeur,le joystick marche niquel ^^
J'ai eu du mal à installer,mais c'est un bonheur maintenant ^^

2
Fenêtrage / Re : Utilisation Joystick
« le: Août 10, 2014, 01:47:31 am »
Euh,Nan j'ai pas compilé SFML avec MinGW parce que je comprends rien a ce qui faut faire ahah

EDIT:je pense avoir reussi a compiler SFML avec le tuto Github de Laurent Gomila et avoir reussi a la linker.
Mon code fonctionne maintenant avec les fonctions de la SFML sans planter,néanmoins,en connectant un joystick,ma boucle:
if(sf::Joystick::isConnected(0))
    {
        puissance_demandee=100;
    }
ne fonctionne toujours pas ...

3
Fenêtrage / Re : Utilisation Joystick
« le: Août 10, 2014, 01:10:50 am »
Fenetreprincipale.cpp
#include "Fenetre_principale.h"
#include "moteurs.h"

FenetrePrincipale::FenetrePrincipale():QWidget()
{

    barre_de_menu=new QMenuBar();
    menu_programme=new QMenu("&Programme");
    menu_affichage=new QMenu("&Affichage");
    menu_options=new QMenu("&Options");
    barre_de_menu->addMenu(menu_programme);
    barre_de_menu->addMenu(menu_affichage);
    barre_de_menu->addMenu(menu_options);
    //actions programme
    QAction *actionQuitter = new QAction("&Quitter",menu_programme);
    actionQuitter->setShortcut(QKeySequence("Ctrl+Q"));
    connect(actionQuitter,SIGNAL(triggered()),qApp,SLOT(quit()));
    menu_programme->addAction(actionQuitter);
    //actions affichage
    afficher_compteurdevitesse=new QAction("&Compteur de vitesse",menu_affichage);
    afficher_compteurdevitesse->setCheckable(1);
    afficher_compteurdevitesse->setChecked(1);
    connect(afficher_compteurdevitesse,SIGNAL(triggered()),this,SLOT(affichage_compteur_vitesse()));
    menu_affichage->addAction(afficher_compteurdevitesse);
    afficher_horizonartificiel=new QAction("&Horizon artificiel",menu_affichage);
    afficher_horizonartificiel->setCheckable(1);
    afficher_horizonartificiel->setChecked(1);
    connect(afficher_horizonartificiel,SIGNAL(triggered()),this,SLOT(affichage_horizon_artificiel()));
    menu_affichage->addAction(afficher_horizonartificiel);
    afficher_moteurs=new QAction("&Moteurs",menu_affichage);
    afficher_moteurs->setCheckable(1);
    afficher_moteurs->setChecked(1);
    connect(afficher_moteurs,SIGNAL(triggered()),this,SLOT(affichage_moteurs()));
    menu_affichage->addAction(afficher_moteurs);

    //actions options

    barre_puissance_demandee=new QProgressBar();
    barre_puissance_demandee->setMinimum(-100);
    barre_puissance_demandee->setMaximum(100);
    barre_puissance_demandee->setOrientation(Qt::Vertical);
    barre_puissance_demandee->setValue(puissance_demandee);
    //barre_puissance_demandee->setTextVisible(1);

    avancer=new QShortcut(Qt::Key_Z,this);
    connect(avancer,SIGNAL(activated()),this,SLOT(action_avancer()));
    reculer=new QShortcut(Qt::Key_S,this);
    connect(reculer,SIGNAL(activated()),this,SLOT(action_reculer()));
    gauche=new QShortcut(Qt::Key_Q,this);
    connect(gauche,SIGNAL(activated()),this,SLOT(tourner_gauche()));
    droite=new QShortcut(Qt::Key_D,this);
    connect(droite,SIGNAL(activated()),this,SLOT(tourner_droite()));

    batterie=new QProgressBar();
    batterie->setMinimum(0);
    batterie->setMaximum(100);
    batterie->setOrientation(Qt::Horizontal);
    batterie->setValue(pourcentage_batterie);

    moteurs=new Moteurs();
    /*rafraichissement=new QTimer(this);
    rafraichissement->start(20);
    connect(rafraichissement,SIGNAL(timeout()),moteurs,SLOT(rafraichir(puissance_moteurdroit,puissance_moteurgauche,regime_moteurdroit,regime_moteurgauche)));*/


    moteurs->setPourcentagegauche(puissance_moteurgauche);
    moteurs->setPourcentagedroit(puissance_moteurdroit);
    moteurs->setRegimegauche(regime_moteurgauche);
    moteurs->setRegimedroit(regime_moteurdroit);

    organisation_principale=new QGridLayout(this);
    organisation_principale->addWidget(barre_puissance_demandee,1,0,Qt::AlignLeft);
    organisation_principale->addWidget(barre_de_menu,0,0,Qt::AlignTop);
    organisation_principale->addWidget(batterie,0,1,Qt::AlignRight);
    organisation_principale->addWidget(moteurs,1,1,Qt::AlignBottom);
    //sf::Joystick::update();
    if(sf::Joystick::isConnected(0))
    {
        puissance_demandee=100;
    }
}

void FenetrePrincipale::action_avancer()
{
   puissance_demandee ++;
   barre_puissance_demandee->setValue(puissance_demandee);

}
void FenetrePrincipale::action_reculer()
{
    puissance_demandee --;
    barre_puissance_demandee->setValue(puissance_demandee);
}

void FenetrePrincipale::tourner_gauche()
{
    puissance_moteurgauche=puissance_demandee-10;
}

void FenetrePrincipale::tourner_droite()
{
    puissance_moteurdroit=puissance_demandee-10;
}

void FenetrePrincipale::monter_camera()
{

}

void FenetrePrincipale::baisser_camera()
{

}

void FenetrePrincipale::gauche_camera()
{

}

void FenetrePrincipale::droite_camera()
{

}

void FenetrePrincipale::affichage_compteur_vitesse()
{
    if(afficher_compteurdevitesse->isChecked())
    {
        compteur_de_vitesse->setVisible(1);
    }
    else
    {
        compteur_de_vitesse->setHidden(1);
    }
}

void FenetrePrincipale::affichage_horizon_artificiel()
{
    if(afficher_horizonartificiel->isChecked())
    {
        horizon_artificiel->setVisible(1);
    }
    else
    {
        horizon_artificiel->setHidden(1);
    }
}

void FenetrePrincipale::affichage_moteurs()
{
    if(afficher_moteurs->isChecked())
    {
        moteurs->setVisible(1);
    }
    else
    {
        moteurs->setHidden(1);
    }
}
 

Fenetreprincipale.h
#ifndef FENETRE_PRINCIPALE_H
#define FENETRE_PRINCIPALE_H

#include <QMenu>
#include <QMenuBar>
#include <QGridLayout>
#include <QApplication>
#include <QProgressBar>
#include <QShortcut>
#include <QAction>
#include <QTimer>
#include "moteurs.h"
#include <SFML/Window/Joystick.hpp>


class FenetrePrincipale: public QWidget
{
    Q_OBJECT

public:
    FenetrePrincipale();


public slots:
    void action_avancer();
    void action_reculer();
    void tourner_gauche();
    void tourner_droite();
    void monter_camera();
    void baisser_camera();
    void gauche_camera();
    void droite_camera();
    void affichage_horizon_artificiel();
    void affichage_compteur_vitesse();
    void affichage_moteurs();

private:
    QMenuBar *barre_de_menu;
    QGridLayout *organisation_principale;
    QMenu *menu_affichage;
    QMenu *menu_options;
    QMenu *menu_programme;
    QGridLayout *organisation_instruments;
    QProgressBar *barre_puissance_demandee;
    QShortcut *avancer;
    QShortcut *reculer;
    QShortcut *gauche;
    QShortcut *droite;
    QWidget *compteur_de_vitesse;
    QWidget *horizon_artificiel;
    Moteurs *moteurs;
    QAction *afficher_compteurdevitesse;
    QAction *afficher_horizonartificiel;
    QAction *afficher_moteurs;
    QProgressBar *batterie;
    QTimer *rafraichissement;
    int puissance_demandee=0;
    int puissance_moteurgauche=100;
    int puissance_moteurdroit=100;
    int regime_moteurgauche=4000;
    int regime_moteurdroit=4000;
    int pourcentage_batterie=100;
};

#endif // FENETRE_PRINCIPALE_H
 

Bah si j'inclue pas la SFML,ça peut pas marcher ^^
D'ailleur si j'essaye sans inclure,il me met "sf"has not been declared here ;)

4
Fenêtrage / Utilisation Joystick
« le: Août 09, 2014, 11:57:06 pm »
Bonsoir a tous !
Je rencontre un problème,ou plutôt un bug ^^
Apres un long périple pour installer la librairie,je m'attaque a son utilisation:j'inclus SFML/Window/Joystick.hpp,et utilise pour tester si le joystick est reconnu et si la librairie fonctionne la fonction sf::Joystick::isConnected(0) et là,boum,mon programme plante au moment de se lancer :(
Je commente,ça marche,je décommente,ça marche plus (donc c'est bien la ligne là qui fait planter ^^)
Quelqu'un a t-il une idée de quel pourrait être mon probleme ?
Merci d'avance pour votre aide ! :)
PS:j'utilise Qt,ce qui n'est pas une mince affaire avec SFML ^^

Pages: [1]
anything