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ää...
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)
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.
:)
Aihe on jo aika vanha, joten et voi enää vastata siihen.