Dödi, täällähän pitää oikaista muutamat väitteet faktoiksi;
[quote = "vilQuri"]MouseX() ja MouseY() kertovat vain hiiren sijainnin vaaka suunnassa[/quote]
Eivät vaakasuunnassa vaan ruutukoordinaatteina.
[quote=iTKEVAnAKKI]MouseX() ja MouseY() kertovat hiiren sijainnin pelimaailmassa, MouseWX() ja MouseWY() näytöllä[/quote]
Toisin päin, mousewx = mouse world x, hiiren maailman (pelimaailman) koordinaatit, sama y:llä.
[quote = "TheFish"]en oikein tiedä itse, että minkä takia tuo y koordinaatti piti tehdä eritavalla kuin x[/quote]
Siksi, että maailman koordinaateissa y kasvaa ylöspäin mentäessä, ruutukoordinaateissa alaspäin mentäessä. Ja noihin koordinaatteihin on lisättävä vielä camerax() ja cameray(), jotta toimisi ihan oikein.
Itse en tekisi tähtäintä objektilla, vaan seuraavasti:
Code: Select all
Map = LoadMap("Media\cdm2.til","Media\tileset.bmp")
Guy = LoadObject("Media\soldier.bmp",72)
Mouse = LoadImage("Media\cursor.bmp")
ShowMouse mouse
SetupCollision Guy,Map,2,4,2
Repeat
TranslateObject Guy, (KeyDown(32)-KeyDown(30))*2, (KeyDown(17)-KeyDown(31))*2
RotateObject Guy, GetAngle(ObjectX(Guy), -ObjectY(Guy),MouseWX(),-MouseWY())
UpdateGame()
CloneCameraPosition(Guy)
DrawScreen
Forever