Check the new version here

Popular channels

espero les guste

MANUAL DE JUEGOS EN 3D PARA GAME MAKER.


Antes que nada quiero decir que este tutorial lo he hecho gracias al ejemplo de 3D básico que trae GM7, yo nada mas lo transcribí a tutorial xD

Crear un objeto, a este objeto le vamos a poner de nombre “obj_wall_basic”. Le ponemos un draw con un código, el código tiene que ser:

Código:
{

d3d_draw_wall(x1,y1,z1,x2,y2,z2,tex,1,1);

}



Después un objeto “obj_wall1_hor” que va a hacer nuestra pared horizontal, en este objeto ponemos un create donde ponemos otro código, en este código debe estar lo siguiente:
Código:
{

x1 = x-16;

x2 = x+16;

y1 = y;

y2 = y;

z1 = 32;

z2 = 0;

tex = background_get_texture(texture_wall);// Es la textura que tenesmos en background

}


Despees de eso, le ponemos un parent con el primer objeto que creamos.
Volvemos a crear un objeto, esta vez, va a hacer nuestra pared vertical “obj_wall1_vert”, ponemos un create y este código:
Código:
{

x1 = x;

x2 = x;

y1 = y-16;

y2 = y+16;

z1 = 32;

z2 = 0;

tex = background_get_texture(texture_wall);

}


Le ponemos un parent con el primer objeto que tenemos.

Después ponemos otro objeto que va a hacer nuestro personaje, “obj_player”, Le ponemos un create y el siguiente código:
Código:
{

friction = 0.2;



// initialize 3D

d3d_start();

d3d_set_hidden(true);

d3d_set_lighting(false);

d3d_set_culling(false);

// interpolate textures

texture_set_interpolation(true);

}


Después ponemos una colisión con nuestro primer objeto, o sea “obj_wall_basic”, y ponemos en un código script lo siguiente:
Código:
{

speed = 0;

}


Después un evento KEYBOARD left con el código:
Código:
{

direction += 3;

}



Un evento KEYBOARD Up con el código:
Código:
{

if (speed < 2) speed = min(2,speed+0.4);

}

Un evento Keyboard Right con el código:
Código:
{

direction -= 3;

}

Un evento KEYBOARD down con el código:
Código:
{

if (speed > -2) speed = max(-2,speed-0.4);

}

Y por ultimo un evento Draw con el código:
Código:
{

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



draw_set_alpha(1);

draw_set_color(c_white);

d3d_draw_floor(0,0,0,640,480,0,background_get_texture(texture_floor),24,18); // es la textura del piso, siempre debe estar en background

d3d_draw_floor(0,0,32,640,480,32,background_get_texture(texture_ceiling),16,12); // es la textura del techo, siempre debe estar en background

}


Después de todo esto, armamos un room con los objetos de paredes y el personaje, puede quedar algo así:


Siempre tenemos que poner imágenes para identificar cada objeto en el room, a continuación, los usados en este tuto:


Pared horizontal.


Pared vertical.


Objeto personaje.


MI FUENTE ES

HTTP://WWW.WEBCODIGO.COM
0
0
0
0
0No comments yet