/ / Kolízia s obrázkom (nepravidelný tvar) - javascript, html, detekcia kolízií, kolízia, klon flappy-bird-clone

Kolízie s obrazom (nepravidelný tvar) - javascript, html, detekcia kolízií, kolízie, klopný klon

Momentálne vyrábam chabého vtáka a zmenil som hood iba obdĺžnikov k mojim vlastným obrázkom a podobne. Nezdá sa, že by som prišiel na to, ako to urobiť, keď vták (nepravidelný tvar) zasiahne obdĺžnik, zomrie. Neviem, ako kódovať kolíziu, keď to „je divný tvar.“ Tu je obrázok , Kreslím vtáka takto.

var img = document.getElementById("bird");
brush.drawImage(img, 20, this.y);

Pripojený je obrázok hry, vtáka a kódu.

Obrázok hry

Obrázok hry

odpovede:

0 pre odpoveď č. 1

Musíte implementovať kolektory. Sú pripravené na použitie v herných strojoch, ako je Unity, ale ak to chcete implementovať sami, zvážte nasledujúce:

  1. Vytvorte kolízne komponenty pre svojho vtáka aSteny. Collidiers sú zjednodušené tvary, ktoré uľahčujú a zrýchľujú algoritmy detekcie kolízií vzhľadom na rýchlosť procesora. Napríklad pre vtáka to môže byť kruh okolo neho a obdĺžniky pre vaše steny.
  2. Počas udalosti Aktualizácia rámca skontrolujte, či máteohraničujúci kruh vtáčích priesečníkov so stenovými obdĺžnikmi. Je to jednoduchá matematika, v google nájdete vzorce pre priesečník kruhových obdĺžnikov.
  3. Ak sa zistí kolízia - váš vták by sa mal zrútiť)

To je to!


0 pre odpoveď č. 2

Tu je dobrá kniha na túto tému: Detekcia kolízie 2D hier: Úvod do kolíznej geometrie v hrách Autor: Thomas Schwarzl

Nájdete ho napr. tu http://www.amazon.de/2D-Game-Collision-Detection-introduction/dp/1479298123/ref=sr_1_1?ie=UTF8&qid=1448932508&sr=8-1&keywords=2d+collision

Ak dokážete zvládnuť pravouhlú kolíziu, skúste vyplniť tvar svojho komplexu postava s obdĺžnikmi a vyskúšajte každý z nich. Vo vašom prípade skúste použiť vtáčie kruh.