Воскресенье, 22.12.2024, 17:15
Главная Регистрация RSS
Приветствую Вас, Гость
Поиск по сайту
Авторизация

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

Game Maker 8.1
Классика. Идеально подходит для создания простых 2D игр на PC. Требует активации.
Game Maker for Mac
Абсолютно та же программа, но только для пользователей Mac. Требует активации.
Game Maker Studio
Самая новая версия с возможностью кроссплатформенной разработки. Бесплатна.
Топ 5 игр
Агент Green 4.2 / 5.0
FeDo 4.2 / 5.0
To Mars: Sec... 4.2 / 5.0
To Mars+MapE... 3.9 / 5.0
Paintball 3.8 / 5.0

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

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



На сайте: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Разработка игр

Делаем игру платформер .

Всем привет начинаем делать игру :
Если что вот ссылка на пример; http://gamemaker.ucoz.com/load/8-1-0-100
Так всё начинаем -

Делаем простую игру платформер !
Рисуем спрайт игрока назвали его player и нарисовал блок назвал его bloc .Всё со спрайтами пока закончили переходим к объектам создаем объект Player и Bloc . В объекте блока ставим галочку на твёрдый . теперь переходим к нашему игроку и в step пишем такой код:

if(place_free(x,y+1)){
gravity=0.7
gravity_direction=270
}else{
gravity=0
}

if vspeed>7 then vspeed=7

if(collision_line(x,y,x,y+18,Bloc,1,0)){
ffri=0.07
}else{
ffri=0.2}

if(keyboard_check(vk_left)){
spd-=0.5}
if(keyboard_check(vk_right)){
spd+=0.5}

if(spd<-max_spd){
spd=-max_spd}
if(spd>max_spd){
spd=max_spd}

if(abs(spd)<0.25){spd=0}

if(spd>5){
vdis_max=spd+2
}else{
vdis_max=7}

if(spd<>0){var i;
for(i=0;i<vdis_max;i+=1)
if place_free(x+spd,y - i){
x+=spd;
y-=i;
if place_free(x,y+1)
if !place_free(x,y+vdis_max+1)
for(i=0;i<vdis_max+1;i+= 1){
if !place_free(x,y+i){
y+=i-1;
break;}}
break;}
spd=sign(spd)*max(0,abs(spd)-ffri)
}

Теперь создаём событие greate и там пишем такой код :

gravity=0.7
spd=0
max_spd=7
vdis_max=7
ffri=0.2

теперь делаем событие end step и там пишем такой код :

if!place_free(x,y){ while(!place_free(x,y)){y-=4}}

теперь делаем столкновение с блоком и пишем такой код :

if(vspeed < 0) move_contact_solid(90,12)
else move_contact_solid(270,12)
vspeed=0;

Теперь вставляем наши объекты в комнаты и проверяем …. Но наш игрок не прыгает  !! Исправим то !! делаем событие нажатие кнопки up то есть press up и там пишем код :

if(!place_free(x,y+1))or(collision_line(x,y,x,y+18,Bloc,1,0))vspeed=-12

Внимание вы наверное заметили что во многих кодах присутствуют Bloc и Player
Если вы назвали стену по-другому то пишите её имя . Если игрока назвали по-другому пишите как назвали .

Урок закончен . Продолжение следует .

Делаем платформер 2 !

Так рисуем спрайт Врага называем vrag

Создаём объект Vrag

Теперь в Step врага пишем

if place_free(x,y+1)
gravity = 0.4
else
gravity = 0
if vspeed > 12
vspeed = 12

if hp < 1
{
instance_destroy();
with weapon
instance_destroy();
}

В begin step пишем

if distance_to_object(Player) < 200
if x < Player.x
{
hspeed=3
}
if distance_to_object(Player) < 200
if x>Player.x
{
hspeed=-3
}
if distance_to_object(Player) > 200
{
hspeed=0
}
При столкновение с объектом блок пишем код

move_contact_solid(direction,12)
vspeed = 0

ВСЁ. Урок окончен !!!:)) СПАСИБО ЗА ВНИМАНИЕ !!

Автор igrodel .E-mail stasdavos1@gmail.com

Пример качать здесь :http://gamemaker.ucoz.com/load/8-1-0-100

Источник: http://gamemaker.ucoz.com/load/8-1-0-100
Категория: Разработка игр | Добавил: Igrodel (11.05.2012) | Автор: платформер-урок E
Просмотров: 4883 | Комментарии: 5 | Рейтинг: 4.4/5
Всего комментариев: 5
5 maindimagame   (19.01.2013 14:49) [Материал]
я оцениваю так    biggrin 90      angry 10

4 maindimagame   (19.01.2013 14:48) [Материал]
[object Object][object Object][object Object][object Object]

3 Gracio001   (25.12.2012 13:33) [Материал]
Gracio001 Добавь в событие create у врага код:
hp=5//там по твоему усмотрению (хоть 10, хоть 1000)
и на будущее запомни, hp - здоровье врага. можешь потом добавить health-bar и т.д. wink

2 igrodel2   (24.12.2012 19:19) [Материал]
___________________________________________
ERROR in
action number 1
of Step Event
for object vrag:

Error in code at line 8:
if hp < 1
^
at position 5: Unknown variable xp

вот! angry angry angry

1 igrodel2   (24.12.2012 19:18) [Материал]
Ошибка выходит angry angry angry angry angry

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