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

16
Général / Re : 2D isometrique et souris
« le: Juin 01, 2013, 05:28:05 pm »
Merci, j'irais jeter un coup d’œil et essayer quand je serais chez moi et que j'aurais le temps pour essayer ^^

17
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 ^^

18
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 ^^

19
Projets SFML / Re : Un Miniminijeu.
« le: Mai 22, 2013, 11:51:35 am »
Avant tout : ne prend pas mon post comme une critique sur ton jeu, je n'ai fait que regarder ton code et je j'y ai pas joué donc je ne me permet pas de dire qu'il est bon/nul =°


quelques trucs que je comprend pas dans ton code :

                mode = false;
                modechoice = true;
                std::ifstream fichierRead("datad.zft");
                using namespace std;


                fichierRead.seekg(0, std::ios::beg);
                fichierRead >> scoreMax;

                std::ostringstream oss6;
                oss6 << "Meilleur Score (Difficile): " <<scoreMax;
                std::string resultMax = oss6.str();
                fichierRead.close();

                using namespace sf;

                textMax.setString(resultMax);
                temps.restart();

Pourquoi placer des namespace a cette endroit ? les namespace ce placent au debut du fichier en dessous des #include et surtout que la tu t'en sert même pas (malgré ton "namespace std;" tu continue de faire  std::string  )


ensuite quand t'initialise plusieurs int/bool/ect. au lieux de faire

int x = 0;
int y = 0;
[...]
 

tu peut faire :

int x = 0, int y = 0, [...];
 


n’hésite pas aussi a passer par des fonctions , par exemple pour l'affichage ou les différent menu.

Quand tu fait une présentation mets des screens même si tu pense que ton jeu est moisi, ainsi ont est moins réticent a l'idée de télécharger en sachant de quoi il s'agit


Après avoir exploré ton code je te conseillerais une chose : continuer ton apprentissage du C/C++ avant d'attaquer la SFML, tu fait beaucoup d'erreur ( les namespace dit plus haut ou le manque d'utilisation des fonctions), ensuite tu verra toute les erreurs que tu a fait et tu pourra même réécrire ton programme en bien moins de lignes ^^

20
Wow le site est magnifique, good job ^^

21
Général / Re : sf::Color en parametre par defaut ?
« le: Avril 23, 2013, 11:02:44 am »
Ah effectivement, ça me sera utile pour les prochaines fois ^^

merci beaucoup de ton aide ^^

22
Général / Re : sf::Color en parametre par defaut ?
« le: Avril 23, 2013, 10:04:50 am »
ah j'avais mal compris alors ^^


j'ai essayé "sf::Color couleur = White", "sf::Color::White", "sf::Color::White couleur" mais sans succés, je vois pas comment le faire, je vais relire la doc pour voir si je trouve une indication ^^

23
Général / Re : sf::Color en parametre par defaut ?
« le: Avril 23, 2013, 09:56:08 am »
Ouais je pensais bien que c'étais pas possible mais je voulais m'en assurer avant de faire autrement  ^^

24
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 ^^

25
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 ^^

26
Fenêtrage / Re : Changer la taille de l'ecran
« le: Mars 07, 2013, 01:12:09 pm »
Ah effectivement, merci ^^

27
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 ^^

28
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 ^^

29
Graphique / Re : Changer l'adresse image
« le: Septembre 20, 2012, 03:48:50 pm »
ah ben en faite c'est bon, j'avais mis un nom bidon a la place par défaut j'avais l'erreur d'image qui pouvais pas ce charger dans la console la j'ai créer un nouveau dossier avec une autre image est ça fonctionne, merci de votre aide ^^

30
Graphique / Re : Changer l'adresse image
« le: Septembre 20, 2012, 03:39:34 pm »
en gros j'essaye de rendre modulable le système de navire pour pouvoir en ajouter facilement
agencement des dossiers :

Navire -> dossier contenant tout les dossier des différent navire
dossier de navire -> dossier contenant une image du navire, une image des zones de collisions, une image de la position des canons, un fichier txt d'info sur le navire (nombre de canon, position des canons)

et j'aimerais pouvoir changer l'image du navire en modifiant le chemin d’accès a ces images

    m_imageNavire.LoadFromFile("images/navire/"+m_nomNavire+"/bateau.png");
    m_imageNavire.SetSmooth(false);
    m_spriteNavire.SetImage(m_imageNavire);

sauf que quand je change la valeur de "m_nomNavire"

void navire::SetNom(string nom)
{
    m_nomNavire = nom;
}

et que j'utilise une methode

void navire::Actualiser()
{
    positionCanon(m_nomNavire,m_posCanonX,m_posCanonY,m_canonPlace);

    m_imageNavire.LoadFromFile("images/navire/"+m_nomNavire+"/bateau.png");
    m_imageNavire.SetSmooth(false);
    m_spriteNavire.SetImage(m_imageNavire);
}
 

et bien l'image affiché dans le jeu ne change pas
(voici le jeu avec une adresse fixe )