#АП
Картинку к предыдущему посту я сгенерировал в нейронке. А вот референсы от сценаристов к персонажу!
Картинку к предыдущему посту я сгенерировал в нейронке. А вот референсы от сценаристов к персонажу!
#DR
Немного инфы по рабочему проекту. Мне развязали руки и теперь я могу заваливать вас кучей спойлеров.
На данный момент мы с командой сделали кор геймплей и начинаем делать менюшку. Вот как-то так, пока что:
Немного инфы по рабочему проекту. Мне развязали руки и теперь я могу заваливать вас кучей спойлеров.
На данный момент мы с командой сделали кор геймплей и начинаем делать менюшку. Вот как-то так, пока что:
#DR
Вот такую красоту нарисовал наш художник)
Как думаете, в чем смысл игры?
Если угадаете основной референс - расскажу в чем наша фишка:)
Вот такую красоту нарисовал наш художник)
Как думаете, в чем смысл игры?
Если угадаете основной референс - расскажу в чем наша фишка:)
#DR
Мы делаем клон Pocket Champs.
Наша главная фишка: мини-карта будет так или иначе модернизироваться. Например, часть карты будут закрывать облака, что добавит стратегической нотки в достаточно примитивный геймплей.
Мы делаем клон Pocket Champs.
Наша главная фишка: мини-карта будет так или иначе модернизироваться. Например, часть карты будут закрывать облака, что добавит стратегической нотки в достаточно примитивный геймплей.
Только что я столкнулся с одной интересной особенностью. Если вы хотите удалить все объекты у родительского, это нужно делать обязательно через DestroyImmediate()
Иначе цикл никогда не остановится.
Суть в том, что методу Destroy() нужно некоторое время чтобы обработать запрос, а значит - в этом же кадре объект не будет удален, что приведет к бесконечному циклу
Иначе цикл никогда не остановится.
Суть в том, что методу Destroy() нужно некоторое время чтобы обработать запрос, а значит - в этом же кадре объект не будет удален, что приведет к бесконечному циклу
Но есть одно но. Так корректно делать только для тех вещей, которые не будут оповещать о своей смерти. Иначе нужно использовать другой цикл с методом Destroy()
Хотите посмотреть нашу первую демку по DR? (К пн она скорее всего будет)
Anonymous Poll
100%
Да, скидывай
0%
Не интересно
Пишите в комментах под этим постом любой вопрос связанный с Unity и C#.
Я выберу самые интересные и напишу посты с ответами.
Добавим немного интерактива!
Я выберу самые интересные и напишу посты с ответами.
Добавим немного интерактива!
Delegate VS Action
1. Delegate более гибкий. Ему можно задавать как возвращаемый тип, так и входные.
Например:
public delegate int Action(float x);
В Action можно задавать только входные данные:
public event Action<int> NewAction;
2. Простота написания.
delegate - это тип, который представляет ссылки на методы с определенным списком параметров и типом возврата. Вам необходимо будет создавать экземпляры делегатов, чтобы в последствии вызывать события.
Например:
public delegate int Action(float x);
public Action NewAction;
private void Start()
{
NewAction += Test;
NewAction(0.1f);
}
private int Test(float x)
{
return (int)x;
}
Для Action объявление по проще:
public event Action<int> NewAction;
private void Start()
{
NewAction += Test;
NewAction?.Invoke(1);
}
private void Test(int x)
{
print(x)
}
3. Так же существует UnityAction.
Он отличается от обычного Action только тем, что отображается в инспекторе достаточно удобным образом с возможностью подписывать методы там.
Но у него ограничение на 4 подписанных на него метода, в отличии от Action у которого 16 максимум.
В общем случае я практически всегда использую Action. Он проще и удобнее в использовании)
1. Delegate более гибкий. Ему можно задавать как возвращаемый тип, так и входные.
Например:
public delegate int Action(float x);
В Action можно задавать только входные данные:
public event Action<int> NewAction;
2. Простота написания.
delegate - это тип, который представляет ссылки на методы с определенным списком параметров и типом возврата. Вам необходимо будет создавать экземпляры делегатов, чтобы в последствии вызывать события.
Например:
public delegate int Action(float x);
public Action NewAction;
private void Start()
{
NewAction += Test;
NewAction(0.1f);
}
private int Test(float x)
{
return (int)x;
}
Для Action объявление по проще:
public event Action<int> NewAction;
private void Start()
{
NewAction += Test;
NewAction?.Invoke(1);
}
private void Test(int x)
{
print(x)
}
3. Так же существует UnityAction.
Он отличается от обычного Action только тем, что отображается в инспекторе достаточно удобным образом с возможностью подписывать методы там.
Но у него ограничение на 4 подписанных на него метода, в отличии от Action у которого 16 максимум.
В общем случае я практически всегда использую Action. Он проще и удобнее в использовании)
#DR
Нужна ваша помощь!
Помогите придумать, как можно реализовать механику.
Суть такая: перед началом забега запускается мини игра, после которой персонаж получает ускорение (или замедление)
Мини игра должна быть не дольше 5 секунд и достаточно простой для мобилок.
Персонажа будут оттягивать рогаткой и выпускать его.
Нужна ваша помощь!
Помогите придумать, как можно реализовать механику.
Суть такая: перед началом забега запускается мини игра, после которой персонаж получает ускорение (или замедление)
Мини игра должна быть не дольше 5 секунд и достаточно простой для мобилок.
Персонажа будут оттягивать рогаткой и выпускать его.
#DR
https://drive.google.com/drive/folders/1GQxwDhKblK0OJBELFH7rg_j5_V1F_glW?usp=sharing
Самая первая, самая сырая демка. Принимаются отзывы!)
(Сборка на Windows)
https://drive.google.com/drive/folders/1GQxwDhKblK0OJBELFH7rg_j5_V1F_glW?usp=sharing
Самая первая, самая сырая демка. Принимаются отзывы!)
(Сборка на Windows)
Иногда бывают недопонимания в команде. Что нужно сделать, чтобы избежать конфликтов:
1. Старайтесь объяснять остальным очевидные для вас вещи, но непонятные для других.
2. Не стоит влезать в чужую сферу. Если есть предложение - можно обсудить. Но говорить, что человек не шарит в своей специализации - неэтично.
3. Если вы взаимодействуете не только напрямую с геймдизайнером, но и с другими участниками, старайтесь делать максимально удобно и понятно то, что от вас просят. (Хороший редактор уровня, правильно ориентированные модельки и т.д.)
4. Не стоит считать себя центром команды. Решения принимаются либо совместно, либо руководителем. Делать по-своему - подводить всех.
Конечно же, я это пишу не просто так. Скажем так, произошла неприятная ситуация, и я решил поделиться своими мыслями.
Будьте вежливы и уважайте других людей!
1. Старайтесь объяснять остальным очевидные для вас вещи, но непонятные для других.
2. Не стоит влезать в чужую сферу. Если есть предложение - можно обсудить. Но говорить, что человек не шарит в своей специализации - неэтично.
3. Если вы взаимодействуете не только напрямую с геймдизайнером, но и с другими участниками, старайтесь делать максимально удобно и понятно то, что от вас просят. (Хороший редактор уровня, правильно ориентированные модельки и т.д.)
4. Не стоит считать себя центром команды. Решения принимаются либо совместно, либо руководителем. Делать по-своему - подводить всех.
Конечно же, я это пишу не просто так. Скажем так, произошла неприятная ситуация, и я решил поделиться своими мыслями.
Будьте вежливы и уважайте других людей!