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 - Umbre

Pages: [1]
1
Fenêtrage / Macbook Pro retina M2 14''
« le: Septembre 01, 2023, 10:12:12 pm »
Bonjour, je n'arrive pas à utiliser la résolution de mon écran (Macbook Pro retina M2 14''), SFML ne peut apparament ouvrir que des fenêtres d'assez basse résolution, et le plein écran ne fonctionne pas et fait crasher l'application. Pourtant tout fonctionnait bien chez moi avant la dernière mise à jour de SFML que j'ai effectué (Homebrew a écrasé la précédente version, je ne sais plus laquelle c'était). getFullscreenModes() ne fonctionne pas non plus. Quelqu'un a-t-il le même problème ? Peut-on le résoudre ?
Normalement mon écran est 3024x1964.

3
Général / Build sur ubuntu avec ccmake avec mingw
« le: Janvier 31, 2022, 10:30:39 am »
Bonjour, je suis débutant avec ubuntu.
Je voudrais pouvoir générer des .exe pour windows depuis mon ubuntu.
Pour cela j'ai installé mingw (qui fonctionne bien).
Il faudrait maintenant que je compile la sfml en static avec mingw.
J'ai installé ccmake (un intermédiaire entre cmake en ligne de commande et cmake-gui), mais je ne sais pas comment lui dire que je veux utiliser le compilateur gcc de mingw et pas celui d'ubuntu.

J'espère avoir été clair.
Merci beaucoup à ceux qui pourront m'aider,
Bonne journée.

4
Général / Mon premier Projet
« le: Mai 06, 2016, 01:53:19 pm »
Bonjour!
Je suis assez heureux car je viens de finir mon premier programme : un Tetris! Je sais que c'est pas grand chose, mais comme je partais de zéro tant pour la SFML que pour la programmation en général... J'ai vraiment galéré :P Il ne fonctionne pas trop mal, seulement j'ai parfois des bug avec les évènements, notamment lorsque je ferme la fenêtre en cours de jeu. De plus j'ai l'impression que tous mes quads ne s'affichent pas exactement au même moment lorsqu'une forme descend...

Voici la boucle de jeu :
  while(fenetre.isOpen())
    {
        while(fenetre.pollEvent(evenement))
        {
            if(evenement.type == sf::Event::Closed) fenetre.close();
            if(evenement.type == sf::Event::KeyPressed)
            {
                if(evenement.key.code == sf::Keyboard::Down ) F.deplacer(bas);
                if(evenement.key.code == sf::Keyboard::Left ) F.deplacer(gauche);
                if(evenement.key.code == sf::Keyboard::Right) F.deplacer(droite);
                if(evenement.key.code == sf::Keyboard::Up   ) F.tourner();
            }
        }
       
        if (!perdu)
        {
            chrono += horloge.restart();
            if(chrono.asMilliseconds() > VitesseJeu.asMilliseconds())
            {
                chrono = sf::seconds(0);
                bool dormir=false;
           
                if(F.stop())                                        // Si la forme actuelle est stoppée dans sa descente
                {
                    F.liberer();
                    score += supligne(map);                         // Supprimer les lignes complètes et faire descendre tous les carrés supérieurs
                    S_score = std::to_string(score);
                    LeScore.setString("Score : " + S_score);
                    VitesseJeu = sf::milliseconds(600 - score);
                    F = forme(map, VA);                             // créer une nouvelle forme qui remplace l'ancienne
                    if(F.chevauche()) perdu =true;                  // Si elle chevauche un carré existant, fin du jeu
                    F.afficher();
                    dormir =true;
                }
            if(!dormir) F.deplacer(bas);
            }
        }
       
        fenetre.clear();
        fenetre.draw(VA);                                           //Afficher le VertexArray contenant tous les carrés
        fenetre.draw(LeScore);
        if(perdu)fenetre.draw(T_perdu);
        fenetre.display();
    }
 
Est-ce que ma boucle d'évènements est correcte selon vous?
 

5
Graphique / Re : VertexArray déplacer un simple carré
« le: Avril 12, 2016, 12:21:32 am »
Je me sens vraiment pas malin. Tout ca pour une accolade. J'ai du le relire 20 fois sans le voir.
Merci bcp !

6
Graphique / VertexArray déplacer un simple carré
« le: Avril 11, 2016, 09:24:04 pm »
Bonjour !
Je fais des tests pour me familiariser avec SFML. Je suis pas un pro en c++, mais j'ai essayé de déplacer un simple Quads de gauche à droite sur mon écran. Je sais pas pourquoi il avance par "saut" de manière chaotique, alors qu'il n'y a que 4 malheureux vertex. Quand je copie-colle le code du tuto System de particule du site, je peux animer un million de points sans que ca rame. J'ai forcément fait une erreur mais je ne sais pas où.

class Carre: public sf::Drawable
{
public:
    Carre() : monCarre(sf::Quads, 4), position(100, 100), taille(30)
    {
        monCarre[0].position = position ;
        monCarre[1].position = position + sf::Vector2f(0,taille);
        monCarre[2].position = position + sf::Vector2f(taille,taille);
        monCarre[3].position = position + sf::Vector2f(taille,0);
    }
    void calculer_position(sf::Time t, int vitesse)
    {
        position.x += t.asSeconds()*vitesse ;
        monCarre[0].position = position ;
        monCarre[1].position = position + sf::Vector2f(0,taille);
        monCarre[2].position = position + sf::Vector2f(taille,taille);
        monCarre[3].position = position + sf::Vector2f(taille,0);
       
    }
private:
    virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const
    {
        target.draw(monCarre, states);
    }

    sf::VertexArray monCarre;
    sf::Vector2f position;
    int taille;
};




int main()
{
    sf::RenderWindow fenetre(sf::VideoMode(1000, 1000), "Mon premier carre");
   
 
   
    Carre dessin;
    int vitesse = 10;
    sf::Clock clock;
   
    while (fenetre.isOpen())
    {
        sf::Event event;
        while (fenetre.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                fenetre.close();
           
            sf::Time temps_passe = clock.restart();
            dessin.calculer_position(temps_passe, vitesse);
           
            fenetre.clear();
            fenetre.draw(dessin);
            fenetre.display();
           
        }
    }
   
    return 0;
}
 

Pages: [1]