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

Pages: [1]
1
DotNet / [C#] Problème d'affichage map
« le: Décembre 16, 2012, 11:11:49 am »
Bonjour,Je vous explique mon problème qui persiste depuis au moin plus de 2 jour.
J'ai un map ou je refresh ma carte  pour afficher le contenu.
Le problème est mon contenue ne s'affiche pas voici ce qui affiche le contenue :
public void RefreshMap()
        {
            RenduMap.Clear();
            RenduMap.SetFramerateLimit(60);
            for (int Ytime = 0; Ytime < 15; Ytime++)
            {
                for (int XTime = 0; XTime < 20; XTime++)
                {
                    for (int coucheX = 0; coucheX < 3; coucheX++)
                    {
                        String[] CouchesCp = MapCouche1[Ytime, XTime].Split(new String[] { "()" }, StringSplitOptions.RemoveEmptyEntries);
                        String[] CouchesEventCp = CouchesCp[Convert.ToInt32(coucheX)].Split(new String[] { "--" }, StringSplitOptions.RemoveEmptyEntries);
                        if (CouchesEventCp[1] == "-0" && CouchesEventCp[0] == "-0")
                        {
                        }
                        else
                        {
                            AffCase.SubRect = new IntRect((Convert.ToInt32(CouchesEventCp[1]) * 32), (Convert.ToInt32(CouchesEventCp[0]) * 32), (Convert.ToInt32(CouchesEventCp[1]) * 32) + 32, (Convert.ToInt32(CouchesEventCp[0]) * 32) + 32);
                            AffCase.Position = new Vector2(Convert.ToInt32(CouchesEventCp[3]) * 32, Convert.ToInt32(CouchesEventCp[2]) * 32);
                            RenduMap.Draw(AffCase);
                        }
                       
                    }
                   
                }
            }
RenduMap.display();
}
L'initialise de la map et la :
public void ConstructeurMap(PictureBox B)
        {
            //initialise Y
           
            PicMap = B;
            RenduMap = new RenderWindow(PicMap.Handle);
            RenduMap.SetFramerateLimit(60);
            AffCase = new Sprite(ImgTile);
            RenduMap.Clear();
            RenduMap.Display();
            for (int i = 0; i < 15; i++)
            {
                //Initialise X
                for (int i2 = 0; i2 < 20; i2++)
                {
                    // Explication Code 1-TileY 2-TileX 3-MapY 4-MapX 5-Even 6-Bloque
                    MapCouche1[i, i2] = "-0---0--" + i + "--" + i2 + "--0--1()-0---0--" + i + "--" + i2 + "()-0---0--" + i + "--" + i2;
                    MapCouche2[i, i2] = "-0---0--" + i + "--" + i2 + "--0--1()-0---0--" + i + "--" + i2 + "()-0---0--" + i + "--" + i2;
                }
            }
        }

Bref si je met par exemple un draw dans le constructeur ce draw reste afficher et clignote met mon contenue ne s'affiche pas on dirait que mon refresh ne clear rien ou n'enregistre rien.
J'ai verifier aussi si il recever bien les case il les recois bien donc sa vien d'autre chose j'ai beau chercher impossible de trouve ce qui lance le refresh et ce code la :
private void FrmEditeur_Shown(object sender, EventArgs e)
        {
           
            Edit.ConstructeurTile(PicTile);
            Edit.ConstructeurMap(PicMap);
            RefreshTile.RunWorkerAsync();
            RefreshMap.RunWorkerAsync();
           
        }

Le truc comme vous voyer le tile et refresh lui aussi et celui ci marche comparer a la map .
Voici le runworker :
private void RefreshMap_DoWork(object sender, DoWorkEventArgs e)
        {
            while (true)
            {
                    Edit.RefreshMap();
            }
        }

Il est identique au refreshTile voici le code du refresh tile :
public void RefreshTile()
        {
            if (CaseSelect == 1)
            {

                RenduTile.SetFramerateLimit(60);
                RenduTile.Clear();
                RenduTile.Draw(AffTile);
                RenduTile.Draw(AffCaseSelect);
               
               
                RenduTile.Display();
            }
            else
            {
                RenduTile.SetFramerateLimit(60);
                RenduTile.Clear();
                RenduTile.Draw(AffTile);
                RenduTile.Display();
            }
           
           
        }

Celui ci marche sans soucie  alors que la code maps et cassi identique comment je peux faire ?

edit :
Le problème viens exactement de RenduMap car si je le remplace par RenduTile le code fonctionne les image s'affiche etc.
Problème et que je voie pas quel et le  problème réel car si sa viens pas du code refresh alors sa viens du constructeur mais j'ai rien vue d'anormal

edit :

J'ai resolu le probleme si j'enlever dans COnstruteur maps display et clear le tile s'affiche pas mes les event maps s'affiche parcontre si j'enleve aussi les event au tile ben la maps fonctionne pas mais le tile fonctionne  bizzard


2
DotNet / Re : [c#] Utilisation SFML
« le: Septembre 16, 2012, 04:18:16 pm »
Je vous remercie bien ^^

3
DotNet / [c#] Utilisation SFML
« le: Septembre 16, 2012, 02:58:35 pm »
Bonjour,Voila j'ai un problème j'aimerais découvrir de plus prés SFML mais aucun Tutorial existe pour c#.J'ai beaux chercher je ne trouve rien pouvez vous m'aider ?

Pages: [1]