Понедельник, 10 Августа 2020, 03:00

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 43
  • 1
  • 2
  • 3
  • 42
  • 43
  • »
Форум игроделов » Записи участника » alexsilent [859]
Результаты поиска
alexsilentДата: Воскресенье, вчера, 02:55 | Сообщение # 1 | Тема: ищу конструктор для создания 2D изометрической экшн РПГ
почти ветеран
Сейчас нет на сайте
Тоже как раз ищу удобный движок для изометрии, в Годоте достаточно легко изометрию делать, но не знаю насколько там легко что либо ещё делать помимо самой изометрии.
Сам пытаюсь возиться в GMS параллельно с Юнити, и сравниваю, где легче делать изометрию, так пока не определился с этим.

Ещё есть Construct, но мне не нравится цена и постоянная подписка на Construct 3:
https://www.construct.net/en/tutorials/isometric-games-object-layer-1321


Сообщение отредактировал alexsilent - Воскресенье, 09 Августа 2020, 02:56
alexsilentДата: Среда, 05 Августа 2020, 14:34 | Сообщение # 2 | Тема: Прощай фриланс :(
почти ветеран
Сейчас нет на сайте
Цитата TLT ()
С 31 июля 2020 года PayPal прекращает обработку внутрироссийских платежей, включая оплату товаров в российских магазинах и перевод средств между пользователями.

TLT, спасибо!
alexsilentДата: Среда, 05 Августа 2020, 13:19 | Сообщение # 3 | Тема: Прощай фриланс :(
почти ветеран
Сейчас нет на сайте
Цитата andarky ()
PayPal перестанет работать внутри РФ


Что-то я не понял про Paypal, где написано (по той ссылке не нашёл), и есть ли подробная инфа почему уходит из РФ и когда?


Сообщение отредактировал alexsilent - Среда, 05 Августа 2020, 13:20
alexsilentДата: Четверг, 23 Июля 2020, 06:55 | Сообщение # 4 | Тема: Можно ли использовать системные знаки в Dictionary? [РЕШЕНО]
почти ветеран
Сейчас нет на сайте
Цитата GMassta ()
Можно даже кавычки, если их экранировать "\"", все можно)


Круто, а кавычки это уже перебор)
alexsilentДата: Четверг, 23 Июля 2020, 05:02 | Сообщение # 5 | Тема: Можно ли использовать системные знаки в Dictionary? [РЕШЕНО]
почти ветеран
Сейчас нет на сайте
Хочу в юнити сделать словарь Dictionary для перевода текстов,
и можно ли и насколько легально там использовать системные знаки в ID?

Допустим словарь:
Код
public static Dictionary<string, string> STRING = new Dictionary<string, string>();


И ID:
Код
STRING.Add("Exit?", "Exit from the game?");


норм ли использовать знак вопроса в "Exit?" или придётся без знака вопроса выкручиваться,
и какие системные знаки можно вообще использовать в ID словарей?

Добавлено (23 Июля 2020, 05:07)
---------------------------------------------
Компилятор мне ошибок не показывает вроде, но может потом это будет не очень хорошо в коде, хз.


Сообщение отредактировал alexsilent - Четверг, 23 Июля 2020, 06:56
alexsilentДата: Пятница, 17 Июля 2020, 17:40 | Сообщение # 6 | Тема: Странная ошибка компилятора C# в Unity
почти ветеран
Сейчас нет на сайте
Цитата drcrack ()
var bl = default(Block);

drcrack, и спасибо за Default, как раз понадобилась первый раз эта штука в совершенно неожиданном месте,
надеюсь я её правильно прикрутил, просто Vector2.zero не хотел прикручиваться к функции:
Код

public void MakeFall(string mode, Vector2 speed = default(Vector2)) {
    //...
}
alexsilentДата: Пятница, 17 Июля 2020, 13:13 | Сообщение # 7 | Тема: Какие игры вы сейчас ждете?
почти ветеран
Сейчас нет на сайте
Не помню писал я в этой теме или нет, но теперь жду только две AAA игры:

1) TES 6 - надеюсь там не будет микротранзакций и ограничение модов и мододелов,
а также не будет банов в сингл игре за что-либо вообще, это моя игра, как хочу так и играю.
2) Starfield - жду, чтобы поскорее доделали и начали уже делать первую игру.

PS и остальное только инди, в инди играх нет постоянного онлайна, нет банов, нет микротранзакций и контроля над игроком,
во всяком случае пока что, и я имею ввиду сингл игры
PPS ещё интересно глянуть Киберпанк 2077 на ютюбе, но шанс что мне эта игра понравится - небольшой


Сообщение отредактировал alexsilent - Пятница, 17 Июля 2020, 13:18
alexsilentДата: Четверг, 16 Июля 2020, 10:23 | Сообщение # 8 | Тема: Странная ошибка компилятора C# в Unity
почти ветеран
Сейчас нет на сайте
drcrack, Storm54, GMassta, спасибо ребята! Я просто привык с JS, что не обязательно объявлять null,
буду знать!

Цитата GMassta ()
if(bl == null) return;


Говоря об этой строке, я часто ещё со времён JS, проверяю вот так:

Код
if(!bl) return;


Можно ли так в С# проверять? Просто сам C# вроде не ругается на мою строку и всё нормально работает.


Сообщение отредактировал alexsilent - Четверг, 16 Июля 2020, 10:23
alexsilentДата: Четверг, 16 Июля 2020, 09:25 | Сообщение # 9 | Тема: Странная ошибка компилятора C# в Unity
почти ветеран
Сейчас нет на сайте
Код
// Создание Матч3 Блока
void CreateBlock(int x,int y) {
    Block bl;
    for (int a = 0; a<1000; a++) { // Цикл перебора удачного шанса выпадения, чтобы редкие блоки не выпадали часто
        bl = Blocks[Random.Range(0,Blocks.Length)]; // здесь будет полюбому хотя бы один раз инициализирована "bl"
        if (Random.Range(0.1f,99.9f)<=bl.Chance) {break;} //Шанс выпадения блока от 0% до 100%
    }
    Game.Last = Instantiate(bl.gameObject); // создание клетки
    // КОМПИЛЯТОР РУГАЕТСЯ НА ЭТУ СТРОКУ, хотя из кода видно,
    // что переменная "bl" в любом случае будет инициализирована в цикле "for"
}


компилятор выдаёт ошибку:
"Assets/SCRIPTS/Match3/Match3.cs(63,27): error CS0165: Use of unassigned local variable `bl'"

Чтобы ошибки не было, вместо
Код
Block bl;

приходиться писать строку
Код
Block bl = Blocks[Random.Range(0,Blocks.Length)];

считай два раза одну и ту же строку писать, при инициализации переменной и потом в цикле



Сообщение отредактировал alexsilent - Четверг, 16 Июля 2020, 10:07
alexsilentДата: Четверг, 09 Июля 2020, 15:33 | Сообщение # 10 | Тема: Есть ли способ сократить эти строки кода
почти ветеран
Сейчас нет на сайте
В конечном итоге пришлось сделать мини функции для:
position (3 функции),
localPosition (3 функции),
localScale (3 функции),
localEulerAngles (1 функция на Z ибо 2D игра)
и Color (4 функции)
Или может стоит забить на эти функции и просто вектор в нужном месте подставлять, чтобы манипуляции провести с одной частью вектора или цвета.


Сообщение отредактировал alexsilent - Четверг, 09 Июля 2020, 15:36
alexsilentДата: Понедельник, 06 Июля 2020, 10:43 | Сообщение # 11 | Тема: Есть ли способ сократить эти строки кода
почти ветеран
Сейчас нет на сайте
pixeye, Спасибо большое за этот код, потестил и выглядит круто, особенно круто то что
в эту static функцию можно добавлять локальные переменные.
Код

public static class HelperTransform
  {
    public static void SetZ(this Transform transform, float z)
    {
      var position = transform.position;
      position.z         = z;
      transform.position = position;
    }
  }


только я не понял вот эту фразу
Код
this Transform transform
this почему-то стоит в странном месте, в инициализации,
я попытался сделать свою такую функцию и не получилось.
Код

public static bool isEmpty(this string string) { //CHECK EMPTY STRING
  if (this==null || this=="") return true;
  return false;
    }


Сообщение отредактировал alexsilent - Понедельник, 06 Июля 2020, 10:55
alexsilentДата: Воскресенье, 05 Июля 2020, 15:27 | Сообщение # 12 | Тема: Есть ли способ сократить эти строки кода
почти ветеран
Сейчас нет на сайте
Цитата pixeye ()
Не рекомендую

public static class HelperTransform
{
public static void SetZ(this Transform transform, float z)
{
var position = transform.position;
position.z = z;
transform.position = position;
}
}


Может я не правильно понял, и это относилось не к коду ниже, но да ладно)

Придётся писать 4 новых функции, чтобы работать с отдельными осями:
Код
SetX(transform, 1);
SetY(transform, 1);
SetZ(transform, 1);
TurnZ(transform, 1); // для поворота по оси Z
alexsilentДата: Воскресенье, 05 Июля 2020, 14:06 | Сообщение # 13 | Тема: Есть ли способ сократить эти строки кода
почти ветеран
Сейчас нет на сайте
Цитата pixeye ()
Вообще форма ниже отвратна


pixeye, ну я тут полностью согласен, что мой код не очень, другой вопрос как оптимизировать?

Ведь, тот твой код, я так понял, тоже не самый лучший или я просто не понял эту фразу:
Цитата pixeye ()
Не рекомендую


Сообщение отредактировал alexsilent - Воскресенье, 05 Июля 2020, 14:40
alexsilentДата: Воскресенье, 05 Июля 2020, 06:40 | Сообщение # 14 | Тема: Есть ли способ сократить эти строки кода
почти ветеран
Сейчас нет на сайте
Всё ещё перехожу с JS на C# в Unity.
Есть ли возможность как-то сократить эти длинные строки, которые на JS выглядели,
намного короче и более читабельнее или это максимум, что можно сделать в C#?!

Unity Script (JS)
Код
transform.localPosition.z = initPos.z;
transform.localScale.x = variable;

C#
Код
transform.localPosition = new Vector3(transform.localPosition.x,transform.localPosition.y,initPos.z);
transform.localScale = new Vector3(variable,transform.localScale.y,transform.localScale.z);


PS У меня просто глаза разбегаются, когда смотрю на тот же самый код, но намного длинее по символам.


Сообщение отредактировал alexsilent - Воскресенье, 05 Июля 2020, 06:42
alexsilentДата: Среда, 01 Июля 2020, 08:33 | Сообщение # 15 | Тема: Пытаюсь разобраться с Inheritance в Unity
почти ветеран
Сейчас нет на сайте
drcrack, ну я согласен с тем что я делаю не эффективно и криво) я больше художник, чем программист , и очень долго простые вещи программирую, сейчас буду в третий раз переписывать ядро на юнити, на основе новых знаний.)



Добавлено (01 Июля 2020, 10:50)
---------------------------------------------
Вот кстати, если в уроке доходчиво на примерах объясняют зачем нужен этот функционал, то такие уроки я могу ещё осилить,
а если ещё и пример очень интересный и очень короткий (чтобы с ходу понять), то вообще круто, но такие учителя/уроки редкость, чаще урок просто выглядит так: "Вот вам базовое знание потому-что это надо знать."
Ну как-то так, совсем не понятно, где я буду это применять и буду ли вообще, не очень мотивирует.


Сообщение отредактировал alexsilent - Среда, 01 Июля 2020, 10:53
alexsilentДата: Вторник, 30 Июня 2020, 20:40 | Сообщение # 16 | Тема: Пытаюсь разобраться с Inheritance в Unity
почти ветеран
Сейчас нет на сайте
Vostrugin, Спасибо Большое! Прикрутил словарь) всё работает, кроме [SerializedField],
компилятор ругается из-за того что рядом стоит словарь, видимо его нельзя показать, ну неважно,
можно и обычным кодом переменные словарю добавлять, как я вначале и планировал. lovegcup
alexsilentДата: Вторник, 30 Июня 2020, 20:20 | Сообщение # 17 | Тема: Пытаюсь разобраться с Inheritance в Unity
почти ветеран
Сейчас нет на сайте
лол, у меня в первом сообщении есть ответ, просто я вначале не понимал как оно работает, а сейчас перечитал и нашёл
Код
base.Awake();
хотя ещё не тестировал)

Добавлено (30 Июня 2020, 20:22)
---------------------------------------------
pixeye, спасибо ещё раз!Мне C# теперь нравится больше JS (Unity Script), хотя бы потому-что даже если там тоже это было, то я раньше не знал, а теперь понимаю как упростить код в юнити. :3


Сообщение отредактировал alexsilent - Вторник, 30 Июня 2020, 20:23
alexsilentДата: Вторник, 30 Июня 2020, 19:33 | Сообщение # 18 | Тема: Пытаюсь разобраться с Inheritance в Unity
почти ветеран
Сейчас нет на сайте
pixeye, Спасибо Большое за пример!

Цитата pixeye ()
"мне вроде надо, но понимать не хочу"

Я конечно ленивый, но если это всё-таки очень важный момент, то стоит изучить. :)

Добавлено (30 Июня 2020, 19:51)
---------------------------------------------
pixeye, попытался создать класс на твоём примере, и получил ошибку, видимо потому-что
Dog переписала Animal или другие причины, а как сделать так чтобы переменная trans была установлена в базовом скрипте при пробуждении, чтобы лишний раз её не дёргать из Child скриптов?
То есть чтобы 2 Awake сработали, вначале у базы, потом у чайлда.

Код

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Animal : MonoBehaviour {
    public Transform trans;
    public virtual void Awake() {
       print("Awake Base!");
       trans = transform;
    }
    public virtual void Vocal(){
       Debug.Log("Basic Animal Sound");
    }
}


Код

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Dog: Animal{
    public override void Awake() {
      print("Awake Child!");
      trans.position = new Vector3(0,0,0);
    }
    public override void Vocal(){
       Debug.Log("Woof");
    }
}


Добавлено (30 Июня 2020, 20:00)
---------------------------------------------
хотя убрав override из Awake Dog, все равно получил ошибку, похоже trans переменная не доступна для Dog или хз:



Добавлено (30 Июня 2020, 20:14)
---------------------------------------------
Ещё попробовал такой вариант с базой, вместо Awake поставить Animal, как было в примере урока юнити
с фруктами, но в таком случае с transform вообще нельзя работать, юнити выдаёт ошибку, что Transform тут не место:

Код

public class Animal : MonoBehaviour {
    public Transform trans;
    public Animal() {
     print("Awake Base!");
     trans = transform;
    }
    public virtual void Vocal(){
     Debug.Log("Basic Animal Sound");
    }
}


Сообщение отредактировал alexsilent - Вторник, 30 Июня 2020, 20:26
alexsilentДата: Вторник, 30 Июня 2020, 19:17 | Сообщение # 19 | Тема: Пытаюсь разобраться с Inheritance в Unity
почти ветеран
Сейчас нет на сайте
Цитата Vostrugin ()
В твоём же случае с Dictionary можно не париться. Поехали:

Vostrugin, ого спасибо!!
Как просто выглядит код, кроме одного момента protected readonly пошёл гуглить, ибо первый раз встречаю :)
звучит так как будто переменная только для чтения и нельзя изменять словарь, но в то же время мы его можем менять, странно) пошёл искать инфу.
alexsilentДата: Вторник, 30 Июня 2020, 18:24 | Сообщение # 20 | Тема: Пытаюсь разобраться с Inheritance в Unity
почти ветеран
Сейчас нет на сайте
Всё ещё изучаю C# в юнити.

Не очень понимаю как работает Inheritance вообще в Unity, но например в Game Maker я легко разобрался,
потому-что там не было лишней писанины и просто нужно галочку поставить в определённом месте.

В Unity в уроках нашёл такой пример: https://learn.unity.com/tutorial/inheritance

Вроде всё круто и работает в логах, НО это не объекты юнити, а как бы сами по себе объекты С#,
у которых даже простого transform нет.
Есть ли где (для новичков) примеры с GameObject и inheritance? Чтобы понять как работать с этим.

Я попробовал загуглить и нашёл разные примеры, или это для профессионалов, или это так и нужно,
где даже есть незнакомые понятия virtual и override, стоит ли вообще с этим связываться для новичка,
или лучше другие примеры поискать?
https://forum.unity.com/threads.....525281

Код

class BaseClass : Monobehaviour
{
    public virtual Start()
    {
        Debug.Log("BaseClass.Start()");
    }
}

class ChildClass : BaseClass
{
    public override Start()
    {
        base.Start();
        Debug.Log("ChildClass.Start()");
    }
}


Если честно, я долго делал игры без всяких базовых классов и мне этого хватало, потому не особо хочется сильно глубоко в дебри программирования лезть (и узнавать что такое "virtual", если только это не важное понятие в создании Базовых Классов), просто теперь мне нужна функция, чтобы во всех игровых объектах на уровне был базовый класс с Dictionary, где будут храниться переменные. Что-то типа свои встроенные переменные к которым легко обратиться через String и чтобы это было во всех объектах уровня.


Сообщение отредактировал alexsilent - Вторник, 30 Июня 2020, 18:48
Форум игроделов » Записи участника » alexsilent [859]
  • Страница 1 из 43
  • 1
  • 2
  • 3
  • 42
  • 43
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2020
free games download
Рейтинг