Суббота, 21 Декабря 2024, 17:38

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [358]
Статьи об общих понятиях связанных с созданием игр.
Программирование [84]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [149]
Статьи о программах для создания игр, уроки и описания.
Софт [44]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [17]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [169]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [133]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Как вы относитесь к созданию игр без программирования?
Всего ответов: 10486
Главная » Статьи » Создание игр

Как создать 3d игру в Game Maker 8 pro
Итак, сегодня я покажу вам, как сделать 3D игру в game maker PRO.Если у вас нет PRO версии, то купите её, если нет денег, то читать эту статью без полезно.Приступим.Создадим объект камеры(obj_cam).Создадим событие Create и прописываем вот такой код:
Code

d3d_start();\\Включаем 3D
draw_set_color(c_white);\\Наш фон если хотите другое окружение, то пишите после c цвет(c_blue например)  
z=20;  
pitch=0;  

Теперь можно приступить к иконкам, перетаскиваем в Create(всё тот-же)
Кнопку Set Friction (с двумя стрелочками в право) и присваиваем значение 0.4 . Добавляем еще кнопку Set Cursor(нарисован курсор). Там ничего не делаем.
Теперь делаем событие Step, и прописываем:
Code

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

Теперь создадим событие Влево.Как всегда прописываем:
Code

{  
  var xn,yn;  
  xn = x - sin(direction*pi/180); //Заставляем двигаться персонажа налево по x
  yn = y - cos(direction*pi/180); //Заставляем двигаться персонажа налево по y
  { x = xn; y = yn; } //x=xn и y=yn
}  

Делаем событие кнопка вверх, добавляем кнопку с надписью VAR(там же где и прописываем код)
В первой строке пишем:
speed
Во второй
5
Делаем событие Направо и прописываем:
Code

{  
  var xn,yn;  
  xn = x + sin(direction*pi/180); //Заменяем на +(теперь он двигается вправо)
  yn = y + cos(direction*pi/180); //Тоже самое
  { x = xn; y = yn; } //x = xn и y = yn(опяять)
}  

Делаем событие клавиши вниз;
Делаем тоже самое что и с вверх, только во второй строке -5.
Делаем событие Draw и вставляем вот такой код:
Code

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

C obj_cam дело покончено(но не на весь урок :D), но теперь создадим ещё один объект под именем obj_floor.
Приготовим текстуры для потолка и пола.Вот что я нагуглил:
Потолок, можно нарисовать просто белый цвет.
Пол:https://www.google.ru/search?num=10&hl=ru&newwindow=1&site=imghp&tbm=isch&source=hp&biw=1360&bih=624&q=Текстура+пола&oq=Текстура+пола&g
Пола очень много, выбирайте, сохраняйте и загружайте!
Теперь переименуем их в floor и roof.
В obj_roof отмечаем галочкой solid и делаем событие Draw;
Прописываем:
Code

d3d_draw_floor(0,0,0,room_width,room_height,0,background_get_texture(floor),24,24);\\Это рисуется пол  
d3d_draw_floor(0,0,64,room_width,room_height,64,background_get_texture(roof),12,12);\\Это рисуется потолок  

С полом и потолком, закончили осталось 2 объекта: hor_wall и ver_wall.
Но переходим опять к MrGoogle и выбираем текстуру стены по этой ссылке:
https://www.google.ru/search?num=10&hl=ru&newwindow=1&site=imghp&tbm=isch&source=hp&biw=1360&bih=624&q=Текстура+стены&oq=Текстура+стены&gs_l=img.3..0l2j0i24.
Сохраняем, грузим.
Теперь создадим ver_wall и hor_wall.
Делаем оба твёрдыми.
В обеих делаем событие draw, в hor_wall пишем:
Code

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

В ver_wall мы пишем ПРАКТИЧЕСКИ тоже самое:
Code

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

Теперь опять открываем obj_cam и делаем 2 события Colussion, одно с ver_wall, другое с hor_wall и прописываем в обеих
Code

x=xprevious;  
y=yprevious;  

Теперь создадим комнату и в углу перетащим obj_floor. obj_cam ставим там где хотите старт, а hor_wall и ver_wall, ставим как стены(hor_wall горизонтальная стена, а ver_wall вертикальная)
Заходим в игру и видим творение.
Комментируйте!
Спасибо за внимание!
Категория: Создание игр | Добавил: Gcuper (25 Августа 2012)
Просмотров: 17560 | Комментарии: 14 | Рейтинг: 3.8/8 |
Теги: Game Maker Pro, Как создать игру, GML, как создать 3D игру, GM, Game Maker, GM8, Pro, gm 8 pro, Code
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Как создать 3d игру в Game Maker 8 pro», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 14
+0-
14 id0   (21 Марта 2014 00:33) [Материал]
id0без полезно facepalm

+0-
12 Cpt_Flash   (04 Октября 2012 14:56) [Материал]
Cpt_FlashДавай по новой переделай, и с обьяснениями.

+-2-
8 arrow25   (12 Сентября 2012 07:07) [Материал]
arrow25хотя нет это кто то парсит все что есть на gcup

+4-
7 arrow25   (12 Сентября 2012 07:03) [Материал]
arrow25копипаст отсюда

+-3-
9 Gcuper   (21 Сентября 2012 18:43) [Материал]
GcuperОхх... Как меня это достало, когда копируют мою статью на другой сайт.Фэйспалм, и не инначе biggrin biggrin

+-3-
10 Gcuper   (21 Сентября 2012 20:03) [Материал]
GcuperЯ НЕ КОПИРОВАЛ РЕАЛЬНО!!!! angry angry angry angry angry angry angry angry angry angry angry angry angry angry angry angry angry angry angry

+-3-
11 Gcuper   (21 Сентября 2012 20:03) [Материал]
Gcuperнуб

+0-
13 WhoAmI   (04 Января 2013 19:26) [Материал]
WhoAmIне уверен но всё-таки надежда есть... такой нуб не сделал бы этого happy

+1-
5 Gcuper   (27 Августа 2012 20:59) [Материал]
Gcuper//Люди, опять пишу, что я новичок.
//В следующих статьях буду писать комментарии. smile

+5-
6 GameMix   (28 Августа 2012 06:19) [Материал]
GameMixЕсли код писал сам, обдумывая каждую строку, то и комменты написать для тебя не составит труда. Так напиши же их, но не в теге с кодом, а ниже, как описание сделанного.

+4-
4 Maxaon   (26 Августа 2012 20:09) [Материал]
MaxaonСогласен с GameMix'ом.
Там где написаны комментарии там без них легко понять можно
а там где их нет...помоему сам автор не понимает сам в чем их суть
Особенно понравилась строчка:
{ x = xn; y = yn; } //x=xn и y=yn
ну ясен хрен, что x=xn и y=yn biggrin

+2-
1 Gcuper   (25 Августа 2012 17:30) [Материал]
Gcuperкомментируйте smile

+3-
2 @TacticalStories   (26 Августа 2012 16:30) [Материал]
Нужны ли скрины?

+4-
3 GameMix   (26 Августа 2012 19:48) [Материал]
GameMixЯ так понимаю, ты написал урок. Но в нём не объяснено ни единой строчки кода. Выходит, ты учишь новичка копировать код бездумно или заставляешь его ломать голову, что же там за иероглифы.

Объясняй код.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • OpenSpace3D
  • Core
  • SpriteCraft
  • Inform
  • Eternity
  • Fyrox
  • Flame
  • Delta Engine
  • FOnline
  • Construct 3
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг