2017-09-06 23 views
0

ich die folgende Update-Funktion erhalten haben:Phaser mouseTap Eventlistener

function update() { 
    game.input.onTap.add((pointer, doubleTap) => { 
    console.log(this.input.x) 
    console.log(this.input.y) 
    }) 
} 

dies funktioniert gut, aber wenn ich auf Konsole aussehen, nachdem sie in einem Klick (20, 52) Ich sehe: 20 52 20 52 20 52 20 52 20 52 usw. mindestens 200 mal. Ich möchte die Tastatureingabe für ein bestimmtes Raster (Sudoku) aktivieren, wenn Sie auf einen bestimmten Fall klicken. Wird das ein Problem sein? Oder kann ich einfach

let case = cases[input.y*9+ input.x] // Here I don't multiply the inputs properly (cases are not 1px wide) 

schreiben und dann Tastatureingabe aktivieren?

+0

Ich bin verwirrt, was die spezifische Frage ist. Möchten Sie wissen, warum Sie den Standort mehrmals abrufen oder wie Sie die Tastatureingabe aktivieren? Wenn Letzteres, bin ich verwirrt, wie Ihr zweiter Codeblock damit verknüpft ist. –

Antwort

0

Um zu beantworten, was ich glaube, ist Ihre Frage, weshalb Sie so viele Elemente in der Konsole sehen, in Ihrem Zustand update Sie fügen dem Spiel eine Eingabe hinzufügen Handler für die onTap Ereignis.

Wie Sie in the official On Tap demo sehen können, müssen Sie nur den Handler ein einziges Mal pro Zustand an, in der Regel als Teil create wenn Sie es wollen sofort verfügbar sein.

Verschieben Sie Ihren Code auf create() oder auf andere Weise sollte diese Konsole Protokollprobleme beheben.