Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Gramli
Tvůrce
Avatar
Gramli:17.4.2014 23:39

Zdravím,
mám problém s vykreslováním obrázku na formulář. Když ho vykresluju takhle tak to nevykreslí nic -> bila obrazovka a cervene preskrknuty formular.

private void HlavniOkno_Paint(object sender, PaintEventArgs e)
{
    for (int x = 0; x < mapaSirka * polickoSirka; x += polickoSirka)
    {
        for (int y = 0; y < mapaVyska * polickoVyska; y += polickoVyska)
        {
            if(mapa[x,y] == Policka.Nic)
                g.DrawImage(EasterGame.Properties.Resources.trava, new Rectangle(x, y, polickoSirka, polickoVyska));
        }
    }
}

Ovsem, kdyz odstranim ten if:

if(mapa[x,y] == Policka.Nic)

, tak to vykresluje. Nevi nekdo v cem je problem??
Díky za odpovědi.

Odpovědět
17.4.2014 23:39
Kdo to říká ten to je...
Avatar
Odpovídá na Gramli
Zdeněk Pavlátka:18.4.2014 6:37

Bílý přeškrtnutý obdélník znamená, že při kreslení došlo k výjimce.

Nahoru Odpovědět
18.4.2014 6:37
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Gramli
Libor Šimo (libcosenior):18.4.2014 6:53

Skus vysvetlit podmienku kod:

if(mapa[x,y] == Policka.Nic)
Editováno 18.4.2014 6:54
Nahoru Odpovědět
18.4.2014 6:53
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Gramli
Tvůrce
Avatar
Gramli:18.4.2014 9:09

mám definovaný enum Policka, ve kterém mám položky Nic,Prekazka,Vychod atd.. to pole mapa obsahuje polozky toho enumu.
ten if:
jestlize na souradnici [x,y] je položka nic, kykresli co potřebuji a to samé tam bude pro ostatní položky.
Je to pochopitelné?

Nahoru Odpovědět
18.4.2014 9:09
Kdo to říká ten to je...
Avatar
Gramli
Tvůrce
Avatar
Odpovídá na Libor Šimo (libcosenior)
Gramli:18.4.2014 9:17

Ještě sem zapoměl říct, ten if se provede jednou úplně na začátku, ale pak to okmažitě vyskočí z funkce.

Nahoru Odpovědět
18.4.2014 9:17
Kdo to říká ten to je...
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Gramli
Ondřej Štorc:18.4.2014 9:21

Sice nevím čím to je, ale nebylo by lepší použít switch místo tisíce podmínek?

Nahoru Odpovědět
18.4.2014 9:21
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Gramli
Tvůrce
Avatar
Gramli:18.4.2014 9:31

switch sem tam měl úplně poprvé a s tím to taky nefunguje.

Nahoru Odpovědět
18.4.2014 9:31
Kdo to říká ten to je...
Avatar
Gramli
Tvůrce
Avatar
Gramli:18.4.2014 9:44

Vyřešeno: for byl špatně napsaný, takhle to funguje.

for (int x = 0; x < mapaSirka; x ++)
            {
                for (int y = 0; y < mapaVyska; y ++)
                {
                    if(mapa[x,y] == Policka.Nic)
                        g.DrawImage(EasterGame.Properties.Resources.trava, new Rectangle(x * polickoSirka, y * polickoVyska, polickoSirka, polickoVyska));
                }
            }
Nahoru Odpovědět
18.4.2014 9:44
Kdo to říká ten to je...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.