PiotrekK Witam, jakie polecacie biblioteki dzięki którym nie będę musiał bawić się w kolizje, animacje itp? Bo trochę mnie denerwuje ciągłe robienie odczytywania kolizji 😉 Więc: jakie polecacie biblioteki do tworzenia gier uproszczające tworzenie zdarzeń "fizycznych" (spadanie piłki itp.) czy po prostu tworzenie kolizji? Z góry dzięki! EDIT: Znalazłem coś takiego: Box2D tylko nie za bardzo wiem jak się za to zabrać.
c2h5oc2h5 libgdx - Project Hosting on Google Code - używa Box2D, ale prawdopodobnie jakoś miło go opakowuje + ma jeszcze wiele innych bajerów np. do rysowania grafiki. Nie wiem jak się używa bo nie używałem ( 😛), ale biblioteka wydaje się być obiecująca.
PiotrekK A znacie jakieś przykłady dot. Box2D? Bo tworzę grę z "widokiem na grę" mniej więcej takim: I tu pytanie czy jeżeli robię takie gry typu RPG(oczywiście podałem tu przykład) to czy opłaca się mieszać w Box2D?
Pitr44 yy ziomek ale do tego nie potrzeba żadnej fizyki 😃 no co najwyżej do kolizji to możesz to zaimplementować. Co do samego Box2D to nigdy go nie ogarniałem.. ( próbowałem kiedyś gre platformową napisać C++ i Allegro + Box2D lecz nic z tego nie wyszło tzn wyszło doszłem do tego iż napisałem sobie sam fizyke ( na szczęscie potrzebna mi grawitacja była tylko xd) co do przykładów to masz tu jakieś dwa http://code.google.com/p/androidbox2d/ wchodzisz Source -> Browse -> Trunk -> Src -> org -> android -> andbox2d -> tests -> tu masz jakieś dwa przykłady 🙂
c2h5oc2h5 yy ziomek ale do tego nie potrzeba żadnej fizyki no co najwyżej do kolizji to możesz to zaimplementować. Dokładnie. Chociaż szczerze mówiąc użycie Box2D do tak prostych kolizji to będzie gruba przesada - w tak prostym przypadku mniej się napocisz samemu pisząc wykrywanie kolizji niż ogarniając B2D 😉. Oczywiście biblioteki mogą być w tym przypadku pomocne, ale to już musisz sam poogarniać, czy dają jakieś wsparcie dla RPG'ów. no dobra. mam jeszcze jedno pytanie: jak odczytać pozycję X i Y określonego obrazka? Sprecyzuj - skąd chcesz odczytywać pozycje obrazka?
PiotrekK Dokładnie (o ile to możliwe) chcę odczytać w którym miejscu na ekranie znajduje się obrazek. Wyśiwetlam tak: canvas.drawBitmap(); O ile to coś da...
zawadaki niestety muszę ciebie oświecić jak wygląda rysowanie przy użyciu Canvas do rysowania potrzebna jest mapa bitowa i narzędzie do rysowania na niej czyli właśnie Canvas w momencie kiedy kończysz rysowanie czegoś, czy to jest linia czy mapa bitowa przy użyciu Canvas, to co narysowałeś jest częścią mapy bitowej na której rysuje Canvas, jedynym sposobem aby poznać położenie już narysowanej mapy bitowej jest jej znalezienie na wynikowej mapie bitowej (co w obliczu presji czasu jest nie wykonalne i pozbawione sensu), wiec zamiast to robić przed narysowaniem zapamiętujesz pozycje
c2h5oc2h5 niestety muszę ciebie oświecić cię* 😛 Ale generalnie zawadaki ma absolutną rację. Obrazek jest tam, gdzie go narysujesz. Po co masz później odczytywać jego współrzędne?
PiotrekK cię* 😛 Ale generalnie zawadaki ma absolutną rację. Obrazek jest tam, gdzie go narysujesz. Po co masz później odczytywać jego współrzędne? Piszę funkcję dzięki której będę mógł łatwo sprawdzać czy user "klika" na obrazku
c2h5oc2h5 No to generalnie musisz to zrobić zapamiętując sobie osobno współrzędne obrazka i jego wielkość, niezależnie od narysowania go na Canvasie - po kliknięciu przeszukujesz sobie struktury przechowujące dane obrazków i sprawdzasz, który został kliknięty na tej podstawie.
PiotrekK dobra. Jakoś sobie poradziłem. Jeżeli pozwolicie mam jeszcze jedno pytanie: jak odczytać wielkość tablicy? powiedzmy mam tablicę która zmienia wielkość w trakcie działania gry, a ja chciałbym wiedzieć co zrobić żeby odczytać jaka jest wielka.
PiotrekK jaka tablica i jaka wielkość ? public int[][] mapka = { {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {1,1,1,1,1,1,1,1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0}, {1,0,1,0,1,1,1,1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} }; Dokładnie taka.
zawadaki OK, czyli dwu wymiarowa tablica int, ale jaka wielkość czy chcesz wiedzieć ile jest w niej elementów czy ile zajmuje w pamięci ? jeżeli liczbę elementów to int count = mapka.length * mapka[0].length zajmowana pamięć to już trochę więcej pracy 😉