Autor Zpráva
kozusnik.jan
Profil *
Ahoj. Řeším jeden problém, a sice jak zakázat rolování stránky pomocí šipek? Asi pomocí JavaScriptu, ale víc nevím. Máte nápady? Děkuji
whoami
Profil
Podle toho co píšeš ti musí stačit toto..
body { overflow:hidden; }
Str4wberry
Profil
Šlo by to udělat tak, že se odchytí kódy příslušných kláves a zablokuje jejich akce. Nicméně to doporučuji pokud možno nedělat, uživatel bude z takové vlastnosti nejspíše zmaten.
kozusnik.jan
Profil *
No já vím, ale jak jinak byste to řešili? Mám web, kde je pomocí JS v canvasu vykresleno prostředí. V tom prostředí je panáček, který se pohybuje pomocí šipek. Jenže pokud je stránka tak vysoká, že se musí rolovat, tak se při stisku např. klávesy dolů posune i stránka....
Str4wberry
Profil
Aha. V takovém případě je docela běžné, že většina kláves funguje jen v rámci prostředí (typicky třeba Flash). To ovšem neznamená, že to není otravné.

Na konkrétní řešení není dost konkrétní popis, ale napadají mě obecné následující možnosti.

1) Zajistit, aby se na běžně velkých displejích obešla stránka bez rolování.
2) Ovládat postavu jinými klávesami (např. W, S, A, D).
3) Případně výchozí akce šipek zablokovat. Je pořád lepší rolování omezit než kazit požitek z pohybování panáčka.
kozusnik.jan
Profil *
No právě. To rolování chci nějak zakázat ať se hýbe pouze ten panáček... napadlo mě, že to udělat tak, že bude kontrolovat když je myš nad tím canvasem, tak se šipkama bude pohybovat panáček a když není, tak se bude šipkama rolovat. Co myslíte?
Str4wberry
Profil
Podobně jsem před časem uvažoval také. Problém je, že v případě, kdy se k ovládání panáčka nepoužívá myš, bude mít člověk tendenci kursor odložit mimo. Čímž by znemožnil to ovládání. Bylo by potřeba vymyslet složitější postup k hádání, co chce návštěvník dělat. Tedy nějak zaznamenat to odložení a nějak z pohybu myši určit, že se návštěvník už nechce věnovat <canvas>u, ale zároveň nenarušit ovládání panáčka při nechtěném pohybu. Těžko říct, jestli by to šlo uspokojivě vymyslet.
kozusnik.jan
Profil *
No právě... asi to udělám přes to WASD....
abc
Profil
Co takhle tu myš schovat, když se nachází nad hrou?
kozusnik.jan
Profil *
jak to myslíte?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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