Hallo und guten tag,
Heute ist mein neues Tutorial "3 Dimensionales Kamera erstellen und mit Bullet schießen + Chat". Ihr wisst alle, was ein 2 Dimensionales ist. Mit einem 2D-Einstellungen arbeitet man mit einem "x,y" Koordinat. Diese zeichnen einen Bild dass man keine Bodenfläsche-oder untere fläsche sieht. Das heißt, das der Bild einfach einen strich von 4-ecken hat. Einen 3 Dimensionalen dazu, besitzt auch die gleichen Koordinaten nur dass ein 3 Dimensionales einen "Z-Achse-" besitzt. Das ist dafür, um die höhe zu bestimmen. Damit man das höhe zeichet, muss man bei einem 3 Dimensionalen mit Z-Achsen arbeiten.
Dieses Tutorial besitzt:
Spoiler anzeigen
- 39DLL Multiplayer
- 3 Dimensionales spiel + eine Kamera an dem anderen Spieler (sehen)
- Bullet schießen und der other_player wird berührt
- Chat (Chaten mit dem spielern netzwerk)
- Andere Features
Bevor das Tutorial anfängt Bemerkung: Einen Guten Deutsch habe ich nicht, darum werde ich somöglich wie gut, das Tutorial gut erklären. Das ist eigentlich für Anfänger/Fortgeschrittene gedacht. Auch im Example.gmk, habe ich im manschen Fällen die Drag&Drop genommen, also nicht denken dass warum ich drag&drop benutze,.......
Ersteinmal um eine Verbindung dazu zu machen, müssen wir die 39DLL herunterladen und eine Verbindung zwsichen Server+Client erstellen. ( Server + Client ) sind auf dem gleichen spiel. Das heißt, mann braucht keine 2 GameMaker Files, sondern nur eine.
obj_server_controller:
Alles anzeigen
Jetzt besitzen wir eine Verbindung der dieses Object alles steuert. Jetzt kommen die "Eintreten & Hosten"
Alles anzeigen
Jetzt haben wir auch schon die Verbindungen. Jetzt kommt auf uns die Z-Achse, um den Spieler zu zeichnen. Ich habe das in dem Example als Skript schon erstellt, aber auf dem obj_spieler kommt jetzt die "d3D" Funktion, undzwar:
Alles anzeigen
So, das d3d wurde gezeichnet. Aber es ist immernoch nicht fertig, undzwar geht es weiter:
Dann geht es weiter mit dem Z-Achse (hier zeichnen wir den spieler):
Alles anzeigen
Download: Muss von der Webseite heruntergeladen werden, da der über 1,05 MB groß ist...Aber es ist ein Direkter Download Klick hier einfach! greenw.npage.de/
Alles andere sieht ihr dann auf der Example.gmk. Dort sind dann auch alles vollständig, (bullet, Chat...) Ich hoffe das alle mich verstanden haben. Auch mit dem GameMaker sind 3 Dimensionale spiele möglich. Jedenfalls Multiplayer-spiele. Wie auch immer, viel glück noch! :)
Heute ist mein neues Tutorial "3 Dimensionales Kamera erstellen und mit Bullet schießen + Chat". Ihr wisst alle, was ein 2 Dimensionales ist. Mit einem 2D-Einstellungen arbeitet man mit einem "x,y" Koordinat. Diese zeichnen einen Bild dass man keine Bodenfläsche-oder untere fläsche sieht. Das heißt, das der Bild einfach einen strich von 4-ecken hat. Einen 3 Dimensionalen dazu, besitzt auch die gleichen Koordinaten nur dass ein 3 Dimensionales einen "Z-Achse-" besitzt. Das ist dafür, um die höhe zu bestimmen. Damit man das höhe zeichet, muss man bei einem 3 Dimensionalen mit Z-Achsen arbeiten.
Dieses Tutorial besitzt:
- 39DLL Multiplayer
- 3 Dimensionales spiel + eine Kamera an dem anderen Spieler (sehen)
- Bullet schießen und der other_player wird berührt
- Chat (Chaten mit dem spielern netzwerk)
- Andere Features
Bevor das Tutorial anfängt Bemerkung: Einen Guten Deutsch habe ich nicht, darum werde ich somöglich wie gut, das Tutorial gut erklären. Das ist eigentlich für Anfänger/Fortgeschrittene gedacht. Auch im Example.gmk, habe ich im manschen Fällen die Drag&Drop genommen, also nicht denken dass warum ich drag&drop benutze,.......
Ersteinmal um eine Verbindung dazu zu machen, müssen wir die 39DLL herunterladen und eine Verbindung zwsichen Server+Client erstellen. ( Server + Client ) sind auf dem gleichen spiel. Das heißt, mann braucht keine 2 GameMaker Files, sondern nur eine.
obj_server_controller:
GML-Quellcode
- listen=tcplisten(global.port,10,true) // Port ist auf 10 = tcp
- global.myid=1 // Der spieler(meine/deine) ID ist 1
- //
- sock=tcpaccept(listen,true)
- if sock>0
- {
- inst=instance_create(0,0,obj_server_otherplayer) // der andere der Server hostet
- inst.socket=sock;
- inst.playerid=global.idget;
- global.idget+=1;
- }
- if global.idget>65000 {global.idget=2}
Jetzt besitzen wir eine Verbindung der dieses Object alles steuert. Jetzt kommen die "Eintreten & Hosten"
GML-Quellcode
- global.host=true; // True gesetzt
- global.myid=1 // Wie immer deine ID 1
- instance_create(0,0,obj_server_controller); // erstellt den Object,
- room_goto(room_game); // geht zu dem spiel-raum, nur der Hoster!
- // Bei dem Object_Joinen kommt...
- client_join(); // der Skript, in dem dort:
- server = tcpconnect(get_string("Insert Ip here:","127.0.0.1"), global.port, true);
- if(server <= 0)
- {
- show_message("Unable to connect to server");
- game_end();
- }
- global.server = server;
- global.host=false;
- room_goto(room_game);
Jetzt haben wir auch schon die Verbindungen. Jetzt kommt auf uns die Z-Achse, um den Spieler zu zeichnen. Ich habe das in dem Example als Skript schon erstellt, aber auf dem obj_spieler kommt jetzt die "d3D" Funktion, undzwar:
GML-Quellcode
- fps_cam_init(0.25)
- d3d_start(); // Startet die d3d (Draw 3 Dimensional)
- d3d_set_culling(false);
- d3d_set_hidden(true);
- d3d_set_lighting(false);
- d3d_set_perspective(true);
- texture_set_interpolation(true);
- fr=true;
- global.help_text="";
- instance_create(0,0,obj_chatbox) // erstellt das Chat, kommen wir gleich dazu..
- alarm[1]=30;
- alarm[0]=15;
- playerid=0;
- previous_face_z=face_z
- previous_face_x=face_x
- previous_z=z
- playerdead=false;
- if global.host=false
- {
- case_msg_client_send_playerenter();
- }
- update_chat("Player made")
So, das d3d wurde gezeichnet. Aber es ist immernoch nicht fertig, undzwar geht es weiter:
Dann geht es weiter mit dem Z-Achse (hier zeichnen wir den spieler):
GML-Quellcode
- //draw_text_3d("Hey",z,x+lengthdir_x(20,face_x),y+lengthdir_y(20,face_x),obj_player)
- mytext=argument0
- z_height=argument1 // z-Achse
- xpos=argument2 // x-Achse
- ypos=argument3 // Y-achse
- player=argument4 // spieler als die drei formen (x,y,z)
- d3d_transform_set_identity();
- // x,y,Z wird eingetragen..und eingesetzt
- d3d_transform_add_scaling(0.1,0.1,0.1);
- d3d_transform_add_rotation_x(90);
- //the following would be just for vertical rotation.
- d3d_transform_add_rotation_z(90+point_direction(xpos,ypos,argument4.x,argument4.y));
- d3d_transform_add_translation(xpos,ypos,z_height); // X,Y,Z werden geaddet
- draw_text(0,0,argument0); //
- d3d_transform_set_identity();
Download: Muss von der Webseite heruntergeladen werden, da der über 1,05 MB groß ist...Aber es ist ein Direkter Download Klick hier einfach! greenw.npage.de/
Alles andere sieht ihr dann auf der Example.gmk. Dort sind dann auch alles vollständig, (bullet, Chat...) Ich hoffe das alle mich verstanden haben. Auch mit dem GameMaker sind 3 Dimensionale spiele möglich. Jedenfalls Multiplayer-spiele. Wie auch immer, viel glück noch! :)