Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Ukon liikuttaminen hiiren suuntaan

Meitsi [06.04.2005 22:15:25]

#

Miten voisi toteuttaa 2d ukkelin liikuttamisen hiiren suuntaan kun painetaan ylös-nappia. Alas-napista ukko liikkuisi taaksepäin, mutta "katsoisi" silti hiiren osoittamaan paikkaan. Ukon kulma hiireen päin pitäis laskea jotenkin, loput uskon osaavani toteuttaa itse. Miten moinen onnistuisi? Huom: Matikantaitoni eivät ole mitkään kovin hyvät joten ei kiitos vektoreita, matriiseja tms. systeemejä joista ei ota selvää erkkikään... :P Sin cos systeemillä osaaan laskea pisteen paikan toiseesta pisteestä tietylle etäisyydelle tietyssä kulmassa joten ukon liikutus hiirtä kohti onnistuu, mutta kulmaa johon liikutaan ja etäisyyttä tuohon pisteeseen en osaa selvittää...

Gaxx [06.04.2005 22:21:08]

#

Kulman saat laskettua arctanilla:

kulma = atn(y/x) 'x ja y ovat ukon ja hiiren x ja y etäisyydet
//ja koska arctan on "puutteellinen"...
if (x < 0) then
    kulma = kulma + pii
end if

ja etäisyys lasketaan:

d = sqr((x2-x1)^2+(y2-y1)^2)

msdos464 [07.04.2005 07:56:06]

#

Jos x menee nollaksi niin siitä ei hyvä seuraa.. :P

d_x = x2-x1
d_y = y2-y1
s = t * v
x += d_x * s
y += d_y * s

sitten vaan etitään nopeudelle (v) sopiva arvo.. esim. 25 (pxl/s)

Aluksi t:lle voi sijoittaa jonkin vakioarvon, mutta silloin ukkelin nopeus riippuu siitä miten usein piirretään. Siksi olisi parempi kattoo että kauanko on aikaa siitä kun viimeksi piirrettiin.

:)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta