2016-05-02 7 views
0

Hallo Jungs, so dass ich ein einfaches Spiel machte, und nach diesem Tutorial HereHalt Modell aus einem Fenster gehen

ich bis zum Bit bin, für die das Schiff außerhalb der Grenzen geht und dann wieder erscheinen auf die andere Seite mit diesem Code:

checkBoundaries: function (sprite) { 
     if (sprite.x < 0) { 
      sprite.x = game.width; 
     } else if (sprite.x > game.width) { 
      sprite.x = 0; 
     } 

     if (sprite.y < 0) { 
      sprite.y = game.height; 
     } else if (sprite.y > game.height) { 
      sprite.y = 0; 
     } 
    }, 

aber ich bin hier und lernen, so habe ich mich gefragt, was der richtige Weg ist, damit er nicht nicht außerhalb der Grenzen gehen, so trifft es wie eine Wand, und es kann nicht gehen außerhalb der Grenzen und wieder erscheinen, aber nur dort bleiben

Dank ag ain für die Hilfe

Antwort

1

Schalten Sie einfach, was für jede Bedingung passiert:

checkBoundaries: function (sprite) { 
     if (sprite.x < 0) { 
      sprite.x = 0; 
     } else if (sprite.x > game.width) { 
      sprite.x = game.width; 
     } 

     if (sprite.y < 0) { 
      sprite.y = 0; 
     } else if (sprite.y > game.height) { 
      sprite.y = game.height; 
     } 
    }, 
+0

Das ist erstaunlich, 1 weitere Frage aright jene, wenn das ist, wie ich die Spitze wollen eigentlich nur berühren, bevor er completey außerhalb der Grenzen geht, wenn Du bekommst, was ich meine, also geht es jetzt bis zum Boom, also muss ich die Höhe ändern oder so? – Nevershow2016

+0

Ja, adjust: 'if (sprite.x <0) {' und '} else if (sprite.x> game.width) {' addiere/subtrahiere jeweils einige Pixel, bis sie korrekt sind. Zum Beispiel: Zuerst versuchen: '' if (sprite.x <10) {'und'} sonst if (sprite.x> game.width - 10) {' –

+0

Erstaunliche Arbeit nochmals danke x – Nevershow2016

Verwandte Themen