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.


Sujets - unitedelite

Pages: [1]
1
Graphique / [résolu] vertexArray, Coordonnée y inversé ?
« le: Mars 14, 2014, 07:18:53 pm »
salut,

Je programme un système de lumière dynamique mais il se trouve que les Coordonnées en y que je lui donne sont inversé ( 0 en bas de l’écran) ce qui est extrêmement dérangeant

voici le code ou je dessine la lumière

                       
light.clear();
                float angle = 360/lightDefinition;

                light.setPrimitiveType(sf::TrianglesFan);

                light.append(position);
                light[0].color = Color(color.r,color.g,color.b,100); // ajout du point au centre
                light.append(Vector2f(position.x+radius,position.y));
                light[1].color = Color(color.r,color.g,color.b,0); // ajout du premier point a droite
                angle = (M_PI*2)/lightDefinition;
                for(unsigned short i=1;i<lightDefinition+1;i++)
                {
                        Vector2f anglePt;
                        Vertex vertex;

                        anglePt.x =  position.x+((radius*cos(angle*i)) );
                        anglePt.y = position.y+((radius*sin(angle*i)) );
                       

                        vertex.position = anglePt;
                        vertex.color = Color(color.r,color.g,color.b,0);
                        light.append(vertex);
                }

j'ai fait un screen pour montré le problème, on peut voir dans la console que la lumière devrais ce trouver en 3y mais est en faite en bas de l’écran (le seul moyen que j'ai trouvé pour la remettre au bon endroit est d'inversé la coordonnées en y puis d'y soustraire la hauteur de l’écran)


donc voila, j'aimerais savoir si c'est une erreur de ma part ou bien si c'est normal (la OpenGL ayant son Y inversé), merci d'avance ^^

2
Fenêtrage / [2.1] viewport qui prend toute la fenetre
« le: Décembre 15, 2013, 11:52:50 am »
salut a tous,

j'ai actuellement un problème avec les viewport, j'essaye de faire une sorte de mini map mais elle prend l’intégralité de l’écran même avec l'utilisation des viewport

voici ou je creer mes vues
        View view(FloatRect(400,300,800,600));
        View boatView;
        view.setViewport(sf::FloatRect(0, 0, 1, 1));
        boatView.setViewport(sf::FloatRect(0.25f, 0.25, 0.5f, 0.5f));


et l'affichage de mes scene :
                window.setView(view);
                window.clear(Color(72,177,255));
                window.draw(map);

                for(unsigned int i=0;i<boatList.size();i++)
                {
                        if(!boatList[i]->destinationAtteinte)
                        {
                                boatList[i]->update();
                                window.draw(boatList[i]->boat);

                                if(zoom >= 3)
                                {
                                        RectangleShape rectangle;
                                        rectangle.setFillColor(Color::Red);
                                        rectangle.setSize(Vector2f(50,50));
                                        rectangle.setPosition(boatList[i]->boat.getPosition());

                                        window.draw(rectangle);
                                }
                        }
                        else
                        {
                                boatList.erase(boatList.begin()+i);
                        }
                }
                window.setView(boatView);
                window.clear(Color(255,0,0));
                window.draw(boat.boat);
                window.display();

La minimap (que j'efface avec un background rouge pour pouvoir voir quel vue est dessiné) prend tout l’écran cachant ainsi complétement ma vue principale (le bateau est bien affiché sur la deuxième vue)


merci pour toute aide ^^

3
Discussions générales / sfml et android
« le: Novembre 20, 2013, 10:04:16 am »
salut,

je m’intéresse de plus en plus au développement sur android et j'aimerais savoir si sfml sera compatible avec le développement android pour un avenir proche ?

si la réponse est non ou y a t'il un lib 2d en c++ pour dev sur android (même si le top serais la sfml =° ) ?

merci d'avance pour toute réponse ^^

4
Général / Erreur au lancement 0x000007b
« le: Juillet 08, 2013, 06:48:11 pm »
Salut,

Pour le concours "One game a week" du forum "creation de jeu" de jeuxvideo.com j'ai fait un petit terraria like, malheureusement certaine personnes n'arrivent pas a ouvrir mon jeu, quand ils essayent ils ont l'erreur :
Citer
l'application n'a pas réussi a démarrer correctement(0xc000007b)

il me semble que je ne suis pas le seul avec un projet smfl que les users n'arrivent pas a ouvrir a cause du même problème

si y'a une solution je suis preneur, merci d'avance ^^

5
Général / Vc 2012 : erreur de dll
« le: Juillet 03, 2013, 12:31:00 pm »
salut,

Je viens de passer sur Visual c++ 2012 et je rencontre un problème avec les dll, tout est bien linker mais quand je veut lancer mon programme visual c++ m'annonce un erreur de dll

http://img15.hostingpics.net/pics/694631Capture.png

les dll ont bien été pris dans le dossier SFML pour visual c++ 2012

Je vous remercie pour toute aide ^^


Edit : bon j'ai refait un projet vierge avec vc2012, ça fonctionne, c'est donc mon projet qui n'est pas converti ><

Edit 2 : bon, ça viendrais de SFGUI

6
Réseau / Probleme d'arrêt de mis a jour
« le: Juin 18, 2013, 04:19:42 pm »
Salut,

Pour apprendre a utiliser la partie réseau je me suis dit que j'allais dev un petit pong en ligne et après avoir quelque peu appris a utiliser rapidement la lib SFGUI j'ai quelques problème :

quand y'a que 1 joueur dans la parti et qu'il essaye de bouger la fenêtre (par exemple, je pense qu'en pause ça ferais la même chose) la balle (dont sa position est defini par le serveur) s'arrête et reprend après que le joueur est arrêter de bouger la fenêtre, sans pour autant rattraper la différence de position

l'exemple en vidéo :
quand la boule stop c'est quand je drag la fenêtre :

http://www.youtube.com/watch?v=l9JzP_uUlgk&amp;feature=youtu.be

le serveur est host sur la même machine mais je lance un autre programme pour ça

c'est pas en gros problème, le problème c'est que quand il y'a un joueur en face la boule ne s'arrête pas, provoquant un énorme décalage par rapport au joueur 2


voici le code du serveur :

http://pastebin.com/QWKQFCdt

(y'a des commentaire en anglais et en français, je viens d'ajouter ceux en français sur pastbin)


si vous pouvez en même temps m'indiquer les fautes que j'ai commise en programmation réseau ça me serais utile étant donné que c'est mon premier programme en réseau =°

merci d'avance ^^

7
Général / Tuto vertex array : point obscure
« le: Juin 01, 2013, 05:39:39 pm »
Salut a tous,

Après avoir lu le tuto sur les vertex array (d'ailleurs petite faute de frappe : "Chaque triangle pratage ses deux derniers vertex avec le suivant.  " )  et arrivé a l'exemple j'ai quelques difficulté a comprendre certaine chose :

 m_vertices.resize(width * height * 4);
Pourquoi multiplier par 4 ?

int tileNumber = tiles[i + j * width];

                // on en déduit sa position dans la texture du tileset
                int tu = tileNumber % (m_tileset.getSize().x / tileSize.x);
                int tv = tileNumber / (m_tileset.getSize().x / tileSize.x);

pourquoi multiplié par la largeur pour obtenir la case du tableau ?

  sf::Vertex* quad = &m_vertices[(i + j * width) * 4];

La ont prend un pointeur de la zone du vertex a modifier et ont en fait un sous-vertex ? (en gros ont modifie Quad par Quad chaque partie du vertex principale ?)

merci pour tout éclaircissement ^^

8
Général / 2D isometrique et souris
« le: Mai 28, 2013, 10:50:23 am »
Salut,

Je code un petit moteur 2d iso et j'ai un petit problème lorsqu'il faut que je convertisse les coordonnés de la souris en coordonné 2d iso, un screen de l'affichage :

http://img15.hostingpics.net/pics/574649Sanstitre.png
(j'ai mis les maisons pour voir l'axe X et les routes pour l'axe Y)

La maison au milieu de l'image est afficher via la position de ma souris (affiché dans la console : 0,4) hors elle devrais être positionné sur le bord supérieur et non au centre de la map

voila les coordonné que j'obtiens actuellement via le calcul actuel :
http://img15.hostingpics.net/pics/326754Capture.png



int sourisX =Mouse::getPosition(propriete.GetFenetre()).x-32; // j'enleve 32pixel pour changer X via le bord d'une case et non le centre
int sourisY = Mouse::getPosition(propriete.GetFenetre()).y;

sourisX = sourisX/64;
sourisY = sourisY/32;
 


donc j'aimerais savoir si vous avez une méthode pour convertir des coordonnés 2d normal en 2d isometrique, merci d'avance pour toute aide ^^

9
Fenêtrage / [Résolu] app.create() crash en release
« le: Mai 23, 2013, 10:04:05 am »
Edit : Arf, juste après avoir posté je me suis dit que j'allais jeter un coup d'oeil au linkage, j'avais linker les lib de debug a la release, mon probleme est reglé ^^


Salut,

J'ai un problème avec mon projet, quand je debug tout fonctionne correctement mais quand je veut compiler en Release j'obtiens un crash sans pouvoir lancer le programme

J'ai une classe "Propriete" qui contiens ma fenêtre et que j'initialise uniquement au tout début du programme qui est ensuite ré-utilisé partout via un singleton

voici ou l'attribut de la fenêtre est créer dans le fichier Propriete.h
private:
    sf::RenderWindow m_window;

et l'endroit ou il est initialisé dans le fichier Propriete.cpp

Propriete::Propriete(void)
{
        m_window.create(sf::VideoMode(800, 600), "LCS II");
        m_window.setFramerateLimit(60);

       // Propriete du jeu
        m_largeurEcran = 800;
        m_hauteurEcran = 600;

// Le jeu a une interface style televiseur, c'est pourquoi j'ai besoin de la taille et de la position de l'ecran interieur
        m_xEcran = 70;
        m_yEcran = 70;
        m_largeurEcranJeu = 669;
        m_hauteurEcranJeu = 472;

        m_nbGroupe = 0;
       

         // Placé en commentaire en attendant d'en trouver qui convienne au theme
        //m_music.openFromFile("music/Demons on my Head.ogg");
        //m_music.play();
}

et l'erreur
http://img15.hostingpics.net/pics/862683Capture.png


Je ne comprend pas d’où peut venir cette erreur car tout fonctionne correctement en debug

Je vous remercie pour votre aide ^^

10
Général / [resolu] sf::Color en parametre par defaut ?
« le: Avril 23, 2013, 08:45:28 am »
Salut a tous,

j'aimerais savoir si il est possible de donner une valeur par défaut a un sf::Color car j’utilise une fonction pour m'afficher du texte avec quelques paramètre (souligné, encadré, taille différent) et j'aimerais bien pouvoir aussi modifier la couleur en lui envoyant une couleur sans avoir a en envoyer une a chaque fois (donc par defaut la fonction donnerais la couleur blanche)

voici le header de ma fonction :

void ajouterTexte(int x, int y, std::string text, bool isEncadre = false, int charSize = 15);

voila, j’espère que j'ai étais clair, merci pour toute réponse ^^

11
Général / [Reglé]Faire des options de jeu ?
« le: Avril 22, 2013, 11:27:10 am »
C'est réglé, on m'a conseillé d'utiliser un singleton ^^


Salut a tous,

ça fait un moment que je me pose la question sur la manière de faire les options d'un jeu (taille de l’écran, volume, ect. )

jusqu’à lors je fait une classe propriété qui contient toute ces info ainsi que la fenêtre (avec un sf::Renderwindow) c'est une méthode qui fonctionne mais que je doit envoyer sur toute mes fonctions "principales" (les fonctions de dessin de l’écran, mes fonctions des différent "menu" (jeu, option, main) )

voila en gros comment je fait :
http://img15.hostingpics.net/pics/540723Sanstitre3.png

Mais je pense pas que c'est la meilleurs manière de faire j'aimerais donc savoir la manière utilisé principalement par les autres devs ^^


Merci d'avance pour tout éclaircissement ^^

12
Fenêtrage / Changer la taille de l'ecran
« le: Mars 07, 2013, 12:41:00 pm »
salut a tous,

je programme un petit jeu et j'aimerais pouvoir modifier la taille de la fenêtre sans que ça ne change la taille de l'affichage, voici le problème :

http://img15.hostingpics.net/pics/300269892.png

void Propriete::actualiserTailleEcran()
{
        m_fenetrePrincipale.setSize(Vector2u(m_largeurEcran, m_hauteurEcran));
}

//voici comment est calculer la taille de la fenetre :

m_largeurEcran = m_nbTilesLargeur*m_largeurTile+170;

// la largeur = nombre de tiles en largeur * la largeur d'un tile + 170 (le panneau d'info des unité fait 200pixels mais je coupe un peu de la ligne grise de droite pour faire plus esthétique)

 


donc ce que je cherche a faire c'est agrandir la fenêtre sans modifier l'affichage a l’intérieure et sans en créer une nouvelle.

merci pour toute aide ^^

13
Graphique / [Reglé] Verifier si image est appliqué a la texture
« le: Octobre 05, 2012, 03:56:35 pm »
Bonjours tous le monde,

c'est encore moi et je viens avec un autre problème, j'aimerais savoir si il est possible de vérifier si une images a était appliqué a une texture pour une raison simple : pour un système d'animation j'ai ma classe "canon" qui dispose d'un vector de sprite attribué depuis une fonction


void chargementImages(string chemin,vector<Sprite> &listeSprite,Image &imageSprite,int x,int y,int &nbImage,bool &reverse)
{

    int largeurImage = 0, hauteurImage = 0;

    chemin += "info.txt";
    ifstream fichierInfo(chemin.c_str());

    fichierInfo >> nbImage; // nombre d'images que contiens l'animation
    fichierInfo >> Reverse; // si l'animation dois être "rembobinez"
    fichierInfo >> largeurImage;
    fichierInfo >> hauteurImage;

    for(int i=0;i<nbImage;i++)
    {
        Sprite sprite;
        sprite.SetImage(imageSprite);
        sprite.SetSubRect(IntRect(i*largeurImage,hauteurImage,(i*largeurImage)+largeurImage,hauteurImage));  // découpe de l'image
        sprite.SetPosition(x,y); // placement du sprite
        listeSprite.push_back(sprite); //ajout du sprite dans le vector de sprite
    }

}
 


puis j'appelle une autre fonction pour afficher mon animation :

bool Canon::Tir(RenderWindow &app)
{
        string chemin = "images/canon/animationTir/info.txt";

        if(m_nbImageActuel != m_nbImageTir) // si l'image actuel n'est pas egale au nombre d'image total de l'animation
        {
            if(animation(chemin,m_listeSpriteTir,m_nbImageActuel,m_reverse,app)) // si la fonction renvoi "true"
                m_nbImageActuel ++; // l'image actuel augmente de 1
            return true; // renvoi "true" jusqu'au programme pour dire que l'animation est encore en cours
        }
        else
        {
            return false; // renvoi "false" au programme pour dire que l'animation est fini
        }

}

bool animation(string chemin,vector<Sprite> &listeSprite,int &nbImage,bool reverse,RenderWindow &app)
{
    float tempsPasse = temps.GetElapsedTime();

    if(tempsPasse > 0.005)
    {
        app.Draw(listeSprite[nbImage]);
        temps.Reset();

        return true; // signale que la frame a était affiché et qu'il peut envoyer la suivante
    }
    else
        return false;
}


ce code peut être simplifié et je m'y pencherais quand il fonctionnera, je pense que le problème viens du fait que les sprites n'ont pas d'image alloué (quand j'essaye d'afficher directement une des frame de l'animation a la place de l'affichage normal du canon (qui fonctionne) et bien rien ne s'affiche)


je vous remercie beaucoup encore pour votre aide ^^


Edit : c'est réglé j'ai mis un pointeur pour le vector et j'avais découpé l'image en y a (170,170) donc l'image n’apparaissais pas ^^

14
Graphique / Changer l'adresse image
« le: Septembre 20, 2012, 03:12:33 pm »
Bonjours tout le monde,

j'ai actuellement quelques difficulté sur ce point, j'affiche une image de bateau et j'aimerais pouvoir la changer quand il me plait mais lorsque je refait un "image.LoadFromFile("adresse"); " rien ne ce passe il ne change pas l'image.


voila merci de votre aide ^^

15
Projets SFML / Contagion
« le: Mars 31, 2012, 09:35:19 am »


Salut tout le monde!

Je suis ici pour vous présenter mon projet de jeu : Contagion

Contagion est un jeu 2D avec un design simpliste fait en C++ avec la lib SFML, votre objectif dans la version actuel du jeu (0.1.0) et de placer et de voir les deux camps du jeu se battre : les Humains et les Zombies, vous ne contrôlez pas leurs actions vous pouvez juste les voir survivre et c'est ce qui différencie Contagion des autres STR/RTS.

La version actuel de Contagion dispose de deux camps chacun ayant leurs spécificité : Les humains sont plus rapides et tuent plus facilement les zombies mais cherchent a fuir tandis que les Zombies sont plus lent mais lorsqu'il "tue" un humain celui ci ce transforme en zombie.

Dans les versions futur je compte ajouter un mode de jeu STR/RTS avec contrôle indirect des humains ( comme un Dwarf fortress) et ce sera votre objectif de les faire survivre.


Des images de la version 0.1.0 :

http://img11.hostingpics.net/pics/846167Capture.png
http://img11.hostingpics.net/pics/872428Capture2.png


Lien vers la version 0.1.0 :
/!\ Disponible uniquement pour windows pour le moment ! /!\
https://legacy.sfmluploads.org/file/122
https://sourceforge.net/projects/contagion/files/Contagion%20v0.1.0.rar/download


Liste des choses a faire pour la prochaine mise a jour :

code couleur :
Fait
Non-fait
Partiellement fait

  • Ajout d'un système de patrouille
  • Ajout de point de compétence aux entité (force,agilité,etc.)
  • Amélioration de l'IA des Humains
  • Suppression d'un mur avec le clique droit

toutes suggestion, report de bug ou avis est le bienvenus ^^

Pages: [1]