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

Člen
Avatar
:27.4.2013 12:39

Ahoj, dělám projekt PacMan do školy, nyní si lámu hlavu nad tím jak mám udělat aby picturebox (pacman) jezdil pouze mezi panely. Uvítám každou radu děkuji.

žlutý pictureBox je pacman
šedé a modré jsou panely pro ohraničení hracího pole a překážky.

  • kdyby jste někdo měli zvuk pacmana (wakawaka) nemůžu to nikde najít.
 
Odpovědět
27.4.2013 12:39
Avatar
Odpovídá na
Michal Žůrek - misaz:27.4.2013 12:51

Způsob jakým to děláš je špatný, dej tam jediný pictureBox a vykresluj do toho. To znamená že si vytvoří privátní g typu Graphics. Po spuštění formu na něho zavoláž createGraphics toho pictureBoxu:

Graphics g;
//Po načtení (Load)
g = PictureBox1.CreateGraphics()

No a pka nějakou metodu prekresli()

g.Clar(Color.White)
//Vykreslování ...
// příklad: g.FillRectangle(Color.Yellow, new Rectangle(new Point(0,0), new Size(10,10));
 
Nahoru Odpovědět
27.4.2013 12:51
Avatar

Člen
Avatar
 
Nahoru Odpovědět
27.4.2013 16:06
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na
Petr Nymsa:27.4.2013 16:31

Udělej co psal Misaz, vytvoř si jeden picturebox a zaregistruj mu událost Paint, v metodě si vytvoř Graphics od PictureBoxu a kresli. Kód může vypadat nějak takto

void PictureBox_OnPaint(object source, OnPaintArgs e)
{
    Graphics g=e.Graphics;
    g.DrawLine(new Pen(Color.Red),new Point(0,0),new Point(80,80));

}

píšu z hlavy, není to úplně správně, ale podstatné je to graphics a její metody. Budeš tedy neustále překreslovat pictureBox. Při změně klávesy, resp. v timeru nezapomeň zavolat metodu Refresh na PictureBoxu

Nahoru Odpovědět
27.4.2013 16:31
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Michal Žůrek - misaz:27.4.2013 16:35

nebo přes paint, to je celkem fuk.

 
Nahoru Odpovědět
27.4.2013 16:35
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 5 zpráv z 5.