Olen tehnyt sellaista peliä, jossa oman nappulani on tarkoitus metsästää palloja, joista saa pisteen. Lisäksi siellä on toisenlaisia palloja, jotka metsästävät minun pelinappulaani.
Osaisiko joku kertoa, että miten saan oman nappulani liikkumaan hiiren liikutuksella. Nyt liikkuu alas ja vasemmalle, mutta millä koodilla saisin liikkumaan joka suuntaan?
siis seuraako nappula hiirtä vai onko nappulalla kokoaika samat koordinaatit kuin hiirellä vai miten?
if hiirenÄksä < nappulaÄksä then nappulaÄksä = nappulaÄksä - 1 elseif hiirenÄksä > nappulaÄksä then nappulaÄksä = nappulaÄksä + 1 endif if hiirenYy < nappulaYy then nappulaYy = nappulaYy - 1 elseif hiirenYy > nappulaYy then nappulaYy = nappulaYy + 1 endif
Onko pelihahmon tarkoitus liikkua hiiren päällä, sitä kohti vai miten?
joo, selitin tosi epäselvästi.
tarkoitus on siis, että kun liikutan hiirtä pelinappulaani kohden, laatikko lähtee liikkeelle (siihen suuntaan, johon hiirtä liikutan).Eli tavallaan hiiri kulkee laatikon takana "ja työntää" laatikon liikkeelle joko alas, ylös tai jommalle kummalle sivulle. Ei kuitenkaan vinottain.
Jos tuo nappula on Pictureboxi (picNappula), niin seuraavalla koodilla saat sen liikkumaan hiirikursorin mukana.
Dim X0 As Single, Y0 As Single Dim L As Single, H As Single Private Sub picNappula_MouseDown(Button...jne.) X0 = X: Y0 = Y L = picNappula.Left H = picNappula.Height End Sub Private Sub picNappula_MouseMove(Button...jne.) If Button = 0 Then Exit Sub L = L + X - X0 H = H + Y - Y0 picNappula.Move L, H End Sub
Nappulan ja alustan ScaleMode oltava sama, mieluiten Pixel.
EDIT. Tuo edellinen täsmennys tulikin kesken viestini.
Onko mahdollista hidastaa hiiren liikutusta, niin että liikuttaminen vaikeutuu?
https://www.ohjelmointiputka.net/koodivinkit/
Jos tarkoitat tuota koodiesimerkkiä, niin nappulan liikettä voi helposti hidastaa ja lisätä siihen jopa viivettä, jolloin liike on kuin juopuneen kävelyä. Olen joskus kokeillut vastaavaa ja koodi on tuolla kovalevyllä jossain. Voin kaivaa esiin jos kiinnostaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.