2016-09-27 15 views
5

Jak wyłączyć przewijanie spacji? Robię grę na płótnie (np. Agar.io) i nie chcę, aby użytkownik przewinął w dół po naciśnięciu klawisza spacji, ale nadal chcę, aby płótno rozpoznało go jako użytkownika naciskającego spację. Używam p5.js jako biblioteki canvas.JavaScript wyłączanie przewijania przestrzeni

+0

Możliwy duplikat [naciśnięcie spacji przesuwa stronę w dół?] (Http://stackoverflow.com/questions/2343573/pressing-spacebar-moves-page-down) –

+3

@LiranH Należy pamiętać, że jest to [tag: p5 .js], które zawiera własne kluczowe funkcje zdarzeń. Odpowiedź, którą podłączyłeś, jest właściwa, ale w tym konkretnym przypadku tak naprawdę nie pomaga. –

+0

Otóż, przepraszam za to, że zgłaszałem się zbyt szybko, nie zastanawiając się dłużej. –

Odpowiedz

7

ta jest pokryta the reference:

przeglądarki mogą mieć różne zachowania domyślne załączone do wielu kluczowych wydarzeń. Aby zapobiec domyślnemu zachowaniu tego zdarzenia, dodaj "return false" na końcu metody.

Innymi słowy, można po prostu return false z keyPressed() funkcję:

function setup() { 
    createCanvas(500, 500); 
} 

function draw() { 

} 

function keyPressed(){ 
    text("here", random(width), random(height)); 
    return false; 
} 

Oznacza to, że strona powinna nie wykonać dowolną domyślne zachowanie. Dlatego w przypadku niektórych kluczy możesz chcieć tylko return false.

Możesz również chcieć dodać podobne instrukcje return false do innych funkcji zdarzeń myszy, aby uniknąć sytuacji, w której użytkownik przytrzymuje klawisz spacji.

+0

Od kiedy używam trybu instancji, jaka jest funkcja keypressed dla trybu instancji? –

+0

@BigBenGamerGuyKSPMC Nie jestem pewien, czy rozumiem twoje pytanie. Jest to funkcja 'keyPressed()' niezależnie od tego, czy jesteś w trybie instancji, czy nie. Zwróć też uwagę na moje ostatnie zdanie, które wskazuje, że możesz potrzebować tego w wielu funkcjach. –

+0

Nieważne, wymyśliłem to. Nadal jestem noobem na p5: (... jego p.keyPressed –

Powiązane problemy