Diskuze: Zastavení pictureboxu při kolizi

C# .NET .NET (C# a Visual Basic) Zastavení pictureboxu při kolizi American English version English version

Avatar
Jan Dvořáček:

Dobrý den, potřeboval bych pomoct se zastavením pictureboxu při kolizi.
Zkoušel jsem
If picBlok5.Bounds­.IntersectsWit­h(picZakladna­.Bounds) Then
a za to, že se k picBlok5.top bude místo 3 přičítat 0, takže by se to mělo teoreticky zastavit.

ukázka: https://gyazo.com/…fbe5918d5012

 
Odpovědět 27. května 20:01
Avatar
Odpovídá na Jan Dvořáček
sadlomaslox25:

me to funguje v pohode (akorat je to v C#)

int downSpeed = 2;
var t = new Timer();
t.Interval = 10;
t.Tick += (a, b) =>
{
    pictureBox1.Top += downSpeed;

    if (pictureBox1.Bounds.IntersectsWith(pictureBox2.Bounds))
        downSpeed = 0;
};
t.Start();

chyba bude spis nekde jinde v kodu.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 28. května 11:56
Avatar
Jan Dvořáček:

To si nemyslím, protože pokud dám místo "picBlok5.top+=0 nebo "krok=0" tmrBlabla.Stop() tak se timer prostě vypne. takže nevím no...

Editováno 28. května 16:43
 
Nahoru Odpovědět 28. května 16:43
Avatar
Odpovídá na Jan Dvořáček
sadlomaslox25:

tak sem dej cely kod. ten muj kod je presne to cos psal a me se to zastavi pri kolizi.

 
Nahoru Odpovědět 28. května 16:51
Avatar
Jan Dvořáček:

Už jsem to opravil... Já .... jsem omylem dal do podmínky kolize kolizi s pozadím hry místo základny... -__- :D
Teď už to funguje. Přikládám obrázek. Děkuji Ti ale, že jsi se mi snažil pomoct :)

 
Nahoru Odpovědět 28. května 17:01
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.