Foorumi logo

Ripmenüü probleem.
ChrisB3D - 21.6.2008 22:22

SAIN korda, vabandage väga.
kuid tekkis uus küsimus.
Kuidas ma saaksin teha nii, et kui object pandi createst pathi mööd liikuma ning oleks vaja siis kui ta on ühe objecti ligidal kiirust maha võta.
pathi kiiruseks panin speed ja tegin nii et kui ta teise objecti ligidusse sattub läheb ta kiirus pisemaks, kuid kui ma panin creat eventis kiiruse speediks, siis se tähendab ju seda et ta tekkimise ajal mis kiriuseks oli määratud jääb kiiruseks, aga kui jälle see path panna steppi hakkab ta koguaeg pathi liikuma algusest ja jääbki sinna.
kuidas seda parandada?

[Muudetud: 21.6.2008 ChrisB3D]


Crypton - 22.6.2008 09:27

Tõesti, mõtle läbi mida sa öelda tahad. Sinu jutust pole üldse võimalik aru saada.


ChrisB3D - 22.6.2008 17:05

crypton, kõige imelikum on see et sina ei saand aru ja peeter sai, siis on asi sinus mitte mu tekstis.
peeter, aga kui mul on path setitud create eventis siis ta võtab selle muutuja algväärtuse ainult.


Crypton - 22.6.2008 17:54

Tsitaat:
Tsitaat: ChrisB3D
crypton, kõige imelikum on see et sina ei saand aru ja peeter sai, siis on asi sinus mitte mu tekstis.
peeter, aga kui mul on path setitud create eventis siis ta võtab selle muutuja algväärtuse ainult.


Asi ongi minus. Ja kui palju ka ma ei üritaks, on enamus su jutust ikkagi raske aru saada - nimelt su sõnad ja mõisted on tohutult vigased. Raske on aru saada, mis käändes nad sul on. Mitmuses või ainuses jne..
Nagu näha oled vahepeal eesti keelt juurde pannud vähemalt.

"oleks vaja siis kui ta on ühe objecti ligidal kiirust maha võta."
Sellest oli midagi võimalik välja lugeda ja sai vastav näide mingi aeg tagasi valmis meisterdatud, mis pole muidugi eriti effektiivne. Suurel kiirusel liigub ta obejktist mööda lihtsalt.
Seepärast räägin sulle lihtsa teooria ära.

Sa pead teadma kaugust, millal tahad kiirust maha võtma hakata ja hetkelist liikumis kiirust. Siis arvutad välja v=s/t põhivalemi abil välja aja t ja lõpuks kiiruse v, mida kasutad oma põhikiiruse vähendamisel. v väärtuse võtad igal stepil oma põhikiirusest maha. s on kaugus objektist ,mille liginedes tahad kiirust vähendada. Lõpptulemus on see, et mida lähemal oled objektile seda aeglasemalt liigud kuni jääd seisma.

Seda et takistada objekti alustamist pathi alguses vaata manuali, kust muudad path-i lõppemisel toimuvat. väärtus 1 peatas objekti vist jne.


Caupo - 22.6.2008 18:48

Tuleb lihtsalt Ric appi võtta et ta ära tõlgiks XD:ja:


ChrisB3D - 22.6.2008 20:11

path_speed
ja asi moos ei tule mingit valemit kasutada:Düks asi veel küsida. loll küsimus.
kuidas ma saan teha nii, et kui distans obejctini on 100 pixlit ja selle obejcti mingi muutuja on true siis läheb minu objecti muutuja trueks.
ehk siis hetkene kood on siuke:
if distance_to_object(object)<100 && selle objecti milleni on 100 pixlit=true{
muutuja=true
}
aidake teha nii palunXD

[Muudetud: 22.6.2008 ChrisB3D]


-DMI- - 22.6.2008 22:37

Kood:

if muutuja=true && distance_to_object(tema)<100{
mina.muutuja=true
}



Mis kuradi joru sa siia oled kokku kirjutanud?

[Muudetud: 22-6-2008 -DMI-]


ChrisB3D - 22.6.2008 22:49

ei, nagu et selle objecti milleni distans on 100 selle objecti muutuja peab olema true. mitte minu muutuja.


Crypton - 23.6.2008 09:14

kui seda objekti on rohkem kui üks siis on asi suts keerulisem.
Enne, et selliseid asju saaksid tulevikus ise välja mõelda tulekski enne vaadata, mis olukord sul on ja kuidas sa saaksid olemasolevat infot kasutada, et probleemi lahendada.
Antud juhul eeldan, et neid objekte on sul mitu. Selle tähtsus on see, et kui on mitu objekti, mis vastavad sellele objektile mille kaugust endast kontrollid, valib GM ühe nendest objektidest ja vb on see selline mille kaugust sa kontrollida ei taha. Siit tõstatad endale uue küsimuse kuidas seda vältida.
Kuna objekte on mitu tuleb otsida nende seast selline mis on mängija objektile kõige lähemal või mis seisab vastaval positsioonil. Antud juhul näitan kuidas leida instance mis on lähemal kui teised.

_id = instance_nearest(x,y,otsitav_instance) //leiame lähima objekti, mis on otsitava tüüpi
if distance_to_object(_id)<100{ //kontrollime selle kaugust endast
if _id.muutuja = true{ //kui selle instance-i muutuja on true
muutuja=true //muudame enda muutuja 1-ks
}
}

Step eventi ja teoreetiliselt peaks töötama. Kuna täpsustasin paar olukorda, mis võib olla siis võiksid need ka välja tuua, kuidas sul need on. Juhul kui kood ei tööta.


ChrisB3D - 23.6.2008 10:32

Tänan ok proovin:)