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

Pages: [1]
1
Graphique / Re: Bug de rotation "smooth"
« le: Mars 17, 2022, 01:31:42 pm »
Bonjour Gama31,
Si j'ai bien compris ton problème, tu ne sais pas comment faire pour connaître le bon sens de rotation, autrement dit la direction avec la distance la plus courte à parcourir.
Tu as un angle entre -180° et 180°. Il te suffit de faire une condition pour comparer les complémentaires à 360° de tes 2 possibilités avant de changer la valeur de m_angle pour savoir dans quelle direction aller.

Plus concrètement :
Tu calcules l'angle thêta = la valeur absolue de la différence entre les 2 angles (pour obtenir l'angle entre les 2).
Ensuite, si cette valeur est plus petite que 180, alors c'est le chemin le plus court.
Sinon tu prends l'autre direction (360 - thêta).
J'espère avoir été clair et avoir résolu ton problème !
Cdt,
Talchane

2
Général / Re: Se dispenser des .dll.
« le: Mai 24, 2020, 11:27:03 pm »
Bonsoir Laurent et merci beaucoup pour ta réponse.

J'ai cherché dans la documentation, mais étant donné qu'elle est grosse, je n'ai rien trouvé concernant ce que je cherche (liaison des bibliothèques statiques).
Pourrais-tu me rediriger vers un lien expliquant ce que je cherche à faire ? Il s'agit seulement de la SFML, pas des dlls du compilateur.

Merci d'avance.

3
Général / Se dispenser des .dll.
« le: Mai 19, 2020, 05:34:34 pm »
Bonsoir à toutes et à tous,

Lors du lancement d'un programme utilisant la sfml, nous avons besoin de joindre des dlls avec l'executable ou bien un message d'erreur apparait signalant une dll manquante. En ajoutant la variable d'environnement dans le path MinGW/bin, lancer depuis la console un programme nous dispense des dlls. Cependant, en lançant un programme depuis un ordinateur quelconque ne possédant pas la SFML d'installé, on a besoin des dlls !

Ma question est donc : comment compiler un programme de telle sorte à ce que les dlls ne soient pas nécessaire au démarrage du programme sur un ordinateur ne possédant pas la SFML ?

Merci d'avance à celui ou celle qui m'aidera ;)

4
Réseau / Connexion impossible
« le: Mai 05, 2020, 04:21:43 pm »
Bonjour à  toutes et à  tous,
Je suis un débutant en communications réseau. J'essaye de créer un programme me permettant d'envoyer un message depuis mon pc afin qu'il soit reçu par un autre ordinateur et affiché sur ce dernier.
J'essaye de faire ça avec les requêtes TCP de la SFML mais étant débutant, je ne comprends pas pourquoi cela ne fonctionne pas.
Afin de faire cela, un programme tourne simultanément sur les 2 ordinateurs (un qui envoie les messages et un autre qui les reçoit).


Voici le code de l'ordinateur qui envoie les messages :

#include <iostream>
#include <SFML/Network.hpp>

#define PORT 53000 // Le port commun aux 2 PC
#define IP "192.168.0.**" // L'adresse Ipv4 de mon destinataire (client)


int main()
{
        sf::TcpSocket socket;
        sf::Socket::Status status = socket.connect(IP, PORT);
       
        if (status != sf::Socket::Done)
        {
            std::cout << "Erreur lors de la connection du socket." << std::endl;
                return (-1);
        }


        sf::TcpListener listener;

        if (listener.listen(PORT) != sf::Socket::Done)
        {
                std::cout << "Erreur"<< std::endl;
                return (-1);
        }

        listener.accept(socket);
        std::string message;

        do
        {
                std::cout << "Votre requete : ";
                std::cin >> message;

                if (socket.send(message.c_str(), message.size() + 1) != sf::Socket::Done)
                {
                    std::cout << "Impossible d'envoyer la requete." << std::endl;
                }
        } while (message != "exit");    // Quand le message envoyé sera "exit", alors le programme terminera
       
        return (0);
}
 

Et voici le code du PC qui reçoit (et affiche) les messages.

#include <SFML/Network.hpp>
#include <iostream>

#define PORT 53000  // Le port commun aux 2 PC
#define IP "192.168.0.**" // Adresse Ipv4 du pc qui envoie les messages

int main()
{
        sf::TcpSocket socket;
        sf::Socket::Status status = socket.connect(IP, PORT);
       
        if (status != sf::Socket::Done)
        {
             std::cout << "Erreur lors de la connection du socket." << std::endl;
             return (-1);
        }

        char data_r[2000];
        do
        {              
                std::size_t received;

                if (socket.receive(data_r, sizeof(data_r), received) != sf::Socket::Done)
                {
                        // Aucune requête reçue
                }
                else
                {
                        std::cout << received << " bytes recus :\n" << data_r << std::endl << std::endl;
                }

        } while(data_r != "exit");


        return (0);
}
 

Le problème est que sur les 2 ordinateurs, le message "Erreur lors de la connection du socket" apparait. J'en conclus que c'est le socket.connect() qui ne fonctionne pas.

Merci d'avance à  celui ou celle qui parviendra à  m'aider.

Cordialement.

5
Général / Créer un .apk avec SFML
« le: Novembre 08, 2019, 03:53:24 pm »
Bonjour à toutes et à tous,
J'ai déjà vu plusieurs sujets concernant Android avec SFML mais aucun ne m'a satisfait.

Je précise que je suis sous linux et que pour compiler un programme, j'effectue une ligne de commande dans le terminal :
" g++ fichier.cpp -lsfml-window -lsfml-graphics -lsfml-system -lsfml-audio".
J'obtient ensuite un fichier .out que j'exécute en faisant "./a.out".
J'ai installé SFML en faisant un "apt-get install".

La question est simple :
Comment puis-je créer un fichier .apk à partir d'un code source c++ / SFML ?

Merci d'avance à celui ou celle qui prendra le temps de me répondre.

6
Graphique / Re: Bug texture sprite
« le: Octobre 14, 2019, 06:33:46 pm »
Bonjour draconubs et merci beaucoup pour ta réponse, mon problème est maintenant arrangé et le code est bien plus optimisé comme ça.

Le sujet est à présent résolu.

7
Graphique / Bug texture sprite
« le: Octobre 13, 2019, 03:59:03 pm »
Bonjour à toutes et à tous,

J'ai un problème dans un code concernant les textures de mes sprites. J'ai répertorié tous les sprites dans un vector. Lorsque l'on appui sur entrée, toutes les secondes, un sprite s'ajoute au vector. Seul le dernier ou les derniers sprite de mon vector sont affichés correctement. Les autres apparaissent sous forme d'un rectangle blanc.

Voici un lien permettant d'observer le résultat de mon coté lors de l'exécution du code :
https://vimeo.com/user103895169/download/366074196/34f5910ce1

J'ai joint mon code ainsi que mon image qui est à placer dans un dossier nommé "Sounds-Graphics" qu'il faut mettre dans le même dossier que le source.

Merci.

Pages: [1]