![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 18.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki kod http://jsfiddle.net/7ybrpv6c/
Problem polega na tym że nie wiem jak napisać funkcję która obliczy współrzędne danego hexa np. 7,7. Napisałem funkcje która sprawdza czy liczba jest parzysta czy nie, jednak coś nie działa jak powinno. Chodzi o zwrócenie wartości w PX od lewego górnego rogu, może źle się do tego zabieram i całość powinna być napisana inaczej? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Hex - masz na myśli plaster?
Którą konkretnie współrzędna wielokąta chcesz odnaleźć? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 18.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Tak, chodzi o plaster. Zakładając że chce przykładowo nałożyć na niego czerwony kwadrat, to powinienem otrzymać takie współrzędne http://s7.postimg.org/540ankv57/grid.png czyli left: 111px i top: 83px dla plastra 7,7.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Czyli to ma być najbliższy nieprzykryty przez obszar plaster?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 18.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie. To nie ma znaczenia. Po prostu potrzebne są mi tylko współrzędne, gdy podam id plastra np. 7,7 czy 2,7 lub 3,1 itp. Nie wiem jak ugryźć temat, pierw sprawdzałem czy liczby są parzyste, jednak plątałem się z tym później...
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 18.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, widziałem już to i na tej podstawie powstał powyższy kod (IMG:style_emoticons/default/biggrin.gif) Niestety poległem. O ile np. 3,0 zaznacza się dobrze o tyle problem jest przy zmianie parzystych i nieparzystych sektorów... Może trzeba to przepuścić w pętli?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A gdybyś od współrzędnej X odjął połowę szerokości plastra i wtedy sprawdził (tak jakby ten plaster nie był przesunięty)?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 18.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Wystarczy chyba sprawdzanie współrzędnej Y (czy jest to wiersz przesunięty).
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 18.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Hmm czyli powinno być tak:
Ale to też nie działa. Heh, wychodzi na to że im większe liczny w X tym złe współrzędne. Ma ktoś jakiś pomysł jak to rozwiązać? Problem zapewne jest banalny. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jesteś w stanie pokazać tu cały kod?
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 18.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
http://jsfiddle.net/7ybrpv6c/1/ tu jeśli wpiszemy 7,7 to zadziała, na innych wartościach nie. Próbowałem też tak jak pisałeś http://jsfiddle.net/7ybrpv6c/2/
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 18.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jak wpiszę 4,2 zaznaczy się 5,2 a jak 5,6 to 8,6 itd. czyli ten sam efekt jak wyżej. Ten post edytował szybki 3.01.2015, 16:03:08 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Masz dziwne współrzędne 'x' ponumerowane (wraz z 'y' rośnie 'x')... zobacz jak to powinno być ponumerowane http://www.redblobgames.com/grids/hexagons/#coordinates
-- edit -- a tu działająca wersja dla poprawnie skonstruowanej mapy (tak jak w załączonym linku): http://jsfiddle.net/7ybrpv6c/7/ Ten post edytował r4xz 3.01.2015, 16:15:25 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 16:03 |