Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Mon tile mapping ne lis que les 0.  (Lu 1703 fois)

0 Membres et 1 Invité sur ce sujet

patatebleu

  • Newbie
  • *
  • Messages: 1
    • Voir le profil
Mon tile mapping ne lis que les 0.
« le: Août 14, 2012, 12:04:18 pm »





#include <iostream>
#include <fstream>
#include <SFML/graphics.hpp>
#include <SFML/window.hpp>

#define ScreenWidth 800
#define ScreenHeight 600

#define BLOCKSIZE 40

using namespace std;

int loadCounterX = 0, loadCounterY = 0;
int mapSizeX, mapSizeY;
int MapFile[100][100];

void LoadMap(const char *filename)
{
    ifstream openfile(filename);
    if(openfile.is_open())
    {
        openfile >> mapSizeX >> mapSizeY;
        while(!openfile.eof())
        {
            openfile >> MapFile[loadCounterX][loadCounterY];
            loadCounterX++;
            if(loadCounterX >= mapSizeX)
            {
                loadCounterX = 0;
                loadCounterY++;
            }
        }
    }
}
void DrawMap(sf::RenderWindow &window)
{
    sf::Shape rect = sf::Shape::Rectangle(0, 0, BLOCKSIZE, BLOCKSIZE, sf::Color(255,255,255,255));
    sf::Color rectCol;
    for(int i = 0; i < mapSizeX; i++)
    {
        for(int j = 0; j < mapSizeY; j++)
        {

            if(MapFile[i][j] == 0)
                rectCol = sf::Color(44, 117, 255);
            if (MapFile[i][j] == 1)
                rectCol = sf::Color(255, 55, 5);

            rect.SetPosition(i * BLOCKSIZE, j * BLOCKSIZE);
            rect.SetColor(rectCol);
            window.Draw(rect);
        }
    }
}
int main()
{
    sf::RenderWindow window(sf::VideoMode(ScreenWidth, ScreenHeight, 32),"SFML tile mapping");

    LoadMap("or.txt");
    while(window.IsOpened())
    {
        sf::Event Event;
        while(window.GetEvent(Event))
        {
            if(Event.Type == sf::Event::Closed)
                window.Close();
        }

        window.Clear();
        DrawMap(window);
        window.Display();
    }
}
 

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Mon tile mapping ne lis que les 0.
« Réponse #1 le: Août 14, 2012, 12:09:29 pm »
Et la politesse ? Une question claire ? Des explications détaillées ? Ce que tu as essayé ? Ce qui ne marche pas ? Ce que tu as déjà trouvé en debugguant ?

Ouvrir une nouvelle discussion avec un morceau de code copié-collé sans aucun texte l'accompagnant, c'est très très mal perçu sur les fourms. Donc tu devrais essayer de t'y prendre autrement à l'avenir ;)
Laurent Gomila - SFML developer