[ARHIIV] mängumeistrid
Pole sisse logitud. [Logi sisse ]
Mine lehekülje algusesse
Prinditav versioon | Telli teema e-mailile | Lisa lemmikutesse  
(lahendatud)Miks lähvad tegelane ja vaenlane seinast läbi?
Longbow9
Level 2
Avatar

Liitunud: 22.8.2009
Postitusi: 39
[EEMAL]




flaming.gif postitati 22.8.2009 18:27 Tsiteeri
(lahendatud)Miks lähvad tegelane ja vaenlane seinast läbi?



Ma teen ära kõik vajalikud asjad. Ma ei vajuta relativet aktiivseks. Siis proovin. Ja ikka läheb läbi seina:mad:!! Kas keegi saaks aidata?! Käsil on esimene(aga lihtne) projekt!

Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
InCreator
baksjor!
Avatar

Liitunud: 18.12.2005
Postitusi: 1230
[EEMAL]




postitati 22.8.2009 18:30 Tsiteeri


1) Kasuta koodi
2) Otsi seina tegelase ees.

if (position_meeting(x + hspeed,y,seinaobjekt))
x = xprevious;

või midagi sarnast. Sinu postist ei ole näha, mis süsteemiga tegelane täpselt liigub, seega on võimatu aidata.

Pealegi, on vastav näide lausa GM-ga kaasas.
Emo2: InCreator
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
Longbow9
Level 2
Avatar

Liitunud: 22.8.2009
Postitusi: 39
[EEMAL]




postitati 22.8.2009 18:34 Tsiteeri


ta liigub tolle koodiga mis paneb liikuma 8 suunas! if (keyboard_check(vk_up)) {
y -= 5;
}
if (keyboard_check(vk_down)) {
y += 5;
}
if (keyboard_check(vk_left)) {
x -= 5;
}
if (keyboard_check(vk_right)) {
x += 5;
}

jou kui viitsid siis klika!!

üli äge lehekülg vaata ka!!!!

Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
Longbow9
Level 2
Avatar

Liitunud: 22.8.2009
Postitusi: 39
[EEMAL]




postitati 22.8.2009 18:46 Tsiteeri


kood töötas mõnesmõttes. kui seina tükile paremalt peale minna, siis pidas vastu. Kui vasakult siis jäi keskel kinni. Aga kui alt või ülevalt siis läks läbi.
jou kui viitsid siis klika!!

üli äge lehekülg vaata ka!!!!

Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
InCreator
baksjor!
Avatar

Liitunud: 18.12.2005
Postitusi: 1230
[EEMAL]




postitati 22.8.2009 19:51 Tsiteeri


Seda koodi ära kasuta.

1) Võta peategelase sprite ja pane origin keskele (sprite editoris nupp "center")

Origin on sinu tegelase x ja y. Kui sa koodis muudad x või y-t, siis just see punkt muutub.

2) Nüüd muuda oma koodi vastavalt:

if (keyboard_check(vk_up) && !position_meeting(x,y-(sprite_height/2)-5,seinaobjekt)) {
y -= 5;
}
if (keyboard_check(vk_down) && !position_meeting(x,y+(sprite_height/2)+5,seinaobjekt)) {
y += 5;
}
if (keyboard_check(vk_left) && !position_meeting(x-(sprite_width/2)-5,y,seinaobjekt)) {
x -= 5;
}
if (keyboard_check(vk_right) && !position_meeting(x+(sprite_width/2)+5,y,seinaobjekt)) {
x += 5;
}

"&&" tähendab sidesõna "JA"
"position_meeting(x,y,objekt)" otsib, kas antud punktis on nimetatud objekt
"!" käsu ees muudab käsu vastupidiseks. Ehk siis "kas on" muutub käsuks "kas ei ole"
"sprite_width" on sprite laius, pikslites
"spirte_height" on spirte kõrgus, pikslites.


Ja ära copy-paste seda koodi, vaid mõtle kaasa ja vaata pilti:
http://www.indrek.org/i/pull/green.png

- Ütleme et hall ruut on sinu sprite
- Kui sättisid origini keskele, punane täpp on origin ehk sprite x ja y
- Pool sprite laiusest pluss origin (ehk siis x+sprite_width/2) annab sinise punkti.
- selle juurde pluss viis, ehk koht, kuhu paremale astudes satub sprite parem serv - on siis oran˛ punkt. Sealt otsimegi et ega seina objekti seal ei ole.
- samamoodi on lilla punkt (y + sprite_height/2)
- ja roheline punkt eelmine pluss viis ehk (y + sprite_height/2 + 5)

Sama kehtib ka üles ja vasakule otsides, ainult et lahutame see kord nii viis kui pool pikkust/laiust.

Arusaadav?
Muidugi võid sprite_width kaheks jagamise ja viie liitmise asemel kasutad lihtsalt numbrit - näiteks 32x32 sprite ja 5 sammu puhul lihtsalt 32/2+5=21. Aga mina ei tea, kui lai su sprite on, ja seega kasutasin universaalset koodi, mis sobib igas mõõdus spritele.
Emo2: InCreator
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
Longbow9
Level 2
Avatar

Liitunud: 22.8.2009
Postitusi: 39
[EEMAL]




postitati 23.8.2009 10:28 Tsiteeri


:ahha:.aga vaenlane põrkas vastu seinu ja siis sööstis alumisest seinast välja!!Miks?
P.S! mul on Game maker 7 lite mitte pro! kas see muudab asja mõtet?

jou kui viitsid siis klika!!

üli äge lehekülg vaata ka!!!!

Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
InCreator
baksjor!
Avatar

Liitunud: 18.12.2005
Postitusi: 1230
[EEMAL]




postitati 23.8.2009 14:57 Tsiteeri


Ei. Lite/pro ei loe. Seesama kood töötab vähemalt v5.3-st saati.

Vaenlane kasutab sul siis järelikult mingit teist süsteemi liikumiseks, ise klaviatuuriga ju ei liiguta teda?
Sulle on funktsioon antud ja kasutamine/tööpõhimõte ära seletatud. Edasi lahenda ise ja muuda see vastase liikumisele sobivaks.
---
BTW, mängu TEGEMINE ongi probleemide LAHENDAMINE, nagu ristsõna. Pole mõtet iga pisiasja vastust küsida, või teeb mängu/ristsõna sinu eest kogu foorum ära...?
Emo2: InCreator
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
Longbow9
Level 2
Avatar

Liitunud: 22.8.2009
Postitusi: 39
[EEMAL]




postitati 24.8.2009 08:17 Tsiteeri


olgu. ma lahendasin selle ära ning kõik on kombes:D
jou kui viitsid siis klika!!

üli äge lehekülg vaata ka!!!!

Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i

Hetkel loevad seda teemat:
Mitte ühtegi - 1 külaline

Mine lehekülje lõppu





Foorumi algbaas põhineb XMB mootoril, modifitseeritud Valter Pundi poolt
Kodulehekülg on tehtud Valter Pundi poolt vpundi ät gmail punkt komm