Avatar billede casa2008 Nybegynder
28. juli 2008 - 11:59 Der er 16 kommentarer og
1 løsning

button move

Hej

fik den tossede ide at jeg ville lave et lille spil

ville starte simpel med en button

ved tryk på button1 (OP) ville jeg styrer en anden button2.location (y aksel ) (så den rykkede en 1 op )

når jeg så fik det til at virke kunne jeg jo lave en (ned) (højre) (venstre) button : )


Starten var flyvende ....

ved tryk på button1 

Dim op As Object
        op = Button2.Location

i overstående kode henter jeg location på button2

nu vil jeg gerne parse den tilbage med en (+1) så den rykker sig en op...
       

Button2.Location = op + 1

virker ikke : (

er der nogen der har en godt forslag til dette
typen behøver ikke at være ( object )

Tak på forhånd
Avatar billede w13 Novice
28. juli 2008 - 12:12 #1
"Virker ikke"? Sker der ingenting eller får du en fejlmeddelelse?

Dvs. du kan ikke få det til at fungere med:

Button2.Location = Button2.Location + 1

Så må du lige prøve at finde ud af, hvad Button2.Location indeholder.
Avatar billede casa2008 Nybegynder
28. juli 2008 - 13:35 #2
Aha var lige lidt for hurtig

fandt lige noget på nettet om New System.Drawing.Point

så min kode må være


Dim bil As Object
Dim bil1 As Object
       

bil = Button2.Location.Y
bil1 = Button2.Location.X
Button2.Location = New System.Drawing.Point(bil1, bil + 1)
Avatar billede casa2008 Nybegynder
28. juli 2008 - 13:43 #3
Hvis der er nogen der har en bedre måde hører jeg gerne .... : )
Avatar billede casa2008 Nybegynder
28. juli 2008 - 15:30 #4
Hvis jeg nu har lavet 4 knapper på en form

(op)(ned)(højre)(venstre)

hvordan assiger jeg keybord keys til de enkelte funktioner

w = (op)

s = (ned)

a =(højre)

d = (venstre)

???
Avatar billede w13 Novice
28. juli 2008 - 15:39 #5
Så kan du bruge formens events, f.eks. onkeypress o.lign. Se evt. http://en.allexperts.com/q/Visual-Basic-1048/Key-Press.htm
Avatar billede casa2008 Nybegynder
29. juli 2008 - 11:19 #6
Har du selv prøvet dette

kan ikke få det til at virke

kan se der er en der hedde previewkeydown

men man kan kun assigne 1 key
Avatar billede w13 Novice
29. juli 2008 - 11:30 #7
Jeg har engang prøvet ja, men jeg koder ikke længere Visual Basic.

Har du prøvet præcis dette:

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyF1 Then Timer1.Enabled = True
End Sub

for at se, om det virker?
Avatar billede casa2008 Nybegynder
29. juli 2008 - 11:40 #8
hvis jeg sætter overstående ind i formen for jeg ....

Error    1    Statement is not valid in a namespace.   

har prøvet denne

Private Sub s(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
        MsgBox("GED")
    End Sub
End Class

og den virker men kan kun vælge en key i form  ????
Avatar billede casa2008 Nybegynder
29. juli 2008 - 11:42 #9
så basic kan jeg godt lave en key der aktiver min kode ...
men ikke flere key med forskellige kode : (
Avatar billede w13 Novice
29. juli 2008 - 11:50 #10
Det forstår jeg ikke. Du kan vel godt sige:

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyA Then //kommando1
  ElseIf KeyCode = vbKeyB Then //kommando2
  ElseIf KeyCode = vbKeyC Then //kommando3
End Sub

Ref.: http://www.programmershelp.co.uk/keycodes.php
Avatar billede casa2008 Nybegynder
29. juli 2008 - 12:00 #11
Hej w13

tror jeg har fundet løsningen...

Man laver en keydown på sin form 

Private Sub w(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

If e.KeyCode = Keys.W Then
MessageBox.Show("op"
End If
       
If e.KeyCode = Keys.D Then
MessageBox.Show("højre")
End If
End Sub
Avatar billede w13 Novice
29. juli 2008 - 12:02 #12
Præcis! :)
Avatar billede casa2008 Nybegynder
29. juli 2008 - 12:04 #13
Takker for din hjælp
Avatar billede w13 Novice
29. juli 2008 - 12:05 #14
Hvis du har fået det løst, så er her et svar, som du kan acceptere (nederst på denne side ved at markere mit navn i boksen og klikke "Accepter"). :)
Avatar billede casa2008 Nybegynder
29. juli 2008 - 12:06 #15
.
Avatar billede casa2008 Nybegynder
29. juli 2008 - 12:08 #16
hmm fik du mine point
Avatar billede w13 Novice
29. juli 2008 - 12:12 #17
Jup! ;) Takker!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester