[ARHIIV] mängumeistrid
Pole sisse logitud. [Logi sisse ]
Mine lehekülje algusesse
Prinditav versioon | Telli teema e-mailile | Lisa lemmikutesse  
platvormist läbi hüppamine
Crypton

Avatar

Liitunud: 18.12.2005
Postitusi: 1604
[EEMAL]




postitati 17.11.2008 15:33 Tsiteeri


Ma pigem viiks asja Collision event with obj_platvorm-i.
Võtaks "other" suunaja järgi platvormi id, kontrolliks tema positsiooni tegelase suhtes ning siis vastavalt laseksin tegelase läbi või ei. Teooria muidugi. Võib tekkida ka asjaolu, et korraks tõmbab tegelase platvormi alla kinni. Proovida jällegi võiks.

Maze I: CryptonRalli III: Crypton<br>
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
Crypton

Avatar

Liitunud: 18.12.2005
Postitusi: 1604
[EEMAL]




postitati 17.11.2008 15:58 Tsiteeri


aga muuda instance_nearest "position_meeting"-guks või mingiks muuks funktsiooniks, mis seondub instance-i leidmisel tema asukohaga kokkupõrkamisel.
Maze I: CryptonRalli III: Crypton<br>
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
InCreator
baksjor!
Avatar

Liitunud: 18.12.2005
Postitusi: 1230
[EEMAL]




postitati 15.12.2008 23:35 Tsiteeri


Lihtsam oleks teha nii, et collision on ainult siis, kui vertikaalkiirus ei ole negatiivne. (vspeed)
Hüppamisel on vspeed ju < 0. Vot ja hüppad läbi platvormi
Alla kukkumisel > 0. Siis collision.

Siis ei ole instance_nearest ka vaja leida - mis muide on uimane funktsioon ja võib ka pea kohalt lähima leida näiteks.

Et siis hüppamisel kinni ei jääks - kui täpselt platvormi sees lõppeb hüppejõud ja tegelane hakkab alla tulema -
tuleks kontrollida pikslit jalge all - et oleks platvorm ja pikslit 1 võrra kõrgemal - et ei oleks seal platvormi. See peaks olema sinu funktsioon jalgade all maa leidmiseks - kahe piksli check.
Supertäpselt saaks maanduda siis. Olen kunagi midagi sellist teinud.

Umbkaudu midagi sellist:

tegelane > collision with platvorm
if (vspeed >= 0)
{
if (!position_free(x,y+tegelase kõrgus)) && (position_free(x,y+tegelase kõrgus-1))

// collisioni, maandumise, kukkumise lõpu kood
}

Seda juhul, kui origin y spritel on 0. Muul juhul säti ise paika
x origin võiks olla sprite keskel või nii, et jalalaba kohal oleks.
Ja tegelane ei tohi olla solid.
Kui kasutad gravityt või midagi muud haiglast, pead võibolla piksli kontrollis liitma vspeed

[Muudetud: 15-12-2008 InCreator]
Emo2: InCreator
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum

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