Unity работа с файлами

Всем доброго времени суток, знаю что я давно ничего не писал, некоторые думаю думали что я забросил сайт. Какое то время действительно так и было. Не до того было мне. В реале свои заботы, покращення, да у нас в стране вообще покращення на покращенни, тфу блин язык сломаю. Мы тут двигаемся в цивилизацию, от газа к дровам, хорошо бы еще от электричества к керосиновым лампам перейти, и вполне серьезно нам тут по телевизору, который я почти не смотрю? рассказывают что дрова это альтернативное топливо. Ладно это у меня нервы, нафиг этих политиков.

 

Я снова мучаю игровой движок Unity3d и сегодня рассмотрю работу с файлами в unity. Тема достаточно важная и нужная. По крайней мере для меня. Файлы в играх используются очень часто. К примеру сохранение.

 

Что такое файлы думаю никому объяснять не нужно, находятся они у нас в папке New Unity Project, а сама эта папка находится там где вы создали свой проект. Для начала давайте создадим файл в нашем проекте при помощи скрипта. Открываем Unity3d и пишем скрипт создания файла.

 

Скрипт создания файла я назвал не особо сложно, FileWorks. Создавал его в папке с создаваемой игрой, вместе с остальными скриптами, а создаваться после работы такого скрипта файл будет в основной папке. То есть? на данный момент это не важно совершенно. И первое что нам необходимо сделать в файле, это подключить библиотеку для работы с файлами, поэтому пишем using System.IO; далее в функции Start мы создаем проверку информации о файле, FileInfo f и собираем информацию о файле = new FileInfo («my file.txt») который еще не существует. Следующей строкой мы если файл не существует if (!f.Exists) создаем его f.Create () то есть, строка вот такого вида if (!f.Exists) f.Create (); создаст именно тот файл о котором мы собирали информацию, то бишь файл который мы назвали «my file.txt» и общий скрипт должен принять вот такой вид.

Создаем файл скриптом
Dante

Читать далее Unity работа с файлами

Классы в программировании игр

Всем доброго времени суток, сегодня я буду рассматривать классы. Что позволяют делать классы?

 

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

 

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

Пример создания нового класса
Dante

Читать далее Классы в программировании игр

Приватные и публичные переменные

Всем доброго времени суток, давайте сегодня рассмотрим такую тему как приватные и публичные переменные.

 

Давайте рассмотрим это детальней, загружаем Unity3d, открываем скрипт с уроком и смотрим, мы имеем две функции Startи Update‘. Функция Startработает только в тот момент когда скрипт загружается, в самом начале, дальше об этом коде программа забывает и не трогает его больше. Дальше программа обращается к коду в функции Update‘, то есть код находящийся в функции Updateэто то что происходит каждый кадр в нашей игре. Например если у вас fps=60 то есть у вас 60 кадров в секунду, то в секунду данная функция выполняется 60 раз. Переменные которые находятся в функции Startявляются приватными, приватные переменные не могут больше нигде использоваться. Переменные же которые находятся в функции Updateявляются общественными.

Читать далее Приватные и публичные переменные

Массивы в разработке игр

Всем доброго времени суток, давайте сегодня обратим свое внимание на массивы в программировании. Массив это несколько переменных, одного типа. Итак, открываем Unity скрипт с уроком и пишем вот такой код.

Код нашего первого массива
Dante

 

Что же мы тут записали? Смотрим в первую функцию Start и видим, сначала мы объявили тип intдалее идут квадратные скобки, затем array1это название массива, оно может быть любое, далее в этой же строке идет создание нового класса, но пока это не столь важно, и просто поверим что это работает и кстати тут же в квадратных скобках указано количество элементов массива. Потом как-нибудь рассмотрим что такое создание нового класса. Следующая строка, объявление типа, квадратные скобки, название, и в фигурных скобках указаны элементы массива. В качестве элементов массива, мы имеем набор случайных цифр, которые я просто ввел 1,23,87как видите здесь три элемента массива, первый 1‘, второй 23третий 87‘. То есть тут все просто. Массивы могут быть двухмерными, то есть в роде таблицы. Ну к примеру. Читать далее Массивы в разработке игр

Константы в разработке игр

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

 

Константы являются практически противоположностями переменных. Если переменные можно изменять, то константы постоянны, от самого начала игры и до её конца. Например, в игре от начала и до конца, постоянным является имя персонажа. Давайте рассмотрим этот пример. Открываем Unity3d открываем наш урок в нем, и вводим вот подобное:

Код задания имени персонажа
Dante

Читать далее Константы в разработке игр

Функции в разработке игр

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

Создаем новую функцию
Dante

 

Объявляется она при помощи слова voidчто это такое я потом объясню, когда-то, сейчас оно все равно не очень нужно. Затем идут скобки, после которых ставим фигурные скобки которые обозначают начало и конец функции. В принципе мы здесь еще видим функцию Start и Update.

 

Функция Start, это функция которая вызывается при создании какого-либо объекта, в начале работы всего скрипта. Функция Update вызывается каждый кадр, то есть если у вас игра 60кадров в секунду, то функция выполнится 60 раз за секунду. Давайте сегодня займемся нашей написанной функцией.

 

В функции можно сделать например какое-нибудь действия, я не буду придумывать велосипед, буду просто выводить Debug.Log в консоли Unity. Хотя опять же, Debug.Log это функция, в классе Debug, существует функция Log, Log это вывести переменную. Вообще там с этим Log целая история, там обращение к консоли, вывод этого сообщения, убеждение того что это не ошибка, и тд. Итак, давайте берем наши уроки и записываем вывод новой записанной функции в функции Start. Сделаем скрипт подобного вида.

Обращаемся к новой функии
Dante

  Читать далее Функции в разработке игр

Циклы в программировании игр

Всем доброго времени суток, мне тоже, давайте сегодня поговорим о циклах.

 

Цикл, это когда повторяется какое-то действие несколько раз, пока не выполнится какое-то условие. Это когда вы много раз что-то делаете, а зачем что-то произошло и вы взяли и забили на это. Например: произошел большой апокаляпсис, смертельный вирус превратил половину людей в зомбарей, вы с криками ужаса пол дня от них бегали, а фиг еще делать то без оружия, да еще и учитывая что сделать его, руки не с того места. Ну да это лирика, и вдруг видите, о счастье, труп мента на обочине без головы, они по жанру всегда где-то да валяются, да смотрите чтоб труп мента был все же без головы, а то может ведь и перекусить вами, пока вы будете ему читать стихи, хотя не надо ему стихи читать, надо просто отобрать ксюху которая болтается у него на шее. Для самых маленьких, ксюха в данном случае не перекручивание имени Ксения либо Оксана, как у нас это временами делают, а АКС-74У, автомат Калашникова складной, укороченный. Кстати достаточно удобная штуковина, хоть как по мне АК-74 лучше, а РПК так вообще удобнейшая вещица, о чем это я??? Ага вам необходимо реквизировать его у трупа, который благо за вами не бегает, а недалеко находятся те которые не только бегают, но уже вас увидели и желают вас на завтрак или обед, или чего там у вас сейчас. Итак реквизировали вы все же с горем пополам автомат, а он того! Не пуляет, ну да, с пустым то магазином он стреляет так себе, даже как дубину в отличие от того же РПК использовать не дюже удобно. Ну да ладно, зомбари уже скоро до вас доберутся, а вы трясущимися руками пытаетесь присоединить полный магазин к автомату, полный магазин вы обнаружили кстати у трупа. Да куды ж вы его суете!!! Сначала отсоедините пустой магазин. АААА вас таки схватили, отгрызают куски от рук, один вцепился в горло, и перегрыз сонную артерию, кровища кругом, и вы отправляетесь жрать таких же кто не в состоянии взять автомат, проверить магазин, и ну, на перезарядку в принципе, при небольшой тренировке необходимо пару секунд, и все он готов к бою. Где-то в этой всей ерунде я совсем забыл о том о чем сегодня решил поговорить, так предположим что вы в курсе как пользоваться автоматом, хоть на уровне не путаете приклад и ствол. Таки смогли быстро перезарядить его, быстро вскидываете автомат, и начинаете стрелять короткими очередями. По пару выстрелов. Почему короткими? Если стреляли с подобного, то должны быть в курсе что стрельба очередями это в основном просто трата боеприпасов, что конечно может напугать живого, а вот зомби абсолютно будет на это плевать и вас все равно сожрут. Более менее прицельно и быстро стрелять как раз удобно короткими очередями, хотя одиночными лучше, и вообще стоит забыть про то что там есть автоматический огонь, без особой на то причины, а вам еще и необходимо стрелять в голову, так как в иные места успех будет не большой, да конечно повреждение конечностей тоже хорошо, но не остановит, по крайней мере без большого количества патронов. Итак я таки добрался к циклу, у вас есть автомат, в нем 30ть патронов, вы стреляете короткими очередями по паре патронов, 30 пара выстрелов, 28 пара выстрелов, 26 пара выстрелов затем как вы доходите до нуля, у вас оканчиваются патроны, и вы производите перезарядку. Вот у нас снова 30ть патронов, это и есть наш цикл, который будет так повторятся пока вы имеете боеприпасы, или пока не смоетесь с опасного места. Читать далее Циклы в программировании игр