• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Javascript Touch-Events

Gykonik

Mitglied
Ich habe da mal eine Frage...
Es geht um ein Pong-Spiel, welches ich mit einem Handy steuerbar machen möchte mit folgendem Code (nur die Handysteuerung):
Code:
        addEvents: function () {
            Game.addEvent(document.getElementById("RahmenFuerPong"), 'touchstart', this.onTouchDown.bind(this));
            Game.addEvent(document.getElementById("RahmenFuerPong"), 'touchend', this.onTouchUp.bind(this));
        },

        onTouchUp: function(ev) {
            this.game.onkeyup(76);
            this.game.onkeyup(80);
            this.game.onkeyup(65);
            this.game.onkeyup(81);
        },

        onTouchDown: function(ev) {
            ev.preventDefault();
            var touch = ev.touches[0];

            var touchOffsetY = touch.pageY;
            var touchOffsetX = touch.pageX;
            var wc = document.getElementById("RahmenFuerPong").offsetWidth;
            var windowX = window.innerWidth;
            var windowY = window.innerHeight;

            if (!helpthisplaying.playing) {
              if (touchOffsetX < wc/2) { this.game.onkeydown(Game.KEY.ONE); }
              else if (touchOffsetX > wc/2) { this.game.onkeydown(Game.KEY.TWO); }
            } else {
                if (touchOffsetX > windowX / 2) {
                    if (touchOffsetY > windowY / 2) {
                        if (this.game.onkeydown) this.game.onkeydown(76); // Rechts unten
                    } else {
                        if (this.game.onkeydown) this.game.onkeydown(80); // Rechts oben
                    }
                } else {
                    if (touchOffsetY > windowY / 2) {
                        if (this.game.onkeydown) this.game.onkeydown(65); // Links unten
                    } else {
                        if (this.game.onkeydown) this.game.onkeydown(81); // Links oben
                    }
                }
            }
        },

Das geht soweit auch so wie ich das haben möchte, nur das es halt nur mit einem Touch zu gleichen Zeit funktioniert...
Nun wäre meine Frage, wie man es hinbekommt, dass auch 2,3, ... Touches gleichzeitig ausgewertet werden können...


(Prinzip von der Steuerung via Touch ist einfach, gucken ob der Touch links/rechts oben/unten stattgefunden hat
 
Werbung:
Zurück
Oben