Autor Zpráva
hokič
Profil
Ahoj, mám následující situaci :

Mapa města (movie clip), kterou uživatel může zvětšovat a posouvat. Posouvat je možno jak kliknutím na buttonky šipek, které jsou v navigaci, tak i myší za pomoci následující funkce :


function dragSetup(clip) {

clip.onPress = function() {
startDrag(this);
};
clip.onRelease = clip.onReleaseOutside=function () {
stopDrag();
};
}
dragSetup(mapa);


Potíž je ta, že bych udělal uvnitř mapy některá místa aktivní tak, že když se třeba klikne na radnici (je jako button), tak se zobrazí fotka a nějaká informace (je to výukový program pro malé děti). Jenomže díky výše vypsané funkci je to tažení jaksi nadřazené a žádné akce s buttony nefachají (pokud mapu z funkce vyjmu, funguje to, mám ozoušeno).

Dovedl by někdo prosím poradit, zda to lze nějak elegantně řešit?

Mne napadají v tuto chvíli jen dvě řešení - buď vytvořit jednu duplicitiní vrstvu, kde budu mít jen tak aktivní místa a budu je posouvat na základě pozice a zvětšení odečítaného z pozice movie clipu s mapou (což nevím, jak přesně půjde), nebo nechat ovládání mapy čistě jen na klikání na ty navigační šipky (k tomu se kloním).

Předem díky za jakýkoliv postřeh
XXX
Profil
No jako asi nejelegantnejsi reseni bych volil posun mapy pomoci kurzorovych sipek a klikani mysi bych nechal pro vyber konkretnich prvku ;-)
shamania
Profil
Napadlo mě jedno řešení.. Prostě když se stiskne myšítko at je to kdekoliv, tak budeš načítat souřadnice myši a rozdíl nebo přídavek na osách přídáš i Mc mapy.. takže tim odpadá funkce startDrag a také budou tlačítka vždy aktivní.. takhle by to myslim šlo, ne? Jedinou vadou by mohl být trhaný pohyb mapy :)
hokič
Profil
Ahoj,

díky za podněty. Zkusím nejprve to řešení s šipkami. Dám vědět, jak to dopadlo :)
hokič
Profil
Tak alternativa s ovládáním šipkami funguje dobře. Jen takový malý postřeh - když jsem použil onClipEvent (keyDown), tak se pohyb trhal, onClipEvent (enterFrame) šlape o poznání plynuleji.

Každopádně děkuji velice za správné nasměrování.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0