2016-05-28 8 views
0

Ich versuche, Multiplayer zu meinem Snake-Spiel hinzuzufügen, so dass zwei Spieler um konkurrieren können die meisten Äpfel zu bekommen. Mein aktuelles Dilemma ist: Wie gehe ich mit einer Session um, in der die beiden Spieler mit unterschiedlichen Auflösungen spielen? Die Sache ist, dass das Schlangenspiel derzeit kein Gitter verwendet. Ich möchte sicherstellen, dass unabhängig von die Auflösung die Zeit, die es für den Remote-Player benötigt, um den Apfel zu erreichen, die gleiche Zeit ist, die es für den einen im sehen auf meinem Bildschirm braucht!Auflösung Scaing für Online-Snake-Spiel

Ich hoffe, Sie verstehen mich, wenn nicht bitte zögern Sie nicht, Fragen zu stellen. hier ein Bild von dem Spiel ist: http://postimg.org/image/js8bs4w0b/

Antwort

1

Sie benötigen ein Messsystem, implementieren und die Geschwindigkeit der Schlange auf diesem System zum Beispiel reist stützen, ein Rechteck mit 30x40 Blöcke vorstellen, bewegt sich die Schlange in 1 Block Alle paar Sekunden, egal wie groß der Block im wirklichen Leben ist, passt sich die Geschwindigkeit der Schlange an die Blockpositionen auf dem Spielbildschirm an.

+0

ok ich denke ich bekomme es! hier ist das Ding. die Schlange bewegt sich mit einem Pixel pro Sekunde, aber um sie schneller zu machen, iteriere die Geschwindigkeit 6 Mal in einer 60fps Gameloop. Wenn ich sagen kann, dass ich eine Auflösung von 1920 * 1080 habe und Player 2 eine Auflösung von 1366 * 768 hat, weiß ich irgendwie wie man es skaliert, so dass er mit einer Geschwindigkeit relativ zu meiner reist. aber das scheint nicht so gut zu funktionieren. . Würde es Ihnen etwas ausmachen, mir einen einfachen Pseudocode zu geben =)? Ich möchte wirklich, dass das funktioniert! –

+0

was denkst du darüber, dass du vielleicht so tust: wenn ich die x- und y-koordinaten vom remote-player bekomme, muss ich sie vielleicht mit meiner auflösungsskala multiplizieren, bevor ich sie auf meinen bildschirm übersetze !! ?? –

+0

@Eudy Contreras: Sie würden Blöcke hin und her passieren. Stellen Sie sich Ihren Bildschirm als zweidimensionales Array vor. Wenn der Schlangenkopf in Block [4] [5] ist, dann zeichnest du den Schlangenkopf in Block [4] [5]. Ihr Zeichencode würde die Größe des Blocks kennen. Es könnte 45 x 45 auf Ihrem Bildschirm und 32 x 32 auf seinem Bildschirm sein. Auf diese Weise muss sich nur der Zeichencode um x, y-Koordinaten kümmern. Alle Nachrichten hin und her sind in Blöcken. –