среда, 15 мая 2013 г.

Мой новый проект "Blood".

Решил начать не большой проект, просто ради интереса. Больших надежд на него не ставлю, но обкатывать не которые фичи на нём очень даже удобно. Планирую геймплей схожий  "Quake 3 arena". Благо подружился с физикой в Unity3D, хоть и были нюансы требующие  костылей, допустим что бы получить одну из компонентов вектора ускорения, пришлось вызывать метод ToString() у вектора и парсить строку, так как взятия компонента на прямую выдавало рандомные числа.

Vector3 _vel = rigidbody.velocity;
yVelocity = Convert.ToDouble(_vel.ToString().Split(',')[1]);

 А так, Unity3D в который раз продемонстрировала мне свою мощь. Так же промучился с позиционированием 3D объектов на экране, делал 3D GUI, к счастью с задачей справился, удалось сделать симпатичный 3D радар ;). В планах сделать нормальные ригнутые руки и пару типов оружия, да мультиплеер. С первый справится можно, но вот второе требует вложений, по типу локальной сети делать не хочу, по этому нужно будет брать сервер, да и ещё где то хранить инфу о игроке. Надеюсь что со временем сделаю приличную игру со своим донатом и фичами :). 

P.S Игра будет для соц. сетей.

Группа
Игра

Cтрим за 16.05.2013

 Помогал с димпломной работай. Сделали запись, в общем всё вышло не плохо. Код конечно был не лучше качества, но тут думаю меня можно понять, сосредоточится было сложно, но со временем думаю привыкну.


среда, 24 апреля 2013 г.

Клинт серверный чат на Unity3D + C#.


Решил не много рассказать о клиент серверном чате с использованием Unity3D и C#'. Применялись классы TCPClient и TCPListener.

воскресенье, 17 марта 2013 г.

пятница, 25 января 2013 г.

Отличия структуры от класса C#.

Тем кто усиленно изучал C++,  может показаться не обычным то что, структура таки отличается от класса, меня это например удивило, и я даже один раз ошибся.
Сейчас попробую описать главные отличия.
  • Структура не может наследовать другой класс или структуру (интерфейс можно).
  • Структуру нельзя унаследовать.
  • Если объявить переменную с типом структуры, то там будет хранится структура. а не ссылка на неё, как в случае с классом. 
  • Все члены структуры по умолчанию public. 
  • Члены структуры не могут быть protected. 
  • Структура не содержит деструктора.   
 Не много расскажу о третьем пункте. Многие не поймут разница. К примеру рассмотрим такой вот пример.


struct tempStruct
{
   public int i;
}
class tempClass
{
   public int i;
}

tempClass tc = new tempClass();
tempClass tc2 = new tempClass();
tempStruct ts;
tempStruct ts2;
tc = tc2;
tc2.i = 10;
ts.i = 10;
ts2 = ts;
ts2.i = 20;


в результате 

tc.i == 10;
tc2.i == 10;
ts.i == 10;
ts2.i == 20;

При работе с классами, у нас передаются ссылки по переменным. А в случаи со структурами они полностью копируются. Так же, при работе с unsafe кодом, указатели могу ссылаться на структуру при условие что в ней нету ссылочных значений. С классами указатели работать не могут, только с их полями.