Autor | Zpráva | ||
---|---|---|---|
Davit Profil * |
#1 · Zasláno: 29. 6. 2010, 13:18:47
Ahoj, chtěl bych se zeptat na jakém principu pracuje mapa v browser hře the-west. Jestli je to přes javascript nebo nějakým jiným způsobem.
chtěl bych udělat podobnou ale neznám přesný princip jak to funguje. Děkuji za rady |
||
vasio Profil * |
#2 · Zasláno: 29. 6. 2010, 14:45:03
Chceš udělat mapu? Pověz mi o tom víc, možná ti pomůžu, hlavně musíš psát kód co nejméně náročný...
|
||
Davit Profil * |
#3 · Zasláno: 29. 6. 2010, 15:06:44
mno, chtěl bych udělat něco podobného jak maji browserové hry, tedy posouváni mapy kurzorem.
nejspíš to funguje asi že je do pozadí stránky vložen velký obrázek a potom pomocí background-position posouvané.. ne? lajcky řečeno pokut se to tak přes js/jquery děla tak bych chtěl abych velký obrazék v pozadí mohl posovat, ale ne po stránce ale oblast toho zobrazeného pozadí. |
||
Davit Profil * |
#4 · Zasláno: 29. 6. 2010, 15:15:11
Davit:
něco jako že <div id="maps" style="background: URL(maps.jpg) 50% 50%; width: 80%; height: 400px;"></div> a pak kod pro posovani $("#maps").mousemove(function(e){ }); a pak přepočitat pozice ale nevim jak udělat ze mousemove muze reagovat jen při držení tlačítka myši. |
||
Webb Profil * |
#5 · Zasláno: 29. 6. 2010, 17:32:09
Davit:
$(document).ready(function(){ $("#maps").mousedown(function(eFirst){ var lastLeft = eFirst.pageX; var lastTop = eFirst.pageY; $(this).mousemove(function(e){ var Left = e.pageX; var Top = e.pageY; var nextLeft = Left-lastLeft; var nextTop = Top-lastTop; $(this).css("backgroundPosition",nextLeft+" "+ nextTop); }); }).mouseup(function(){ }); }); mno udělal jsem toto, funguje to.. rád uvítam co bych mohl napsat lepším způsobem, a ješte potřebuji 2 věcy doladit 1) jak jednotlivou hodnotu backgroundPosition, je to potřeba aby se mi při znovu kliknuti nedala na pozici 0. 2) při uvolnění tlačítka aby se ukončila funkce mousemove Diky:) |
||
vasio Profil * |
#6 · Zasláno: 29. 6. 2010, 18:25:52
Rozhodně to není založené na jednom obrázku, jsou to nejspíš kosočtverce v úhlu jako má 2.5D, musíš myslet, třeba bych začal s mřížkou do které by se nahrávali data jak pohybuješ s tou mapou, mají to docela složitě, tak mysli ;-).
|
||
Webb Profil * |
#7 · Zasláno: 29. 6. 2010, 18:37:10
vasio:
jj maš pravdu, jdou tam aj trošku vidět.. ok mno načítaní dat při posouváni bych nějak vymyslel (doufám), nejlepe udělat at se to načíta i par poli mimo zobrazeni. Ale jak udělat šikmé pole to nvm, to je nějak nakloněná tabulka?xD |
||
vasio Profil * |
#8 · Zasláno: 29. 6. 2010, 19:59:49
Pokud se chceš podívat, tak si zobraz tu mapu, vypni automatické nahrávání obrázků a vypni javascript(firefox....) a trošku pojni s mapou, uvidíš jak to vypadá, ano, nahrávat se to musí alespoň 6 políček předem jinak je téměř jisté že se budou ukazovat a koukal jsem že tam mají stekně nějakou ochranu, vždy když hrozí 'černá :)' tak se to kousne. Chce to opravdu tak 3-4 večery a budeš to mít stejné a bez těch skosených 'obrázků' se obejdeš jenomže po chvíli programování si myslím že je uvítáš :-) tak hodně štěstí :-P
|
||
Webb Profil * |
#9 · Zasláno: 29. 6. 2010, 20:37:47
vasio:
jj dobry napad s tim vypnutim načitani obrazku.:) takže celé to pole je tabulka a každá bunka je určitá souřadnice že? Aspoň si myslim že to tak je... zas když je to v tabulce tak to děla neplechu, protože už nemůžu to dat do backgroundu a timpadem se mi rozšiřuje stránka a zobrazuje se to i mimo div maps. Viz odkaz... http://www.herm.tym.cz/javascript/ |
||
Václav_ Profil * |
#10 · Zasláno: 29. 6. 2010, 22:01:35
Mám takovou teorii(přicházím s ní protože by se mi to mohlo i hodit ;-)):
zobrazilo by se 10x10 políček, před tím by se nahrála tabulka ze které by se uložily do pole x a y sousedi nebo čeho si co by se mělo ukazovat, pak by se stránka vyplnila x a y, to by se vyplňovalo jako jeden řádek zatrhlej po každém 10 políčku(div style="width:640px"(každé políčko 64px)...), na každém políčku by se ověřovalo jestli není v poly záznam k políčku(když x políčka a y políčka se rovná x a y v poly uloženém z db na začátku scriptu....), při pohybu by se načítaly nové záznamy z tabulky. Celé by to muselo být řešené ajaxově, jinak v tom nevidím úspěch s tou plynulostí, je to docela náročné na vymýšlení, do projektu kopírování bych moc nechodil protože tam potom nemůžeš moc upravovat když jejich logice nerozumíš. Napiš co si o tom myslíš ty matematiku :-D |
||
Webb Profil * |
#11 · Zasláno: 29. 6. 2010, 22:42:04
Václav:
mno tak jako fungovalo by to, ale už to neni tak dobré. A ja se to nesnažím okopírovat, jen to potřebuji v co nejlepším způsobum. a odkut mě znáš? |
||
Václav_ Profil * |
#12 · Zasláno: 30. 6. 2010, 13:57:40
http://www.herm.tym.cz/, co na tom není dobré? Vážně se rád poučím, s javascriptem mám pár denní zkušenost. Až budeš mít ukázku moc rád se podívám na tvé řešení :-P.
|
||
Václav_ Profil * |
#13 · Zasláno: 30. 6. 2010, 13:59:36
Jo jestli myslíš že fakt mají celou mapu s kterou pohybuješ :-D:-D to by to asi nebylo zrovna profesionální, takovouto věc by mohl vědět Chamurappi.
|
||
Webb Profil * |
#14 · Zasláno: 30. 6. 2010, 14:48:46
Václav:
to nemyslim, taky to nikde netvrdim. To že to mám v odkazu výše udělané přes celou tabulku je asi tím že jsem nevyřešíl načítání. A asi ješte nevyřeším když pořát nevím princip a odpovědi na otázky ktere jsem se ptal. |
||
Václav_ Profil * |
#15 · Zasláno: 30. 6. 2010, 15:55:05
|
||
Časová prodleva: 15 let
|
0