danilaxxl danilaxxl

CollectableItemData.cs

[CreateMenuItem(fileName = "newItem", menuName = "Data/Items/Collectable", order = 51]

GoloGames GoloGames

vadya_ivan, рад, что вам игра показалась интересной : )

P.S. Кстати уже доступна бесплатная демо-версия в Steam

vadya_ivan vadya_ivan

Визуал, задумка, музыка , механики, все в цель

GoloGames GoloGames

Ato_Ome, спасибо за позитивные эмоции, будем стараться : )

Ato_Ome Ato_Ome

Потрясающий результат, все так четенько, плавненько)
То ли саунд, то ли плавность напомнили мне игрушку World of Goo, удачи вам в разработке и сил побольше дойти до релиза!)

Cute Fox Cute Fox

Graphics are a little cool, good HD content. But this game doesn't cause nary interest me.
However the game is well done.

GMSD3D GMSD3D

Почему действие после всех условий выполняется?
[step another object]

Zemlaynin Zemlaynin

Jusper, Везде, но наугад строить смысла нет. Нужно разведать сперва территорию на наличие ресурсов.

Jusper Jusper

Zemlaynin, а карьеры можно будет везде запихать?
Или под них "особые" зоны будут?

Zemlaynin Zemlaynin

Это так скажем тестовое строительство, а так да у города будет зона влияния которую нужно будет расширять.

Jusper Jusper

А ссылка есть?

Jusper Jusper

Я не оч понял из скриншота, как вообще работает стройка. У игрока будет как бы поле строительства?

split97 split97

в игру нужно добавить время песочные часы в инвентаре, пока бегаешь наберается усталость и ты очень тормозной мобильный враг просто убевает

split97 split97

в игру нужно добавить время песочные часы в инвентаре, пока бегаешь наберается усталость и ты очень тормозной мобильный враг просто убевает

ViktorJaguar ViktorJaguar

Почему я нигде не могу найти нормальный туториал, где покажут как экипировать предмет (например, меч) в определенную (выделенную под оружие) ячейку???

Логотип проекта Game Maker

Ещё 10 советов и трюков GameMaker Studio2. Часть 2

Ещё 10 советов и трюков GameMaker Studio2. Часть 2

Добро пожаловать в продолжение списка трюков и советов по GameMaker Studio 2. Независимо от того, знакомы ли вы уже с этим движком или только начали его изучать, можно узнать что-то новое.

Ссылка на первую часть

#11 Подключите Твиттер!

Игроки смогут отправлять посты в Твиттер прямиком из игры. Например, о количестве набитых очков.

///tweet_score();       
var tweet = "I scored " + string(score) + " points in this game!";      
url_open_ext("https://twitter.com/intent/tweet?text=" + string(tweet), "_blank");    

Для получения дополнительной информации посетите этот сайт
А так же не забудьте сначала сделать специальный URL. Больше информации

#12 Как разделить тысячные в числе

Пример, как вставить запятые в числа для разделения тысячных (например, 1234567 -> 1,234,567):

/// @function add_commas(integer, separation);      
/// @description Insert commas in a number, from right to left, every separation spaces      
/// @param {real} The input value      
/// @param {real} Number of digits grouped between commas      
     
var str = string(argument0);     
var sep = argument1;     
for (var i = string_length(str) - (sep - 1); i > 1; i -= sep) {     
  str = string_insert(",", str, i);     
}     
return str;  

#13 Используйте инверсию логических переменных

Это уменьшает количество кода, и действительно очень удобно!

if (keyboard_check_pressed(ord("S")))     
  sndEnabled = !sndEnabled;    

В приведенном выше примере переменная sndEnabled переключается между истиной и ложью при каждом нажатии клавиши S.

#14 Автоматическое форматирование кода

Просто вставьте свой код по ссылке ниже, и он автоматически красиво оформится!
http://jsbeautifier.org
Отлично работает для GML, не взирая что он предназначен для JavaScript.

#15 Камера как в Nuclear Throne

Пример камеры, которая напоминает ту, что была в игре Nuclear Throne. Этот фрагмент кода центрирует камеру, между obj_player и курсором мыши.

var cam = view_camera[0];     
var xpos = (obj_player.x + ((mouse_x - obj_player.x) / 2)) - camera_get_view_width(cam) / 2;     
var ypos = (obj_player.y + ((mouse_x - obj_player.y) / 2)) - camera_get_view_height(cam) / 2;     
camera_set_view_pos(cam, xpos, ypos);  

#16 Ремапинг диапазонов чисел

Переназначение числа arg0 из одного диапазона (arg1,2) в другой (arg3,4).

/*      
value = 110;      
m = Map(value, 0, 100, -20, -10);      
// m = -9      
*/     
///Map(val, min1, max1, min2, max2)      
return argument3 + (argument4 - argument3) * ((argument0 - argument1) / (argument2 - argument1));    

#17 Инкрементное вращение на 45 градусов

Код для поворота спрайта к направлению мыши, с шагом в 45 градусов, для 8-сторонней ориентации.

var dir = point_direction(x, y, mouse_x, mouse_y);     
image_angle = round(dir / 45) * 45;    

#18 Шестнадцатеричный цвет в GMS

Вначале изучения GameMaker, у многих возникают сложности с понятием в нём кода цвета. GameMaker хранит цвета в формате "little endian". Из-за этого цветам назначается $BBGGRR вместо шестнадцатеричного #RRGGBB:
Желтый в HEX: #FFFF00
Желтый в GMS: $00FFFF

#19 Точность чисел

Как бы это ни звучало странно, не всегда операция 0.5 + 0.5 выдаст результат 1 для переменных с плавающей точкой, а на самом деле что-то вроде 1.000000000001.
Чтобы обойти это, вы используйте функции floor() или round() для фиксации целого значения.

#20 Выражения и функции GameMaker оцениваются по-разному при использовании компилятора YoYo

При использовании компилятора YoYo все выражения и функции оцениваются слева направо. На всех других платформах они оцениваются справа налево.
Например, такой код даст разные результаты в зависимости от платформы:

val = max(num, ++num, num++);  

Ссылка на оригинал

Смотрите также:


Комментарии



В 12 подсказке, что то не так с кодом... Толи название переменной не то где то используется, толи логика
В 13 код и текст немного разнятся, не критично, но может путать)
В 16 можно подробнее о чем речь? Это получается что то вроде перевода единицы измерения аля цельсий - > кельвин?
На счёт 19. А что если сравнивать два флоата? В GMS есть такая же проблема как и в других языках?

Summon EfimovMax

alexprey,
12 - Опечатка (set -> sep), фиксед
13 - Фиксед)
14 - Это скрипт для изменения числа в определённом ранге (на определённое число из заданного ранга)
19 - Здесь я что-то конкретного не скажу, кроме что в GMS нельзя задать тип переменной, из-за этого может произойти штука, описанная в пункте. Можно просто запомнить, что если число точно Int, то стараться его сразу округлять floor'ом

EfimovMax, спасибо за фиксы :3
Да, тяжело в GMS с дробными числами...

Справка