[ARHIIV] mängumeistrid
Pole sisse logitud. [Logi sisse ]
Mine lehekülje algusesse
Prinditav versioon | Telli teema e-mailile | Lisa lemmikutesse  
Sprite rotatemisel õige collisioni saamine (vaateväli nagu Commandos mängus)
InCreator
baksjor!
Avatar

Liitunud: 18.12.2005
Postitusi: 1230
[EEMAL]




postitati 24.6.2009 15:39 Tsiteeri
Sprite rotatemisel õige collisioni saamine (vaateväli nagu Commandos mängus)



2 Objekti. Üks on nagu kolmnurkne vaateväli... "Commandos" mängudes, "Desperados-es" jne.

Teine on asi, mis peaks nagu vaatevälja sattudes olema "näha".

Hiire liigutamine krutib vaatevälja ringi.
Hiireklõps koristab selle "nähtava" asja ja paneb klõpsitud kohta.


Kogu kino on selles, et olgugi vaatevälja sprite joonistatakse directioni järgi... mask, mille järgi collisioni otsitakse ei muuda suunda. Seega, olgu vaateväli mis suunas tahes, collisioni detectib ainult asendist 0 kraadi, ehk tsentrist paremalt.

Kuidas seda jama parandada? Kas maski kuidagi kruttida eraldi käsuga ei saa? Ei tahaks hunnikut collisioni line'sid kasutada.

Lisasin rari koos exe ja (regatud) GMK failiga.
www.increator.pri.ee/collision_eck.rar
Emo2: InCreator
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
InCreator
baksjor!
Avatar

Liitunud: 18.12.2005
Postitusi: 1230
[EEMAL]




postitati 24.6.2009 15:47 Tsiteeri


EDIT: Nagu tavaliselt, lahendasin probleemi enne, kui keegi vastatagi jõudis...

Kasutasin probleemi otsas istudes directioni...

keeramine step eventis:
direction = point_direction(x,y,mouse_x,mouse_y);

ja draw eventis:
draw_sprite_ext(sprite0,warn,x,y,1,1,direction,c_white,1);

Ja see ei töötanud. Maski ei huvita sprite direction.

Kogu loo lahendas, kui mõlemas koodis panin directioni asemele image_angle, selle suunda mask järgib.

Kasulik leid igatahes, panen teema näidete alla.

Lisasin rari koos töötava süsteemiga (EXE ja GMK).
http://www.increator.pri.ee/collision_yay.rar
Emo2: InCreator
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
icedude
Mr. tl;dr
Avatar

Liitunud: 15.12.2008
Postitusi: 456
[EEMAL]




postitati 24.6.2009 16:09 Tsiteeri


Collision Line-e kasutada oleks palju kiirem. Aga, arvatavasti pole vajadust selleks sellises formaadis.
Emo1: icedude, valter8bit III: võistlus kestab<br>
Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum
InCreator
baksjor!
Avatar

Liitunud: 18.12.2005
Postitusi: 1230
[EEMAL]




postitati 24.6.2009 16:23 Tsiteeri


kas ikka oleks? Jooni peaks joonistama päris palju et samasugust koonust enam-vähem ära katta. Mida suurem "vaatekaugus", seda tihedamalt oleks vaja jooni, et ei saaks lipsata joonte vahele, sest kauguse suurenedes joonte vahe ka suureneb. Väga väikese kauguse puhul jah, 10 joont teeks sama töö ja efektiivsemalt.
Emo2: InCreator
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
jnt
Veebiguru
Avatar

Liitunud: 3.2.2005
Postitusi: 731
[EEMAL]




postitati 24.6.2009 16:32 Tsiteeri


Muidugi üks võimalus oleks ka käia aeg-ajalt kõik "detectitavad" objektid läbi ja siis vaadata, kui kaugel detectitav objekt on. Kui pisavalt lähedal, vaadatakse edasi, et kas on vaateväljas. Endal Mission Possible's toimis selline asi suht kenasti. Ja ai nüüd küll kõige suurem proseõgard seal polnud :D
GigAHerZ Web - http://jnt.pri.ee/
Banner Exchange - http://be.jnt.pri.ee/
Mission Possible - http://web.zone.ee/mispos/
Black Nova Traders - http://bnt.jnt.pri.ee/
Aktsioon I: jnt
Vaata kasutaja profiili Külasta kasutaja kodulehte 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