.[ ČeskéHry.cz ].
Kolize - ActionScript

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Mario



Založen: 05. 01. 2011
Příspěvky: 5

PříspěvekZaslal: 5. leden 2011, 15:22:13    Předmět: Kolize - ActionScript Odpovědět s citátem

Ahoj .. potreboval by som pomocou s vyriesenim kolizi v jeden hre co prave programujem . Uz sa s tym trapim asi dva dni ale stale mi to nejde Sad Tak by som vas chcel poprosit o pomoc .

Blizsie o mojom probleme : Mam postavu (hlavny hrdina-Mario) . Na spodku (na nohach) ma bod (MovieClip) ktorym testujem kolizi (pomocou hitTest) . To sposoby ze sa moja postava neprepadne . Ale ked vyskocim tak narazi do plosiny . Sice narazi a kolize tam nastane ale to len v mieste kde su nohy . To znamena : ked s tou postavickou vyskocim a mam nad sebou plosinu tak vyskoci , hlavu aj telo bude mat pred plosinou (s castami tela na nohami sa kolize nevyhodnoti) a len v mieste noh sa kolize vyhodnoty a hrdina vdaka gravitaci padne na zem . Ja by som potreboval aby sa aj kolize ostatnych casti vyhodnotila . Skusal som to ale neslo mi . Tu je moj script :

kód:

onClipEvent (load) {
   cHorni = this._y-this._height/2;
   cDolni = this._y+this._height/2;
   cLeva = this._x-this._width/2;
   cPrava = this._x+this._width/2;
}
onClipEvent (enterFrame) {
   if ((_root.mario._y+_root.mario._height/2>=cHorni) && (_root.mario._y-_root.mario._height/2<=cDolni) && (_root.mario._x>=cLeva) && (_root.mario._x<=cPrava)) {
      _root.rychlost = 0
      }
   if ((_root.mario._y>=cHorni) && (_root.mario._y<=cDolni) && (_root.mario._x-_root.mario._width/2<=cPrava) && (_root.mario._x+_root.mario._width/2>=cLeva)) {
      _root.rychlost = 0
   }
}


Kod som umiesnil do klipu kde je plosina s ktorou som to chcel vyhodnotit (preto je tam this) . A klip mario volam z knihovny . Ak sa da ta kolize niak inak spravit alebo ak tam mam niekde chybu tak prosim poradte .

PS.:googl som uz skusal , ale nepomohol my Sad
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1050

PříspěvekZaslal: 5. leden 2011, 17:19:35    Předmět: Odpovědět s citátem

sa necuduj ak testuje koliziu bod vs obdlznik ze ti potom vrazy do stropu a prejde s nim. riesenim by mozno bolo dat tych bodov do maria viac. do hlavy a ruk napriklad. alebo spravit koliziu obdlznik vs obdlznik.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mario



Založen: 05. 01. 2011
Příspěvky: 5

PříspěvekZaslal: 6. leden 2011, 10:41:31    Předmět: Odpovědět s citátem

Aha Smile Takže musím vypočítať pravú , lavú ,hornú a dolnú hranu Maria a plošiny a potom to dať do podmienky či sa Mario(myslený obdĺžnik) nachádza v plošine(myslenom obdĺžniku) pomocou <,>,= . Tak ? Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Weny Sky



Založen: 28. 07. 2007
Příspěvky: 241

PříspěvekZaslal: 6. leden 2011, 12:25:57    Předmět: Odpovědět s citátem

http://tekpool.wordpress.com/2006/10/11/rectangle-intersection-determine-if-two-given-rectangles-intersect-each-other-or-not/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Mario



Založen: 05. 01. 2011
Příspěvky: 5

PříspěvekZaslal: 7. leden 2011, 18:48:06    Předmět: Odpovědět s citátem

Spravil som to ako kolizi obdĺžnik-obdĺžnik ale aj tak mi to nejde . Tu je kód :
kód:

onClipEvent(load) {
   var pHorni = _root.dlazdice1._y;
   var pDolni = pHorni+_root.dlazdice1._height;
   var pLeva = _root.dlazdice1._x;
   var pPrava = pLeva + _root.dlazdice1._width;
   
   var mHorni = this._y;
   var mDolni = mHorni+this._height;
   var mLeva = this._x;
   var mPrava = mLeva + this._width;
   }
   onClipEvent(enterFrame) {
   if((mPrava > pLeva && mLeva < pPrava) && (mDolni > pHorni && mHorni < pDolni)) {
      trace("KOLIZE!!!");
   }
   }


dlazdice1 = je to MovieClip v ktorom sa nachádzajú všetky plošiny .
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mario



Založen: 05. 01. 2011
Příspěvky: 5

PříspěvekZaslal: 7. leden 2011, 19:22:11    Předmět: Odpovědět s citátem

Jóóó konečne mi to už ide Smile Dakujem za pomoc .



MODERATOR: fixnut link na obrazek
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mario



Založen: 05. 01. 2011
Příspěvky: 5

PříspěvekZaslal: 7. leden 2011, 20:36:34    Předmět: Odpovědět s citátem

Ešte by som sa vás chcel opýtať na jednu vec . Má tu niekdo skúsenosti so serverom ElectroServer (od firmy electrotank) ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna