Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Programování pausy

Dobrý den, potřebovala bych vědět, jak se dá ve Visual Basicu 2012 naprogramovat pausa ve hře Arkanoid. Aby se při stisku klávesy P zastavila celá hra. Zatím mi funguje pouze ta klávesa a po pohnutí myší se to zase rozjede. Děkuji.

Předmět Autor Datum
Bez tvého kódu se dost těžko radí.
Wikan 12.03.2013 18:13
Wikan
Pokud by to šlo potřebovala bych to zvládnout bez něho, protože momentálně mám problémy s programech…
Zara 12.03.2013 18:19
Zara
To opravdu silně záleží na tom, jak to máš udělané. Bez téhle informace není možné poradit.
Wikan 12.03.2013 18:21
Wikan
Do behu nejakeho programu (hra) sa neda zasahovat zvonku inym programom (P.S. vynimka je len ked je…
MM.. 12.03.2013 18:25
MM..
Postačí tento kousek? Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase…
Zara 12.03.2013 18:32
Zara
Nepostačí. Minimálně ještě obsluhu pohybu myši budeme potřebovat.
Wikan 12.03.2013 18:41
Wikan
Private Sub pboxPlatno_MouseMove(sender As Object, e As MouseEventArgs) Handles pboxPlatno.MouseMove…
Zara 12.03.2013 18:43
Zara
Ja by som na začiatok tej procedúry dal niečo takéto: If Timer1.Enabled = False Then Exit (alebo nev…
pme 12.03.2013 18:46
pme
to postačí jenom tahle věta?
Zara 12.03.2013 18:47
Zara
Programujem v Delphi - tam áno... Neviem ako vo VB.
pme 12.03.2013 18:48
pme
mám to podtrhlý tak to asi nepostačí
Zara 12.03.2013 18:49
Zara
Timer1.Enabled = False Then Return End If
Wikan 12.03.2013 18:51
Wikan
a to co jsem měla uprostřed to mám nahradit tím ´Return´?
Zara 12.03.2013 18:53
Zara
Co máš uprostřed?
Wikan 12.03.2013 18:54
Wikan
m.Poloha = New Point(d.X + (d.Sirka \ 2) - (m.Velikost \ 2), d.Y - m.Velikost) pboxPlatno.Refresh()…
Zara 12.03.2013 18:57
Zara
Ne, to máš dát na začátek.
Wikan 12.03.2013 18:58
Wikan
zkopíruj mě to jak to myslíš, mimo tu podmínku?
Zara 12.03.2013 19:00
Zara
Private Sub pboxPlatno_MouseMove(sender As Object, e As MouseEventArgs) Handles pboxPlatno.MouseMove…
pme 12.03.2013 19:02
pme
moc děkuju poslední
Zara 12.03.2013 19:06
Zara
Private Sub pboxPlatno_MouseMove(sender As Object, e As MouseEventArgs) Handles pboxPlatno.MouseMove…
Wikan 12.03.2013 19:03
Wikan
Tvoj problem je asi to ze robis to cele Select Case e.Location.X Case Is < d.Sirka \ 2 d.Pozice = 0…
MM.. 12.03.2013 18:57
MM..
Máš zdrojové kódy tej hry, že chceš niečo programovať vo VB?
pme 12.03.2013 18:15
pme
mám ji až tohoto kroku celou
Zara 12.03.2013 18:20
Zara
A my máme hádať ako je program napísaný, akú má logiku, ako je ošetrené zastavenie hry, čo sa udeje…
pme 12.03.2013 18:23
pme

Pokud by to šlo potřebovala bych to zvládnout bez něho, protože momentálně mám problémy s programech a tak to musím někomu poslat. Stačil by mi alespoň nějaký příkaz nebo jeho část, který by udržel tu hru i s pohnutím myši nehybnou.

Private Sub pboxPlatno_MouseMove(sender As Object, e As MouseEventArgs) Handles pboxPlatno.MouseMove

    Select Case e.Location.X
        Case Is < d.Sirka \ 2
            d.Pozice = 0
        Case Is > pboxPlatno.Width - (d.Sirka \ 2)
            d.Pozice = pboxPlatno.Width - d.Sirka
        Case Else
            d.Pozice = e.Location.X - (d.Sirka \ 2)
    End Select

    If Timer1.Enabled = False Then
        m.Poloha = New Point(d.X + (d.Sirka \ 2) - (m.Velikost \ 2), d.Y - m.Velikost)
        pboxPlatno.Refresh()
    End If

End Sub
m.Poloha = New Point(d.X + (d.Sirka \ 2) - (m.Velikost \ 2), d.Y - m.Velikost)
pboxPlatno.Refresh()

If Timer1.Enabled = False Then
    m.Poloha = New Point(d.X + (d.Sirka \ 2) - (m.Velikost \ 2), d.Y - m.Velikost)
    pboxPlatno.Refresh()
End If

Private Sub pboxPlatno_MouseMove(sender As Object, e As MouseEventArgs) Handles pboxPlatno.MouseMove

If Timer1.Enabled = False Then
Return
End If

Select Case e.Location.X
Case Is < d.Sirka \ 2
d.Pozice = 0
Case Is > pboxPlatno.Width - (d.Sirka \ 2)
d.Pozice = pboxPlatno.Width - d.Sirka
Case Else
d.Pozice = e.Location.X - (d.Sirka \ 2)
End Select

If Timer1.Enabled = False Then
m.Poloha = New Point(d.X + (d.Sirka \ 2) - (m.Velikost \ 2), d.Y - m.Velikost)
pboxPlatno.Refresh()
End If

End Sub

Private Sub pboxPlatno_MouseMove(sender As Object, e As MouseEventArgs) Handles pboxPlatno.MouseMove

If Timer1.Enabled = False Then
Return
End If

Select Case e.Location.X
Case Is < d.Sirka \ 2
d.Pozice = 0
Case Is > pboxPlatno.Width - (d.Sirka \ 2)
d.Pozice = pboxPlatno.Width - d.Sirka
Case Else
d.Pozice = e.Location.X - (d.Sirka \ 2)
End Select

If Timer1.Enabled = False Then
m.Poloha = New Point(d.X + (d.Sirka \ 2) - (m.Velikost \ 2), d.Y - m.Velikost)
pboxPlatno.Refresh()
End If

End Sub

Ale nejspíš to nezabere, protože to máš celé podivné a nejlepší by bylo to úplně překopat.

Tvoj problem je asi to ze robis to cele

Select Case e.Location.X
    Case Is < d.Sirka \ 2
        d.Pozice = 0
    Case Is > pboxPlatno.Width - (d.Sirka \ 2)
        d.Pozice = pboxPlatno.Width - d.Sirka
    Case Else
        d.Pozice = e.Location.X - (d.Sirka \ 2)
End Select

aj ked je ten timer disablovany. Preto ti pisu daj si test na zaciatok tej procedury.

Alebo mas v tom programe logicky nejake nezmysly napr. ze timer1 v jedneom mieste neni timer1 na inom mieste, alebo tam niekde zas ten timer zapinas to si musis najst ty.

Zpět do poradny Odpovědět na původní otázku Nahoru