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

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

Логотип проекта Unreal Engine

Полезные функции для типов данных

Заключительный этап с переменными - короткая статейка о том, какие же полезные функции есть для определенного типа данных.

Функции для Int

  • Rand(int Max): возвращает случайное число между 0 и указанным максимальным. Обратите внимание, что эта функция никогда не выдаст само значение Max, так как это, скорей, количество значений, которое может принять число. Например, для значения 10, диапазон, с которого будет взято число, является (0-9)
  • Min(int A, int B): возвращает меньшее число. Для Min(5, 2) выдаст 2.
  • Max(int A, int B): обратное к Min, выдаст то число, которое больше.
  • Clamp(int V, int A, int B): он повсюду возвращает число V, если оно попадает в диапазон между A и B. Если число меньше A или больше В, то функция возвращает соответственно А или В. Clamp(3, 5, 8) вернет 5. Clamp(4, 2, 9) вернет 4.

Функции для Float

  • FRand(): аналог Rand, но возвращает любое действительное число между 0.0 и 1.0.
  • FMin(float A, float B): аналог Min для float.
  • FMax(float A, float B): аналог Max для float.
  • FClamp(float V, float A, float B): аналог Clamp для float. Во всех трех числах можно использовать Int, в зависимости от того, хотим ли мы округленный результат или нет.

Функции для String

  • Len(string S): возвращает длину строки. Считает пробелы и знаки.
  • InStr(string S, string T): возвращает позицию слова Т в строке S, или -1, если T нет в S. Можно использовать, чтобы понять, есть ли вообще слово T в S, просто проверяя, подходит ли результат под условие >=0.
  • Left(string S, int N): возвращает слово в виде N первых символов строки S. Left("Something", 3) вернет "Som".
  • Right(string S, int N): возвращает слово в виде N последних символов строки S. Right("Something", 3) вернет "ing".
  • Mid(string S, int P, optional int N): Возвращает слово в виде N символов строки S, начиная с позиции P. Mid("Something", 2, 3) вернет "met". Если N не задано (optional означает, что параметр не обязателен), работает аналогично Right.
  • Caps(string S): возвращает строку со всеми символами в верхнем регистре.
  • Locs(string S): возвращает строку со всеми символами в нижнем регистре.
  • Repl(string S, string Match, string With, optional bool bCaseSensitive): заменяет фрагмент Match словом With в строке S. Repl("Something", "Some", "No") вернет "Nothing". Необязательная переменная обозначает, будет ли замена производиться с учетом регистра.

Векторы

  • Vsize(vector A): возвращает длину вектора действительным числом (float)
  • Normal(vector A): возвращает такой же вектор, только измененный так, чтобы длина была равна единице. Полезно, когда вам нужен вектор с таким же направлением, но другой длиной (просто превращаем исходный вектор в единичный, который уже масштабируем.
  • VRand(): возвращает случайный вектор.

Ротаторы

  • RotRand(): возвращает случайный ротатор.

Само собой, это не полный список, но это наиболее важные и полезные для рядового программиста функции относительно типов данных.


Что ж, мы наконец-то закончили с типами данных. От начала создания игры нас отделают всего две подстатьи))

Как всегда, жду ваших отзывов и комментариев как всегда напрасно

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


Комментарии



Было бы неплохо написать про регулярные выражения, поддержка вроде как есть. Тутов по этому делу не нашел, так что это был бы своеобразный дебют)

Я только начал изучать UnrealScript, но у меня есть большой опыт в написании, даже не программ, а именно скриптов. UnrealScript показался своеобразным симбиозом VB, С++ и UJS. В целом, пока доволен, но мучает меня такая мысль, что чего-то не хватает в этом ЯП, например, работа с файлами (не конфигов), приведение и преобразование типов, вопросов много, инфы мало...

Справка