Game Maker - создание игр | HellRoom Games
Ноябрь 17, 2025, 15:43:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Создание TDS Cs  (Прочитано 22089 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
mnu212
Посетитель
**

Репутация: 2
Offline Offline

Пол: Мужской
API: 8.0 Pro
Деятельность: Вообще из программирования я занимаюсь GML и все, а так я: скейтер , гитарист , художник.(А алгебру я не навижу)))) )
Сообщений: 31

Payerman


« : Февраль 24, 2011, 19:20:44 »

Всем привет!
Сегодня я решил вам показать как сделать игру на подобии всем извесной игры counter-strike.
Здесь будет реализовано
-смена оружия через колёсико
-виды оружия
-виды урона

Итак!
Создадим следующие спрайты:
-spr_playernogun(Это игрок без оружия)
-spr_player_smg(Игрок с смг)
-spr_player_uzi(Игрок с узи)
-spr_player_ak47(Игрок с калашом)
-spr_bullet(спрайт пули)
-spr_box(спрайт коробки)
(Спрайты игрока надо делать так что как будто он смотрит влево)

Загрузим звуки:
-snd_uzi(звук выстрела узи)
-snd_ak47(звук выстрела калаша)
-snd_smg(звук выстрела пистолета)

Создадим бекграунд асфальта

Создадим объекты:
-obj_player(Объект игрока)
-obj_smg_bullet(Объект пули пистолета)
-obj_uzi_bullet(Объект пули узи)
-obj_ak47_bullet(Объект пули калаша)
-obj_box(Объект "коробка"(На ней мы будем тестировать наш движок)

У игрока к которому мы присвоили спрайт spr_playernogun:
1.Создадим переменную обозначающую вид оружия(То есть : какое игрок держит), значит в событии создания пишем:
Код:
gun = 0

2.Нам нужно чтобы игрок смотрел в сторону мыши, и поэтому в событиишага пишем:
Код:
image_angle = point_direction(mouse_x,mouse_y,self.x,self.y)

3.Когда мы нажмем ПКМ - наш игрок должен двигаться в сторону мыши, следовательно в событии "Global Right Button" пишем:
Код:
move_towards_point(mouse_x,mouse_y,4)

4.Когда мы отпускаем ПКМ игрок должен остановиться, значит в событии "Global Right Released" пишем:
Код:
speed = 0

И вот у нас получилась основная заготовка TSD.Но мы не будем останавливаться на этом)))

Открываем объект любой пули т.к у них настройки одинаковые)))

5.Зададим : движение, скорость, направление написав в событии создания следующий код:
Код:
motion_set(direction/360,20)
direction = point_direction(self.x,self.y,mouse_x,mouse_y)

6.Нам нужно чтобы спрайт пули был одинаков с объектом пули по направлению. Пишем в событии шага
Код:
image_angle = direction

7.В событии солкновения с obj_box пишем:
Код:
instance_destroy()

Модлодец!Теперь делай тоже самое во всех остальных объектах пуль.После этого опять открываем объект игрока и в событии шага пишем немного кода для настроек связанных со стрельбой:
Код:
if gun < 0 {gun = 3}
if gun > 3 {gun = 0}
if gun = 0 {sprite_index = spr_player_nogun}
if gun = 1 {sprite_index = spr_player_smg}
if gun = 2 {sprite_index = spr_player_uzi}
if gun = 3 {sprite_index = spr_player_ak47}

8.Нам нужно сделать стрельбу из ak-47 и uzi автоматическую. Поэтому в событии "Global Left Button" пишем:
Код:
if gun = 2 {sound_play(snd_uzi){ instance_create(x,y,obj_uzi_bullet)}}
if gun = 3 {sound_play(snd_ak47){instance_create(x,y,obj_ak47_bullet)}}

9.И зделаем стрельбу пистолета. В событии "Global Left Pressed" пишем:
Код:
if gun = 1 {sound_play(snd_smg){instance_create(x,y,obj_smg_bullet)}}

10.Теперь сделаем так , чтобы мы смогли крутить колёсико и оружия менялись:
-В событии "Mouse wheel up" пишем: gun += 1
-В событии "Mouse wheel down" пишем: gun -= 1

Все! Осталось сделать коробку для теса движка:
В коробке пишем:
-В событии создания:
Код:
damage = 0
-В событии шага:
Код:
if damage > 9 {instance_destroy()}
-В событии столкновения с пулей от пистолета:
Код:
damge += 1
- В событии столкновения с пулей от узи:
Код:
damage += 2
- В событии столкновения с пулей от калаша:
Код:
damage += 3
Все! Запускаем и тестируем "коробки на прочность")))


* TDS CS пример.gmk (78.61 Кб - загружено 1160 раз.)
Записан

Hummer
scio me nihil scire
GM Pro user
*

Репутация: 335
Offline Offline

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573


« Ответ #1 : Февраль 24, 2011, 19:30:40 »

Ну во первых в КС от первого лица и 3д. И почему бы тебе не включить это в твои уроки для новичков.
А так молодец  Уважуха
Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
mnu212
Посетитель
**

Репутация: 2
Offline Offline

Пол: Мужской
API: 8.0 Pro
Деятельность: Вообще из программирования я занимаюсь GML и все, а так я: скейтер , гитарист , художник.(А алгебру я не навижу)))) )
Сообщений: 31

Payerman


« Ответ #2 : Февраль 24, 2011, 19:32:42 »

Спасибо! Я какраз из уроков взял(урок 4). Просто я думал что новички не разбирутся)
Записан

Vendet
Гл. Администратор
*

Репутация: 773
Offline Offline

Пол: Мужской
API: Unity 3D
Сообщений: 3949


HellRoom Games


WWW
« Ответ #3 : Февраль 24, 2011, 20:16:44 »

Молодец  ;)
Записан
mnu212
Посетитель
**

Репутация: 2
Offline Offline

Пол: Мужской
API: 8.0 Pro
Деятельность: Вообще из программирования я занимаюсь GML и все, а так я: скейтер , гитарист , художник.(А алгебру я не навижу)))) )
Сообщений: 31

Payerman


« Ответ #4 : Февраль 24, 2011, 21:00:42 »

Я незнаю; подскажите, как лучше сделать второй урок.
Прото он будет на основе этого?
Записан

VeGaS
«Старожил форума»
******

Репутация: 270
Offline Offline

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+150 репутации]3 место за игру: AntiZombie (Конкурс Золотые Руки)1 место: Звание лучшего дизайнера (Февраль 2011)За добавление полезных программ!
API: GameMaker Studio Standard
Сообщений: 2018



« Ответ #5 : Февраль 24, 2011, 21:01:01 »

Хороший урок
Записан
UncleDec
Совсем не
«Старожил форума»
******

Репутация: 276
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+150 репутации]
API: Love
Сообщений: 3154


WWW
« Ответ #6 : Февраль 24, 2011, 21:08:48 »

Я незнаю; подскажите, как лучше сделать второй урок.
Прото он будет на основе этого?

а про что будет второй урок?  ;D
Записан
mnu212
Посетитель
**

Репутация: 2
Offline Offline

Пол: Мужской
API: 8.0 Pro
Деятельность: Вообще из программирования я занимаюсь GML и все, а так я: скейтер , гитарист , художник.(А алгебру я не навижу)))) )
Сообщений: 31

Payerman


« Ответ #7 : Февраль 25, 2011, 15:19:03 »

Цитировать
а про что будет второй урок?  ;D
Не скажу)) whistling
Записан

MegaDimon
GM Pro user
*

Репутация: 74
Offline Offline

Пол: Мужской
Награды:
1000 сообщений!За постоянность! [10 дней на форуме]
API: GameMaker Studio Pro
Деятельность: Gml, Pixel Art
Сообщений: 1260


CreaQtrex


« Ответ #8 : Февраль 25, 2011, 21:01:48 »

Надо было сделать врагов,жизни и патроны.
И управление на WSDA потомучто CS и так както лучше для таких игр,а это управление подходит более на рпг
Записан
mnu212
Посетитель
**

Репутация: 2
Offline Offline

Пол: Мужской
API: 8.0 Pro
Деятельность: Вообще из программирования я занимаюсь GML и все, а так я: скейтер , гитарист , художник.(А алгебру я не навижу)))) )
Сообщений: 31

Payerman


« Ответ #9 : Февраль 25, 2011, 21:41:30 »

Цитировать
Здесь будет реализовано
-смена оружия через колёсико
-виды оружия
-виды урона
Читать надо!
Записан

MegaDimon
GM Pro user
*

Репутация: 74
Offline Offline

Пол: Мужской
Награды:
1000 сообщений!За постоянность! [10 дней на форуме]
API: GameMaker Studio Pro
Деятельность: Gml, Pixel Art
Сообщений: 1260


CreaQtrex


« Ответ #10 : Февраль 25, 2011, 22:18:21 »

Так было бы лучше намного,раз CS :-\
Записан
TUjh
Пользователь
***

Репутация: 10
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: GML программист, художник, 3D Моделлинг
Сообщений: 76

Who i am?


« Ответ #11 : Февраль 27, 2011, 07:35:05 »

Ну во первых в КС от первого лица и 3д. И почему бы тебе не включить это в твои уроки для новичков.
А так молодец  Уважуха

Ну, есть и CS 2D сверху...  whistling
Записан

Sashok_one
Активный участник
*****

Репутация: 43
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]
API: Game Maker 8.0 Pro
Деятельность: Программист (GML, C#), художник, дизайнер.
Сообщений: 256

*BOOOM*


« Ответ #12 : Февраль 27, 2011, 07:41:32 »

Надо было сделать врагов,жизни и патроны.
И управление на WSDA потомучто CS и так както лучше для таких игр,а это управление подходит более на рпг

+ подбор оружия....
но это не так сложно...
Записан
GenaREX
Новичок
*

Репутация: 0
Offline Offline

Пол: Мужской
API: 8.0 Pro
Деятельность: Программирую, моделирую, иногда рисую, пишу сценарии. Делаю игры один)
Сообщений: 5


Компьютерный герой детства))


« Ответ #13 : Март 31, 2011, 21:54:22 »

Статья супер) очень помогла, особенно разобраться с выбором оружия, а то я задолбался уже))
Записан
abrams
Новичок
*

Репутация: 0
Offline Offline

API: 8.0 Pro
Сообщений: 4


« Ответ #14 : Июнь 12, 2011, 01:05:45 »

выдает эту ошибку:  (у меня версия 8.0, если это важно)

ERROR in
action number 2
of  Step Event
for object obj_player:

Error in code at line 3:
   if gun = 0 {sprite_index = spr_player_nogun}///Если переменная оружия равна нулю то спрайт игрока будет где он без оружия
                              ^
at position 29: Unknown variable spr_player_nogun

Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.125 секунд. Запросов: 37.