пятница, 9 ноября 2012 г.

Создание 3D платформера.



Исходя из некоторых событий и прошлых моих уроков - я решил написать статью о создании 3D платформера. В чем же будет заключаться 3D? Только в том что пространство по которому будет бродить игрок - будет объемным, как любая собственно 3D игра:

Различия 3D и 2D игры:

На предыдущем изображении видно как может измениться простенькая игра в 3D режиме. Ну меньше слов больше дела! Приступим.

Создайте пару спрайтов: sprite0 - игрок, sprite1 - стена. Кстати, желательно создавайте спрайты стандартного размера(32x32).


Со спрайтами разобрались. Создайте объект player и напишите в событие Createследующий скрипт:

//3D вход
d3d_start()
d3d_set_hidden(true) //Это важно если не хотите попортить графику
d3d_set_perspective(true) //Перспектива не менее нужна нам! 
draw_set_color(c_white) //Цвет обрисовки как обычно: белый
//Кстати, со цветами не экспериментируйте! Толка нету!
texture_set_interpolation(true);

Кстати, поскольку комментариев в программе много, я пометил их зеленым цветом... впервые.

В общем все идет по плану предыдущих уроков, добавьте событие Draw для нашего единственного пока-что объекта. В это событие напишите еще один скрипт, который собственно и нарисует нам игрока:

d3d_set_projection(x,y,700,x,y,0,0,-100,1); //Захват камеры над игроком
d3d_draw_floor(x-16,y-16,0,x+16,y+16,0,sprite_get_texture(sprite1,image_index),1,1);//Прорисовка игрока в виде "пластинки" 

Ну с игроком разобрались. Своеобразная "пластинка", в дословном переводе "крыша" вместо игрока имеется. Огромным преимуществом такой графики можно назвать то, что Параметры X и Y никаким образом не меняются своими назначениями, как в 3D шутере из прошлого урока. Y - верх-низ, X-лево-право. Ну а Z-отдаленность объекта.

Ну о этом поговорили. Создадим теперь блок по которому можно прыгать, как в обычном 2D платформере. Для этого создаем объект wall и в событие Draw пишем скрипт:

d3d_draw_block(x-16,y-16,-16,x+16,y+16,16,sprite_get_texture(sprite0,0),1,1)//Прорисовка стены в виде куба

Вот и все! Растравляем объекты в нужном порядке, добавляем например движения или физику игроку и все готово! Удачи в ваших будущих играх!

Комментариев нет:

Отправить комментарий