Skocz do zawartości

Przeszukaj forum

Pokazuję wyniki dla tagów 'wykrywanie'.

  • Szukaj Po Tagach

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj Po Autorze

Typ zawartości


Forum

  • Programowanie
    • Java
    • C++
    • C
    • Assembler
    • .NET Framework
    • Delphi / Pascal
    • Objective-C
    • Swift
    • Rust
    • Go
    • D
    • Visual Basic
    • Inne jezyki programowania
  • Języki skryptowe
    • JavaScript
    • PHP
    • Python
    • Ruby
    • Perl
    • Lua
    • VBScript
    • Programy wsadowe i shell
    • Inne języki skryptowe
  • Programowanie funkcyjne
    • Haskell
    • Lisp
  • Bazy danych
    • SQL i bazy danych
    • NoSQL nierelacyjne bazy danych
    • ABAP
    • Visual FoxPro
  • Projektowanie i inżynieria oprogramowania
    • Algorytmy i struktury danych
    • Inżynieria oprogramowania
    • Projektowanie UI i UX
    • Reverse engineering
  • Projektowanie stron internetowych
    • HTML, XHTML i XML
    • CSS
    • Optymalizacja SEO
    • Inne
  • Praca, edukacja i kariera
    • Oferty pracy
    • Zlecenia
    • Kariera
    • Edukacja
    • Szkolenia i konferencje
    • Biznes i prawo
    • Magazyn Programista
  • Projekty
    • Moje projekty
    • Mam pomysł na...
    • Konkursy
  • Elektronika, hardware i software
    • Projektowanie i programowanie elektroniki
    • Hardware i software
    • Sieci komputerowe i Internet
  • Forum
    • Ogłoszenia, uwagi i sugestie
    • Społeczność
    • Off Topic
    • Giełda

Znajdź wyniki w...

Znajdź wyniki, które...


Data Utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj przez liczbę...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Strona Internetowa

Znaleziono 1 wynik

  1. Witam. Mam taki kod: public boolean isCollised(){ for(Collision c1:MyGdxGame.collisionManager.getCollisionList()){ if(!c1.equals(this)){ if(c1.overlaps(this)){ return true; } } } return false; } public boolean isCollOnRight(){ for(Collision c1:MyGdxGame.collisionManager.getCollisionList()){ if(!c1.equals(this)){ return (this.isCollised() && (this.x < c1.x) && (c1.x < this.x + this.width)); } } return false; } public boolean isCollOnLeft(){ for(Collision c1:MyGdxGame.collisionManager.getCollisionList()){ if(!c1.equals(this)){ return (this.isCollised() && (c1.x < this.x) && (this.x < c1.x + c1.width)); } } return false; } public boolean isCollOnTop(){ for(Collision c1:MyGdxGame.collisionManager.getCollisionList()){ if(!c1.equals(this)){ return (this.isCollised() && (c1.y < this.y + this.height) && (this.y + this.height < c1.y)); } } return false; } public boolean isCollOnBottom(){ for(Collision c1:MyGdxGame.collisionManager.getCollisionList()){ if(!c1.equals(this)){ return (this.isCollised() && (this.y < c1.y + c1.height) && (c1.y + c1.height < this.y + this.height)); } } return false; } I mam problem otóż taki: Piszę grę 2D RPG("style") i chcę wykryć kolizje tylko z jednej strony, aby zablokować ruch w danym kierunku. Napisałem taki kod, wzorowany na tutorialu z kolizji ale w C++, i kolizja dział w następujący sposób: -Po uderzeniu gracza w obiekt z prawej storny, powyżej niż połowa tego obiektu, wykrywa że zderzenie gracza nastąpiło z góry i prawej strony, gdy jest gracz poniżej połowy obiektu to wykrywa jako zderzenie gracza od dołu i prawej strony. -Po uderzeniu gracza w obiekt z lewej storny, powyżej niż połowa tego obiektu, wykrywa że zderzenie gracza nastąpiło z lewej i prawej strony, gdy jest gracz poniżej połowy obiektu to wykrywa jako zderzenie gracza od dołu i lewej strony. -Po uderzeniu gracza w obiekt od dołu, powyżej niż połowa szerokości tego obiektu, wykrywa że zderzenie gracza nastąpiło z góry i prawej strony, gdy jest gracz poniżej połowy szerokości obiektu to wykrywa jako zderzenie gracza od dołu i prawej strony. -Po uderzeniu gracza w obiekt od góry, powyżej niż połowa szerokości tego obiektu, wykrywa że zderzenie gracza nastąpiło z dołu i prawej strony, gdy jest gracz poniżej połowy szerokości obiektu to wykrywa jako zderzenie gracza od dołu i prawej strony. Jak wyeliminować, aby zwracało tylko jedną kolizje w danym momencie, a dokładniej jak uderzę graczem o obiekt z lewej strony to wykrywa kolizje z prawej strony względem gracza jak napisałem to powyżej. PS.: Dodam że w libGDX kordy 0,0 zaczynają się w lewym dolnym rogu, a nie jak standardowo lewy górny róg. Proszę o pomoc i dziękuję za nią.
×
×
  • Utwórz nowe...