![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 7.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym stworzyć w php mapkę z zaznaczonymi na niej lokacjami, które będą połączone ścieżkami. Zastanawiam się, czy może macie pomysł na wykonanie owych ścieżek. W sumie najbardziej zależy mi na wyglądzie samych połączeń- żeby to były jakieś ładne linie poprowadzone łukami; byle nie proste albo nienaturalnie powykrzywiane.
Chcę, aby ścieżki były automatycznie nanoszone w ramach zmian w samej mapie. Tak, aby nawet w wypadku przemieszczania się punktów ścieżka obierała trasę uwzględniając to przesunięcie. Może coś w rodzaju dynamicznie generowanego pliku graficznego? Chciałbym, żeby efekt końcowy prezentował się podobnie jak na mapie świata z gry Final Fantasy Tactics: http://www.ffshrine.org/fft/world_map.jpg Mam nadzieję, że dobrze nakreśliłem Wam moją ideę. Za ewentualną pomoc z góry dziękuję i na wszelki wypadek zaznaczam raz jeszcze, że oczekuję pomysłów a nie gotowych rozwiązań w postaci kodu, wolę się sam pomęczyć ![]() Ten post edytował darkpytong 8.01.2009, 09:25:28 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 8 Dołączył: 21.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
cos takiego mozesz uzyskac za pomoca biblioteki GD
![]() ew. paint ![]() -------------------- eArena.pl - hosting serwerów gier multiplayer
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 7.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czy naprawdę poza bibliotekami GD nie ma jakiegoś sposobu? Nie sądziłem, że może to być aż taki problem
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 15 Dołączył: 10.12.2007 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Może dałoby się coś wykombinować z rysunkiem wektorowym .svg nakładanym na mapę, albo w całości tworzeniu mapy w .svg - tylko w najprostszych przypadkach.
W każdym razie ja bym radził zainteresować się tematem formatu .svg i z nim kombinować. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 49 Pomógł: 1 Dołączył: 6.01.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ale z tego co wiem, to IE nie obsługuje svg
![]() -------------------- Wróciłem po długiej przerwie... Bogatszy w wiedzę.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Z tego, co mi wiadomo, to przy zainstalowanej wtyczce obsługuje. Można jeszcze rysować po obiekcie <canvas />, a dla IE - VRML.
Podejrzewam, że są jakieś frameworki unifikujące. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 49 Pomógł: 1 Dołączył: 6.01.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Hmm... Tylko kto Ci wtyczkę zainstaluje ze zwykłych userów
![]() ![]() A nie da się tego jednak na GD oprzeć? Jakoś za pomocą imagecreateline? Albo coś w ten deseń? ![]() ![]() -------------------- Wróciłem po długiej przerwie... Bogatszy w wiedzę.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
http://www.phpclasses.org/browse/package/1160.html + imageantialias" title="Zobacz w manualu PHP" target="_manual
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Autor klasy matematykiem jest dobrym, ale programistą nie.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 7.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki za podpowiedzi
![]() Trochę nad tym posiedziałem próbując zrobić coś z tym skryptem: CODE <?php $segmentos =30; $x=array(0,10,80,30); $y=array(0,10,40,50); function bezier($p,$steps){ $t = 1 / $steps; $temp = $t * $t; $ret = array(); $f = $p[0]; $fd = 3 * ($p[1] - $p[0]) * $t; $fdd_per_2=3*($p[0]-2*$p[1]+$p[2])*$temp; $fddd_per_2=3*(3*($p[1]-$p[2])+$p[3]-$p[0])*$temp*$t; $fddd = $fddd_per_2 + $fddd_per_2; $fdd = $fdd_per_2 + $fdd_per_2; $fddd_per_6 = $fddd_per_2 * (1.0 / 3); for ($loop=0; $loop<$steps; $loop++) { array_push($ret,$f); $f = $f + $fd + $fdd_per_2 + $fddd_per_6; $fd = $fd + $fdd + $fddd_per_2; $fdd = $fdd + $fddd; $fdd_per_2 = $fdd_per_2 + $fddd_per_2; } return $ret; } $by = bezier($y,$segmentos); $bx = bezier($x,$segmentos); header ("Content-type: image/jpeg"); $tam = 200; $im = imagecreate($tam,$tam); $background_color = imagecolorallocate ($im, 200, 200, 200); $tc = imagecolorallocate ($im, 233, 14, 91); for($i=0;$i<$segmentos-1;$i++) imageline($im,$bx[$i],$tam-$by[$i],$bx[$i+1],$tam-$by[$i+1],$tc); imagejpeg($im); imagedestroy($im); ?> Niestety, skrypt niezbyt poprawnie działa, linie się zawijają i ogólnie dość wariacko zachowują. Jednakże spróbuję tej klasy, mam nadzieję, że będzie to coś innego, działającego ![]() A na marginesie: przypominam przezornie, że linie mają być generowane dynamicznie, ew. losowo. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 10:07 |