3D Shooter Tutorial (geht mit GM8 und GM7)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • 3D Shooter Tutorial (geht mit GM8 und GM7)

      Bevor ihr anfängt der 3D modus geht nur mit Pro

      vieleicht haben ja welche das problem mit nem shooter ihm 3D style das man mit maus controliert aber jetzt hab ich ein kleines tutorial gemacht und das ist wirklich ein aufwand gewessen aber egal (da sind keine enemys dabei)

      also ihr macht 4Sprites player, waffe, wall_ver, wall_hor ihr macht sie mit der 2dicke ein strich und fertig, backgrounds sind floor(boden), roof(wie es oben aussieht und noch eine wall die sollte aber gescheit aussehen also kein strich

      Also wir starten mit der Wall also ihr macht die wall zum object und macht draw macht excute a piece of code und schreibt rein

      GML-Quellcode

      1. d3d_draw_block(x-16,y-2,0,x+16,y+2,64,background_get_texture(wall),1,1);


      und dann macht ihr ein duplicate der wall ändert denn andren wall sprite und fertig sind die walls

      Also zum Player:

      zuerst macht ihr Create und macht rein set coursor bei extras, und dann kommt der code rein

      GML-Quellcode

      1. d3d_start();
      2. draw_set_color(c_white);
      3. z=20;
      4. pitch=0;


      Macht noch set friction rein (bei move) und schreibt rein 0.4 und KEIN Relativ

      jetzt step:

      schreibt denn code rein

      GML-Quellcode

      1. direction -= (display_mouse_get_x() -display_get_width()/2)/10;
      2. pitch += (display_mouse_get_y() -display_get_height()/2)/10;
      3. pitch = max(min(pitch,100),-100);
      4. display_mouse_set(display_get_width()/2, display_get_height()/2);


      Das war step jetzt kommt collision mit denn walls:
      macht wieder ein code und schreibt rein:

      GML-Quellcode

      1. x=xprevious;
      2. y=yprevious;


      dann das gleiche bei der andren wall

      A oder Pfeiltaste Links:
      kommt der code rein

      GML-Quellcode

      1. {
      2. var xn,yn;
      3. xn = x - sin(direction*pi/180);
      4. yn = y - cos(direction*pi/180); { x = xn; y = yn; }
      5. }


      D oder Pfeiltaste Rechts
      kommt der code rein (das ist ein andrer)

      GML-Quellcode

      1. {
      2. var xn,yn;
      3. xn = x + sin(direction*pi/180);
      4. yn = y + cos(direction*pi/180); { x = xn; y = yn; }
      5. }


      S oder Pfeiltaste runter kommt eine variable rein mit variable: speed und bei value: -5 (5 könnt ihr auf 3ändern oder irgend ne andre zahl)
      bei W oder Pfeiltaste hoch kommt auch ne variable mit speed aber nicht mit -5 sonder 5

      Jetzt noch Draw:
      mit dem code:

      GML-Quellcode

      1. d3d_set_projection(x,y,z,x+cos(direction *pi/180),y-sin(direction*pi/180),z-sin(pitch*pi/180),0,0,1);


      Jetzt noch ein object erstellen mit dem namen obj_floor_roof

      Macht draw und schreibt denn code rein:

      GML-Quellcode

      1. d3d_draw_floor(0,0,0,room_width,room_height,0,background_get_texture(floor),24,24);
      2. d3d_draw_floor(0,0,64,room_width,room_height,64,background_get_texture(roof),12, 12);


      stellt alle objecte in einen raum rein und startet, bis jetzt siehts gut aus, also kommen wir zu der waffe

      Also macht die waffe zum object

      Macht create und schreibt denn code rein:

      GML-Quellcode

      1. {
      2. image_speed = 0;
      3. image_index = 0;
      4. can_shoot = true;
      5. }


      macht global mouse jetzt und wählt left button(halten) oder left pressed(1klick) macht dann ein code rein:

      GML-Quellcode

      1. {
      2. {
      3. image_speed = 0.4;
      4. image_index = 0;
      5. var xx, yy, ii;
      6. xx = global.camx;
      7. yy = global.camy;
      8. repeat (50)
      9. {
      10. xx += 4*global.camcos;
      11. yy -= 4*global.camsin;
      12. ii = instance_position(xx,yy,obj_); //ihr nehmt euer enemy object hinein wenn ihr wisst wie das geht object rein wo (xx,yy,hier dein object)
      13. if (ii == noone) continue;
      14. with (ii) instance_destroy();
      15. break;
      16. }
      17. break;
      18. }
      Alles anzeigen


      dann noch Draw und denn code rein:

      GML-Quellcode

      1. {
      2. d3d_set_projection_ortho(0,0,640,480,0);
      3. d3d_set_hidden(false);
      4. draw_sprite_ext(Maschinengewehr,-1,0,480-256,2,2,0,c_white,1);//wo Maschinengewehr ist nehmt ihr euer Waffen sprite also z.B.(schrotflinte,-1,0,480-256,2,2,0,c_white,1)
      5. draw_set_alpha(0.4);
      6. draw_set_alpha(1);
      7. d3d_set_hidden(true);
      8. }


      Das wars jetzt hoffentlich hats euch gefallen, bei errormeldungen einfach kommentar schreiben und beantworte schnellst möglich aber sonst :fresse:
    • zuerstmal schreib noch rein, dass man noch backgrounds für dach und boden machen muss und:

      ___________________________________________
      FATAL ERROR in
      action number 1
      of Mouse Event for Glob Left Pressed
      for object obj_waffe:

      COMPILATION ERROR in code action
      Error in code at line 19:

      ^
      at position 1: Symbol } expected.

      ?( ?( ?(