42 Videos
238 Protokoll
Eine gute Nachricht für Puristen: Das ist das letzte Video, in dem der Code wird diese verschmutzt. Aber zuerst gibt es eine Sache zu überprüfen. Gutschein, jetzt habe ich das Spiel gut, kann ich springen und das alles. Aber die meisten langweilig go Geometrie Dash, wird der Charakter nicht bewegt. Mal sehen, wie wir die bewegen Zeichen auf dem Bildschirm. Um dies zu tun, bevor irgendetwas anderes wird die Kamera ein wenig bewegen, so kann man sehen, dass, wenn ich um 16 seine Eigenschaften ändern: 9, getrennt haben mehr
Spieße, weil ich will, für etwas mehr Platz zu geben, was ich jetzt tun. Ich werde Ihnen zeigen, wie wir den Charakter Zug zu machen tun können, um. Wir hier Spieße und wir sind daran interessiert, den Charakter zu bewegen immer nach rechts. Die Idee, wie sie in der Geometrie Dash ist der Charakter Sprung zu vermeiden, dass die Pinazo nehmen. Wenn Sie die Spitzen berühren müssen wir bedenken, dass der Charakter tot ist und das Spiel ist vorbei. Aber wir müssen einen Weg finden,
machen es zu bewegen. Dazu bietet Box2D im Körper Klasse eine Methode namens setLinearVelocity, durch die wir ändern die Lineargeschwindigkeit eines Körpers. Wir können es als ein Vektor übergeben oder als Komponenten X, Y, aber irgendwie können wir mit der momentanen Geschwindigkeit Spieler spielen oder jede andere Stelle zu einer bestimmten Zeit. In meinem Fall möchte ich die Geschwindigkeit oder X X Geschwindigkeitskomponente immer anpassen
nach rechts zu bewegen. Und Geschwindigkeit mich, weil berühren sie nicht interessiert, wenn wir tun, ist Sprungimpulse oder Kräfte, die Veränderung bewirken vertikale Geschwindigkeit, denn es ist die einzige, die ich spiele, so sollte es bleiben, wie es die vertikale Komponente ist. Ich kann nur die horizontale ändern. Das ist nicht schwer zu bekommen, bekomme ich den Wert der Geschwindigkeit und getLinearVelocity, und dann mit diesem Parameter die horizontale Geschwindigkeit zu ändern
und legte 8 m / s, die vertikale Geschwindigkeit beibehalten, diesen Moment befasst zu bleiben, weil, wie ich sagen, dass ich nicht kümmern. Unter dem Sprung und die Aktualisierung der Welt Dies wird die ganze Zeit zu ändern und wollen nicht zu berühren. Aber mit dieser Änderung, den Charakter und die Bewegung. Sie sehen? Das einzige Problem ist, dass es sehr schnell geht. Ich behandle diese Kollision zu treffen, wenn Sie in Bewegung zu stoppen, weil es keine Gnade hat. Wir haben schon verloren, keinen Sinn. So unter Ausnutzung
Dies ist das letzte Video vor cleaning'll Chaos noch mehr und wird eine Variable namens joeVivo vorstellen, uns zu sagen, ob er noch am Leben ist oder nicht. Während noch am Leben, können wir in Bewegung zu halten. So, jetzt kann ich diesen Code in einen Scheck setzen, so dass jetzt nur noch, wenn am Leben zu bewegen, und was ich tun kann, ist ein weiterer Kontakt, um sicherzustellen, dass irgendwie mit einem Spieß kollidierte, und wenn Sie ein Spieß traf die Animation stoppen
Joe und stellen Sie sicher, am Leben zu sein. Auch hier könnte ich mit Variablen dieser Art tun, aber sauberer zu überprüfen, dies durch eine Userdata Formen ist. Mit ihnen haben wir ein beliebiges Objekt zu etwas Box2D zuordnen kann, ist ein Körper, eine feste Größe ... für sie, die Körper haben immer ein Feld namens Userdata. Wir können es mit getUserData bekommen, oder zu modifizieren setUserData. Und wie Sie sehen, können Sie ein Objekt, etwas zu verbringen. Danke dafür,
wir können jedes Objekt assoziieren, was auch immer es ist, und das bekommen, was wir Kollisionen zu erhalten und verwalten können. In meinem Fall werde ich ihn Strings übergehen zu lassen, um festzustellen, welche Art oder Kategorie ist alles. Zum Beispiel kann ein Spieler sein minijoeBody gehen, sueloBody wird eine Etage oder pinchoBody ein Spike sein. Nun, ich denke, wie ich Kollisionen mit Befestigungen zu machen, müssen an Ort und Stelle zu ändern,
Die Geräte, nicht der Körper. Also lassen Sie diese Änderung Fixture ... Und nun die Fixture minijoe ist ein Spieler, der im Erdgeschoss und eine Spieß eine Spitze. Und jetzt kann ich mehr elegant zu sehen, diesen Code zu aktualisieren: wenn fixtureA.getUserData () gleich ( 'Player') && fixtureB.getUserData () gleich ( 'Floor'), .. oder umgekehrt, wissen Sie. die Befestigung A, seine Userdata ist Boden und Fixture B, Ihr Userdata ist Spieler. Ich lasse dies, wie es war, machen einen Lauf, und ich zeigen, wie
stoppen, wenn Sie abstürzen. ... Okay, sorry, wenn ich, dass wir nicht offensichtlich springen kann nicht überprüfen. Schauen Sie, was gut gesprungen ist. Okay, so werden wir das gleiche tun, aber jetzt wechselnden Boden Instanzen von Spike. Und wenn der Spieler verursacht Kollision mit einem Spieß wird joeVivo auf false gesetzt. Das heißt, es nicht mehr bewegt. Die Ergebnisse sind sofort, der Augenblick, in dem ich einen gefälschten setzen und nicht die Geschwindigkeit aktualisiert wird und stecken bleibt. Dies ist eine gute Zeit, um zu zeigen,
ein Bildschirm-Set 'Sie verloren' oder etwas zeigen, die sagt, Sie verloren haben, ein Geräusch ertönt. Dies ist eine Möglichkeit, Ihnen beizubringen, wie man mit Geschwindigkeit zu spielen. Sie sehen, das ist augenblicklich. Das Gleiche gilt für einen kleinen Sprung, aber es bewegt sich nicht. Dies ist, wie wir die Kollisionen zwischen den Spikes machen kann die Bewegung des Spielers zu stoppen. Beginnen Sie diese ein wenig zu organisieren, weil ich Scene2D integrieren.
Über den Autor
Biografie: Analyst-Programmierer in verschiedenen Sprachen. Tutor PREMIUM-Plattformen weltweit als CodigoFacilito anerkannt. Editor Cristalab Artikel. Mein YouTube-Kanal wird von der ANAYA und LaTostadora Verlag gefördert. Ich mag im Detail und geben einige Beispiele für die Vermeidung von Missverständnissen zu erklären.