Miten saisin vaikka picture1 kkösen pysähtymään johonkin väri laatikkoon? Kuvaa liikutetaan näin:
If KeyCode = 38 Then Picture1.Top = Picture1.Top - 50 If KeyCode = 17 Then Picture1.Left = Picture1.Left + 100 If KeyCode = 40 Then Picture1.Top = Picture1.Top + 50
kielenä vb(6.0)
Tarkista koordinaateista, milloin se on sillä kohdalla, jossa sen pitäisi olla. Pistä tuo koodisi looppiin ja poistu siitä sillä kohdalla.
Koodia en osaa laittaa...
Mikä on värilaatikko? Eikä kuvaa saa mitenkään "pysähtymään" vaan voit ainoastaan määrittää, liikutatko sitä johonkin, vai et. Voit aina tarkistaa, jos kohdassa on jotain estettä. Ja jos on, niin sitten et liikuta.
point(100, 100) tarkistaa mikä väri on kohdassa 100, 100. Eli käsky toimii palautus arvona.
Kannattaa ainakin käyttää muuttujia X ja Y.
Silloin koodista tulee helpommin luettavaa ja lyhyempää...
Kai värilaatikosta on muistissa sen parametrit ja koko.. silloin kannattaa katsoa koodivinkeistä törmäys tarkistus vinkkiä.
if picture1.point(x,y) = vbblack then msgbox "tässä kohtaa on jotain jännää!!1!" else x = x + 1 end if
JYI, katso vinkki https://www.ohjelmointiputka.net/koodivinkit/
Jonkun pitäisi varmaan tehä koodivinkki tästä liikuttelusta! Tätä kysytään kaikista eniten..
Bill Keltanen kirjoitti:
Jonkun pitäisi varmaan tehä koodivinkki tästä liikuttelusta! Tätä kysytään kaikista eniten..
Kannatan, olisko tuosta vinkiksi: http://pp.kpnet.fi/blaze/koodifaq.php#collisiondetection ?
Vaikka saman tien oppaaksi. :)
Mitenköhän ton Blazen collision jutun sais toimihan tileihin? Käyttäisin Public MAP(29, 19) as integer hommaa mapin tekoon, ja pelaaja liikkuu sitten alueella jos siinä ei ole seinää. esim. ei seinää: MAP(10, 10) = 0 ja on seinä: MAP(10, 10) = 24, eli jos alue on 0 niin se on käveltävää? tilet ja pelaaja on 32x32pix. niin meinasin tehä tästä oman aiheen mutta ihan sama. no, minä kiitän.
Tiileillä on helppo. Oletetaan, että ollaan liikkumassa ylöspäin. Katotaan, mikä tiili on yläpuolella (nykyineny-1), jos se on seinätiili, ei liikuta.
Hakkasin kyllä päätäni seinään mutta, ei prkl. se vaan bugitti. tai siis jäin kiinni siihen tyyliin että:
mentiin vasemmalle, jäi kiinni vähän seinään, ja kun piti tapahtua painovoima funktio, sehän ei tipahtanu alas, kun oli seinässä kiinni, ja kaikkea muuta kakkaa... kun mennään ylös päin, sen pitää katsoa onko (player.x, player.y) ja (player.x + 1, player.y) kohdissa vapaata. eli jos pelaaja on puolessa väliä tileä... menee sekavaks.
Aihe on jo aika vanha, joten et voi enää vastata siihen.