Autor Zpráva
Davit
Profil *
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 *
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 *
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 *
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 *
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 *
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 *
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 *
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 *
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 *
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 *
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 *
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 *
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 *
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 *
[#1] DavitJestli je to přes javascript nebo nějakým jiným způsobem.

Yep, na javascriptu ;-)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0