Создание 2D шутера с элементами платформера. - Разработка игр - Каталог статей - Game Maker
Пятница, 09.12.2016, 14:32
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Файлы и ресурсы
Топ 5 участников
1. BRESS
Репутация: 221
Сообщений на форуме: 3239
2. Gracio001
Репутация: 181
Сообщений на форуме: 1370
3. Xomafok
Репутация: 164
Сообщений на форуме: 947
4. FarEastKmS
Репутация: 125
Сообщений на форуме: 359
5. aHDp
Репутация: 114
Сообщений на форуме: 755
Топ 5 игр
Agent Green 4.6 / 5.0
Wartime 4.3 / 5.0
FeDo 4.0 / 5.0
Adventures: ... 4.0 / 5.0
Secretive ha... 4.0 / 5.0

Топ игр составлен путем пользовательского голосования.

Если вы не согласны с какой-либо оценкой, примите участие и поставьте свой балл игре. Ваша оценка очень важна для нас ;)
Статистика



На сайте: 3
Гостей: 3
Пользователей: 0
Vicktor_BRO
Просмотров страницы:
1945

Рейтинг материала:

Другие работы автора:
- -

Поиск по сайту
Game Maker
Если вы только-только начали изучать игрострой и еще даже не успели скачать сам Game Maker, предлагаем вам на выбор следующие версии программы:

Game Maker 8.1
Классика. Идеально подходит для создания простых 2D игр на PC. Требует активации.
Game Maker for Mac
Абсолютно та же программа, но только для пользователей Mac. Требует активации.
Game Maker Studio
Самая новая версия с возможностью кроссплатформенной разработки. Бесплатна.
Войти на сайт

Мини-чат
300

Так как чат открыт для всех, просьба отнестись с уважением к другим посетителям и не писать осознанно посты, оскорбляющие кого-либо, содержащие открытую рекламу/спам. Спасибо за понимание! :)
Опрос
Как Вы узнали о нашем сайте?
Всего ответов: 501
Мы в Вконтакте
Главная » Статьи » Разработка игр

Создание 2D шутера с элементами платформера.
Для начала приготовим спрайты для нашей игры. Создадим спрайт как наш игрок стоит, называем его spr_player_stoit и центрируем спрайт возле ног (рис. 1)
-
Создадим спрайт как он идет, называем spr_player_idet и центрируем спрайт возле ног.Создадим спрайт как он прыгает, назовем его spr_player_prigaet и центрируем спрайт возле ног.Ну и конечно же создадим спрайт рук для нашего игрока. Создаем спрайт с названием spr_player_ruki и центрируем его возле начала рук.
Теперь когда спрайты готовы, нам нужно создать маску. Зачем она? Она нужна для того чтобы наш игрок не застревал в разных объектах. Маска выглядит как прямоугольник ростом с нашего игрока и такой же шириной.
Создаем ее называем player_mask и центрируем ее там где у нашего игрока ноги (рис. 2)
-
Также не забудьте сделать спрайт блока на котором будет стоять наш игрок и назовите его spr_block.

Начинаем создавать объекты.
С начало создадим объект блок и назовем его obj_block, применяем ему спрайт spr_block и ставим галочку возле надписи твердый. (рис. 3)
-
Создаем новый объект и называем его obj_player, применяем ему спрайт
spr_player_stoit и в окошке "Маска" выбираем спрайт player_mask. После чего создаем событие Step и в нем пишем:
Код

if place_free(x,y+1) //если внизу свободно
{
gravity=1 // то гравитация равна 1
gravity_direction=270 // падает вниз
sprite_index=spr_player_prigaet // меняется спрайт при падении
}
else // иначе
{
gravity=0 // гравитация равна нулю и игрок никуда не падает
gravity_direction=270
}

Научим нашего игрока ходить. Для этого в Step пишем:
Код

if place_free(x+4,y) // если справа свободно
{
if keyboard_check(ord("D")) // и нажата кнопка D
{
x+=4 // то игрок идет вправо на 4
if !place_free(x,y+1) // если игрок стоит на земле
{
sprite_index=spr_player_idet // включается анимация ходьбы
}
image_speed=0.4 // скорость анимации
}
}

if place_free(x-4,y) // если слева свободно
{
if keyboard_check(ord("A")) // и нажата кнопка А
{
x-=4 // то игрок идет влево на 4
if !place_free(x,y+1)
{
sprite_index=spr_player_idet
}
image_speed=0.4
}
}

if keyboard_check(ord("")) // если никакая кнопка не нажата
{
if !place_free(x,y+1)
{
sprite_index=spr_player_stoit // то включается анимация стойки
}
}

Если вы хотите чтобы ваш игрок ходил на стрелочки, то вместо
Код

if keyboard_check(ord("клавиша"))

вы должны писать
Код

if keyboard_check(vk_клавиша)

Научим нашего игрока прыгать. Для этого в Step пишем:
Код

if !place_free(x,y+1) // если игрок стоит на каком-либо объекте
{
if keyboard_check(ord("W")) // если нажата клавиша W
{
vspeed=-12 // вертикальная скорость равна 12 (ее можно менять)
}
}

Так же нужно написать следующий код чтобы игрок поворачивался в сторону мышки:
Код

if mouse_x < obj_player.x //если курсор слева, то игрок смотрит влево
{
image_xscale=-1
}

if mouse_x > obj_player.x //если курсор справа, то игрок смотрит вправо
{
image_xscale=1
}

С самим персонажем мы закончили.

Теперь займемся его руками.
Создаем объект, называем его obj_player_ruki и применяем спрайт spr_player_ruki. Создаем событие Step и пишем там:
Код

direction=point_direction(x,y,mouse_x,mouse_y) // поворачивает объект
в сторону мыши

image_angle=direction // поворачивает спрайт в сторону мыши

if mouse_x < obj_player_ruki.x // поворачиваются в сторону мыши
{
image_yscale=-1
}

if mouse_x > obj_player_ruki.x
{
image_yscale=1
}

x:=obj_player.x
y:=obj_player.y-155 // делаем так чтобы руки находились возле плеч игрока

Теперь сделаем так чтобы при нажатии кнопки мыши из пистолета вылетали пули. Для этого в объекте ojb_player_ruki создаем событие "нажата глобальная кнопка мыши" (рис. 4)
-
и в step пишем:
Код

instance_create(x,y,obj_bulet)

После чего создаем спрайт называем его spr_bulet и центрируем его. Потом создаем объект 0bj_bulet, применяем спрайт spr_bulet, создаем событие create и пишем там:
Код

move_towards_point(mouse_x, mouse_y, 30);

mouse_x, mouse_y - это координаты в сторону которых будет следовать пуля, 30 - скорость движения пули.

Теперь расставляем все объекты в комнате, кроме пули.

Все наш 2D шутер готов.
-

Скачать пример можно здесь
Категория: Разработка игр | Добавил: Vicktor_BRO (13.06.2014) | Автор: Ивашкин Виктор E
Просмотров: 1945 | Комментарии: 4 | Рейтинг: 4.4/5
Всего комментариев: 4
3 Алексей   (08.08.2014 23:01)
все понятно, только вот я новую версию скачал, там пуля все время за курсором летает, а не в направлении курсора при выстрели можт не move_towards_point (mouse_x,mouse_y,4)

0
4 BRESS   (15.08.2014 11:05)
BRESS Не в то событие запихал, видать )

1 BRESS   (13.06.2014 22:40)
BRESS Ну для первого раза неплохо, пусть звучит это и банально ))

2 Vicktor_BRO   (13.06.2014 23:38)
Vicktor_BRO Надеюсь у меня получилось понятно объяснить как делать игру smile

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]