Autor | Zpráva | ||
---|---|---|---|
david2097 Profil |
#1 · Zasláno: 1. 6. 2012, 14:23:16 · Upravil/a: david2097
Chtěl bych si udělat mapu která se bude moct posunovat myší
př.google mapy ne nejsem nováček který umí sotva napsat nadpis v html Dělám online hru a chtěl bych se vyhnout určitým problémům a tak mě napadlo ( spíše jsem se inspiroval ve hře "Forge of Empires" ) že si to udělám nějak podobně to znamená udělat si okno ve kterém bude velký obrázek kterým budu moct posunovat p.s. pokud někdo nepochopil skusím to vysvětlit znova (až to ten dotyčný napíše ) |
||
Fisak Profil |
#2 · Zasláno: 1. 6. 2012, 14:28:11
<style type="text/css"> .presun_mne {position:relative; cursor:move;} </style> <script type="text/javascript"> var nn6 = document.getElementById && !document.all; var x,y,presun_objektX,presun_objektY; var presun_class = 'presun_mne'; var presun_objekt = null; // aktualni presunovany objekt var presun_objekt2 = null; // predchozi presunovany objekt. kvuli nastaveni z-indexu function presunPohyb(udalost) //mousemove { if (presun_objekt!=null) { presun_objekt.style.left = presun_objektX + (nn6 ? udalost.clientX - x : event.clientX - x) + "px"; presun_objekt.style.top = presun_objektY + (nn6 ? udalost.clientY - y : event.clientY - y) + "px"; return false; // zablokuj udalost } return true; } function presunSpust(udalost) //mousedown { var objekt = nn6 ? udalost.target : event.srcElement; // ziskej objekt, na ktery se kliklo var top_element = nn6 ? "HTML" : "BODY"; while (objekt.className!=presun_class && objekt.tagName!=top_element) // opakuj, dokud se nedostanes na tag HTML/BODY nebo na objekt s class rovnajici se hodnote v presun_class { objekt = nn6 ? objekt.parentNode : objekt.parentElement; } if (objekt.className==presun_class) { presun_objekt = objekt; presun_objekt.style.zIndex = 10; presun_objektX = parseInt(presun_objekt.style.left + 0); // ziskej aktualni souradnice objektu presun_objektY = parseInt(presun_objekt.style.top + 0); x = nn6 ? udalost.clientX : event.clientX; // ziskej aktualni polohu mysi y = nn6 ? udalost.clientY : event.clientY; return false; // zablokuj udalost } return true; } function presunZastav(udalost) //mouseup { if (presun_objekt2!=null) { presun_objekt2.style.zIndex = 1; } if (presun_objekt!=null) { presun_objekt.style.zIndex = 2; } presun_objekt2 = presun_objekt; presun_objekt = null; return true; } // presmeruj funkce mysi z dokumentu na moje document.onmousedown = presunSpust; document.onmousemove = presunPohyb; document.onmouseup = presunZastav; </script> <div class="presun_mne"><a href="http://seznam.cz"><img src="./themes/web/cs/default/images/facebook.png"></a></div> |
||
Taurus Profil |
#3 · Zasláno: 1. 6. 2012, 14:28:18
Zadej si inzerát v sekci Práce a zakázky..
|
||
david2097 Profil |
#4 · Zasláno: 1. 6. 2012, 14:32:48
díki moc Fisak
a Taurus ty jsi mi radost neudělal :D |
||
Fisak Profil |
#5 · Zasláno: 1. 6. 2012, 14:47:39
david2097:
no neni to moje práce jen sem to taky hledal a našel sem toto ... funguje to až na pár drobností .. jako např. odkazy nevim jak udělat aby při posunu se nespustili a nebo taky mi nějak nechtěj ty obrázky přesáhnout kraj prohlížeče a vždy se zařádkuje.. |
||
david2097 Profil |
#6 · Zasláno: 1. 6. 2012, 15:20:45 · Upravil/a: david2097
hm povšimnul jsem si
náhodou není jiná možnost nějaká spolehlivější možná php a jquery |
||
Fisak Profil |
#7 · Zasláno: 1. 6. 2012, 15:28:21
PHP pracuje se serverem nikoli s prohlížečem.. takže s php to neuděláš a s jquery uděláš to samý co s JS :-)
|
||
david2097 Profil |
#8 · Zasláno: 1. 6. 2012, 15:35:59 · Upravil/a: david2097
to jo ale já bych ještě potřeboval abych mohl na to mapu
např. jen v některých částech obrázku mít odkaz a tam by se otevřel panel s výběrem kde by sis mohl vybrat co chceš do mapy dát a kam přesně př. nějaká hra vybereš si budovu postavíš jí sem a sem dáš cest atd... pokud máš nápad tak mi napiš mě popravdě nic nenapadá |
||
Fisak Profil |
#9 · Zasláno: 1. 6. 2012, 15:41:11
Určitě by to šlo :-) uděláš si div někde kde to chceš mít a když na ten div klikne uživatel otevřese mu pop up okno nebo prostě jednoduše vyskakovací okno pomocí js.. tamm si vybereš co chceš uděláš se nějaká akce okno se zvře stránka se aktualizuje ...
|
||
david2097 Profil |
#10 · Zasláno: 1. 6. 2012, 15:44:54 · Upravil/a: david2097
nj
ale já bych chtěl prostě mapu a tam bys sis mohl vzít z toho menu nějakou budovu a umístit jí tam kam chceš (třeba doprava nebo doleva) a samozřejmě by se ta pozice ukládala do databáze MySql už chápeš? tak hale mě osobně by se mi líbila ta mapa ale dokážu to i jinak ale (zase ale) je v tom jeden háček vypadá to hrozně a dlouho se to načítá (to hráč neocení) a to by s divem či tabulkou šlo ale jak sem řek hráč by to neocenil proto se snažim o nějakou plochu s kterou by hráč mohl hýbat a zároveň dávat budovy na různá místa a v těch budovách vyrábět vojáky a s těma vojákama útočit na nepřátele atd... prostě hra http://cz1.forgeofempires.com/game/index nemyslím si že něco takového udělám ale něco podobného |
||
Nox Profil |
#11 · Zasláno: 2. 6. 2012, 17:19:51
Heh, vy mu to tu celé naprogramujete :)
|
||
Fisak Profil |
#12 · Zasláno: 2. 6. 2012, 18:16:03
Nox:
Já totiž taky dělám hru a zrovna sem dělal mape creator takže sem to taky využil.. a jinak nenaprogramoval sem to já stačí hledat.. mohl sem mu hodit odkaz ale tak to je jedno jestli mu pošlu kod nebo odkaz na manuál :-) |
||
1Pupik1989 Profil |
#13 · Zasláno: 2. 6. 2012, 18:31:36
Já zase měl div s relativním pozicováním a přes php jsem z db generoval obrázek. Pokud už vygenerovaný byl, tak jsem ho akorát načetl. Obrázek byl samozřejmě absolutně pozicovaný. Pak stačilo jen pohybovat se všemi obrázky najednou. Jak to udělám teď nevím, v canvasu to už moc sranda není.
|
||
Časová prodleva: 11 let
|
0