Diskuze: Vykreslovanie obrazkov
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 20 zpráv z 20.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
vymaž řádek valecjedna.Refresh(), voláš donekočna refresh (překreslení)
No vtedy mi aj aplikacia mrzla .. teraz uz nie .. ale pocas toho ako by to malo kreslit ten pohyb je pictureBox(valecjedna)bieli a potom ukaze len vykresleny obrazok na poslednej pozicii
To je přeci logické, zkus dát mezi to nějaký time ...
To co ty chceš ti to udělá za pár stovek milisekund, jestli to chceš vidět jak se to posunuje děj si tam timer nebo uspání vlákna.
Všechno tu je ukázané, stačí jen hledat a číst: http://www.itnetwork.cz/…groundworker
Příklad z tutoriálu si uprav tak, aby ti posouval pozici objektu, který kreslíš.
vies mi trosku napovedat ze ako ? .. uz som s toho cvok
kidding me?
Přečti si to, proč by ti to jinak sdraco posílal?
A hned první zdrojový kód máš :
for (int i = 10; i > 0; i--)
{
Console.WriteLine(i);
Thread.Sleep(1000);
}
ten je pro konzole, tudíž ty další jsou již pro Windows Forms
A ty si myslis ze som to necital ?? .. jasne ze zom to cital... len neviem ako to mam prepisat ze po odpocitani timeru mi prepise poziciu
Evidentně jsi to nečetl...
btw. třeba ti pomůže když si to nakreslíš
Udělej si ve formuláři atribut pozice typu int. Vlož si do formuláře Timer a PictureBox. PictureBox naklikni metodu Paint a tam vlož kód pro vykreslení čehokoli na pozici pozice. Dále naklikni Timer a v jeho kódu zvyš hodnotu pozice. Timeru dej enabled na true a máš to hotové. Pokud to ani takhle nesvedeš, měl bys asi začít něčím jednodušším, nemůžeš programovat grafiku, když nechápeš základní souvislosti.
Takze urobil som ako si povedal vytvoril som si
int pozicia = 0;
.. naklikol som si PictureBox(valecJedna) metodu Paint
private void valecJedna_Paint(object sender, PaintEventArgs e)
{
vykresli.vykresli_weed(e.Graphics, pozicia);
}
naklikol som si timer1 a tam pridal zvisenie pozicie o 1
private void timer1_Tick(object sender, EventArgs e)
{
pozicia++;
}
no stale to nejde .. asi fakt tomu nerozumiem a zacnem odznova ale vies mi povedat co mam zle ?
Zapl jsi ten timer ? (to je ta část s enabled) popř. napiš timer1.Start(); v konstruktoru.
Tak zavolej Refresh na tom pictureboxu v té metodě Tick.
Tohle plácání nemá smysl
začni odznova a postupně, vždyť vlastně nevíš co děláš a nic ti to
nedá
Na youtube je niekoľko pekných tutoriálov o použití c# timer. Tam začni
a rýchlejšie to pochopíš.
Nevím, jestli je dobrý nápad směřovat začátečníky na youtube, tam si může každý nahrát co chce a nikdy nevíš, jestli je to správně nebo ne.
Zobrazeno 20 zpráv z 20.