Задать вопрос
  • UI в Unity и NullReferenceException?

    @Beltoev
    Живу в своё удовольствие
    Может рано в GameDev, когда даже NullReferenceException в такой тупик ставит? Сначала хотя бы с С# может разобраться?

    Ну, а так, у вас cube не инициализирована и нет проверки на это
    Ответ написан
    Комментировать
  • Отправка письма на email.?

    tomnolane
    @tomnolane
    профессиональный разработчик
    вы уверены, что:
    1) указали верный порт smtp принимающей(к какой подключаетесь) стороны? (точно 587 ??? не всегда используется 587 для smtp)
    2) указали верный адрес почты?
    3) верный логин и пароль?

    вот рабочий код:
    class Program
        {
            static void Main(string[] args)
            {
                 
                // отправитель - устанавливаем адрес и отображаемое в письме имя
                MailAddress from = new MailAddress("somemail@gmail.com", "Tom");
                // кому отправляем
                MailAddress to = new MailAddress("somemail@yandex.ru");
                // создаем объект сообщения
                MailMessage m = new MailMessage(from, to);
                // тема письма
                m.Subject = "Тест";
                // текст письма
                m.Body = "<h2>Письмо-тест работы smtp-клиента</h2>";
                // письмо представляет код html
                m.IsBodyHtml = true;
                // адрес smtp-сервера и порт, с которого будем отправлять письмо
                SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
                // логин и пароль
                smtp.Credentials = new NetworkCredential("somemail@gmail.com", "mypassword");
                smtp.EnableSsl = true;
                smtp.Send(m);
                Console.Read();
            }
        }


    вот асинхронный код:
    class Program
        {
            static void Main(string[] args)
            {
     
                SendEmailAsync().GetAwaiter();
                Console.Read();
            }
     
            private static async Task SendEmailAsync()
            {
                MailAddress from = new MailAddress("somemail@gmail.com", "Tom");
                MailAddress to = new MailAddress("somemail@yandex.ru");
                MailMessage m = new MailMessage(from, to);
                m.Subject = "Тест";
                m.Body = "Письмо-тест 2 работы smtp-клиента";
                SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
                smtp.Credentials = new NetworkCredential("somemail@gmail.com", "mypassword");
                smtp.EnableSsl = true;
                await smtp.SendMailAsync(m);
                Console.WriteLine("Письмо отправлено");
            }
        }

    если через это не отправится - значит проблемы с указанными данными: порт, емеил, логи и пароль...
    Ответ написан
    1 комментарий
  • Как в Unity3D можно рисовать графики?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    В юнити используется UnityScript, с браузерным JavaScript у них общий только синтаксис, больше ничего, поэтому использовать в нём можно только юнитёвые библиотеки.
    Графики можно рисовать разными способами, зависит от желаемого визуального решения, готовых компонентов нет, в конченом итоге всё придётся делать через скрипт. Для рисования линий самым простым вариантом будет использовать Line Renderer. Более продвинутым и производительным вариантом будет GL, но с ним придётся дольше возиться. На худой конец можете просто рисовать по текстуре с помощью Texture2D.SetPixels.
    Ответ написан
    2 комментария
  • Как осуществить поиск вводимых слов в textBoxt и вывод нужного результата в форме WinForms?

    EreminD
    @EreminD
    Кое-что умею
    а проблема-то в чем?
    пока выглядит так, что вы просто просите написать за вас

    1. Создайте в студии форму
    2. Накиньте текстБокс и кнопку
    3. При клике на кнопку брать текст из текстБокса и искать вхождение в список заранее определенных (либо введенных пользователем) строк

    Пока ничего сложного

    UPD: исходя из того, что у вас есть листБокс (он удобнее), текстБокс и кнопка, получается, такой код
    public Form1()
    		{
    			InitializeComponent();
    		}
    
    		private void button2_Click(object sender, EventArgs e)
    		{
    			string search = textBox2.Text;
    			int index = listBox1.Items.IndexOf(search);
    			listBox1.SelectedIndex = index;
    		}
    	}
    Ответ написан
    4 комментария
  • Как сделать что бы время шло, когда переходишь на другую сцену?

    @S0HardCore
    Сохраняешь DateTime начала отсчета в PlayerPrefs, а при загрузке новой сцены сравниваешь, если: DateTime (текущая) - DateTime (из PlayerPrefs) > time (тут понадобится умножение на коэффициент, скорее всего 10 миллионов), то вызываешь корутину с ожиданием "time - (dateTimeCurrent - dateTimePrefs) / 10 000 000.
    Ответ написан
    Комментировать
  • В чём ошибка Unity(CS0236)?

    TheTalion
    @TheTalion
    Описание ошибки: https://msdn.microsoft.com/en-us/library/5724t6za.aspx
    Можно сделать так:
    private float xPos;
    private float yPos;

    void Awake()
    {
    xPos = obj.transform.position.x;
    yPos = obj.transform.position.y;
    }
    Ответ написан
    Комментировать
  • Реализация CR4 на C#?

    tomnolane
    @tomnolane
    профессиональный разработчик
    посмотрите на строчки.... у себя в коде...
    byte[] ByteCrypt = ASCIIEncoding

    string strout = UTF8Encoding

    byte[] pass = ASCIIEncoding.Unicode.GetBytes(TBpass.Text);
    RC4 encoder = new RC4(pass);
    string textCrypt = TBtext.Text;
    byte[] ByteCrypt = ASCIIEncoding.Unicode.GetBytes(textCrypt);
    byte[] result = encoder.Encode(ByteCrypt, ByteCrypt.Length);
    string strout = ASCIIEncoding.Unicode.GetString(result, 0, result.Length); // UTF8Encoding поменять на ASCIIEncoding
    TBtext.Text = strout;


    п.с. не тестил... но по нему у вас разная кодировка...

    п.с.с. в вашей ссылке на сайт(статью) кусок кода:
    byte[] key = ASCIIEncoding.ASCII.GetBytes("Key");
    
    RC4 encoder = new RC4(key);
    string testString = "Plaintext";
    byte[] testBytes = ASCIIEncoding.ASCII.GetBytes(testString);
    byte[] result = encoder.Encode(testBytes, testBytes.Length);
    
    RC4 decoder = new RC4(key);
    byte[] decryptedBytes = decoder.Decode(result, result.Length);
    string decryptedString = ASCIIEncoding.ASCII.GetString(decryptedBytes);


    нигде не смешиваются кодировки ASCIIEncoding и UTF8Encoding (а у вас в коде смешиваются)
    Ответ написан
    Комментировать
  • Какую графическую 3d библиотеку на C# выбрать для создания игры?

    @Nwton
    DirectX
    Ответ написан
    Комментировать
  • Дрожание 2D персонажа при столкновении с колайдерами, как исправить?

    @Espleth
    А что вас конкретно не устраивает? Персонажа и должно отталкивать от коллайдеров.
    Но попробуйте пару вариантов:
    1) Двигайте персонажа не через transform.Translate, а через rigidbody.AddForce. Подозреваю что проблема в этом: персонаж у вас проходит в коллайдер и его отталкивает из коллайдера назад.
    2) Создайте для коллайдеров (в т.ч. игрока) физический материал и поставьте bounciness на 0, но судя по всему проблема решится 1ым вариантом.
    Ответ написан
    5 комментариев
  • Как создать раздел в недоступной, неразмеченной области жёсткого диска?

    opium
    @opium
    Просто люблю качественно работать
    Проблема очевидно у вас mbr она позволяет разметить только два террабайта места, надо gpt данные конечно все потеряются при этом.
    Конвертировать разметку ч gpt можно в Диспетчере дисков если кликнуть правой кнопкой мыши по диску.
    Ответ написан
    2 комментария
  • Как называется такая конструкция в C#?

    tomnolane
    @tomnolane
    профессиональный разработчик
    геттер (свойство).

    Оно позволяет возвращать объект типа Matrix под именем transform, который храниться в приватной "Области видимости". И это стандартная "тема".

    Допустим, есть объект который только хранит в себе что-то private string my_string = "что-то";
    он находится в области видимости "private" - т.е. доступен для использования только в рамках того класса, где он находится. В другом классе к нему (my_string) нельзя получить доступ и изменить. И в идеале так и нужно делать, чтобы созданные объекты были доступны только там, где надо, а не везде...
    далее создаём геттер (который только отдаёт значение объекта my_string, при этом сам в себе ничего не хранит (только ссылку),
    private string my_string = "что-то";
    public string My_String { get { return my_string ; } }

    его (My_String ) делают открытым (public) и позволяют безопасно получать данные из my_string;

    аналогично можно сделать сеттер, но ниже покажу самый распространённый:
    private string my_string = "что-то";
    public string My_String { get { return my_string ; } set { my_string  = value; }}

    в этом случае мы можем записывать (условно безопасно из другого класса к примеру) в my_string какие-то данные через My_String.

    всё это делается очень легко:
    //получить данные из my_string (get)
    var temp = My_String; 
    //записать/установить/изменить данные в my_string (set)
    My_String = "я тебя изменяю";  // в этом случае в  будет не my_string = "что-то", а my_string = "я тебя изменяю"
    Ответ написан
    1 комментарий
  • Как использовать переменные по запросу?

    @John_Nash
    coder
    Что вы понимаете под словом "переменная"? В коде есть статическое свойство и метод. Передача свойства в качестве 2го параметра вызывает метод get.
    PS: советую потратить немного времени на чтение основ: поля, свойства, методы, чтобы понимать, чем они отличаются
    Ответ написан
    Комментировать
  • Kак решить проблему со спавном в unity3d?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Вы же при вызове Instantiate указываете положение и вращение, конечно у вас вращение из префаба игнорируется. Либо вынесите в инспектор ObjectSpawner параметр доворота и используйте его при инстанциировании, либо перепишите генератор так, чтобы он сразу спавнил домики по обеим сторонам улицы.
    Ответ написан
    Комментировать
  • C#: Как правильно прочитать и записать объекты в ArrayList?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Не стоит использовать ArrayListбез весомой на то необходимости. Поэтому компилятор не смог вас предупредить, что ArrayListсостоит из ArrayList'ов, в котором строки (двумерный массив строк), а не просто строк.

    Вместо ArrayListнеобходимо использовать типизированный динамический массивList<string>.

    public void Click_OpenFile()
    {
        string fileName = form1.OpenFie();
    
        IList<string[]> aL = ParseFile(fileName);
    
        foreach (var line in aL)
        {
            // Снова собираем токены в строки
            MessageBox.Show(string.Join(" ", line));
        }
    }
    
    // Читаем файл и построчно парсим его
    private IList<string[]> ParseFile(string fileName)
    {
        if (string.IsNullOrEmpty(fileName))
        {
            throw new ArgumentNullException(nameof(fileName));
        }
        if (!File.Exists(fileName))
        {
            throw new ArgumentException($"There is no file {fileName}!");
        }
    
        string[] fileContent = File.ReadAllLines(result);
        var aL = new List<string[]>(fileContent.Length);
        foreach (var line in fileContent)
        {
            aL.Add(ParseString(line));
        }
        return aL;
    }
    
    // Разбиваем строки на токены
    private string[] ParseString(string s)
    {
        const char delimiter = '|';
        return s.Split(delimiter);
    }
    Ответ написан
    Комментировать
  • Как сделать плавное увеличение объекта?

    @S0HardCore
    Вариант с корутинами. Запускаешь через:
    StartCoroutine(SlowScale());

    IEnumerator SlowScale()
    {
       for (float q = 1f; q < 2f; q += .1f;)
       {
          transform.localScale = new Vector3(q, q, q);
          yield return new WaitForSeconds(.05f)
       }
    }

    Где .1f - величина изменения размера, а .05f - скорость изменения.
    Ответ написан
    5 комментариев
  • Как сделать плавное увеличение объекта?

    GavriKos
    @GavriKos Куратор тега Unity
    Lerp в Update по времени. Запоминаете текущий скейл и целевой, задаете время за сколько надо измениться, и между ними интерполируетесь каждый кадр.
    Или используйте плагины типа tweener.
    Ответ написан
    1 комментарий
  • Сгорела видеокарта и PCI разьем ,компьютер постоянно перезагружается,из-за чего?

    Обратитесь к иженеру-электронщику для диагностики мат. платы и замены сгоревших компонентов. Какой ещё ответ вы ожидаете здесь увидеть?
    Ответ написан
    6 комментариев
  • При использовании lightmap'а откуда берется информация о положении источника света?

    @GreatRash
    Lightmap is a way of generating textures that simulate lighting of your game environment. Lightmaps are baked during compiling (when you build lights) and are overlaid on top of geometry (bsp and custom static meshes) to simulate lighting and shadows.

    Короче это тупо текстура. А источники света есть только в редакторе. После запекания лайтмапы их можно удалить.
    Ответ написан
    5 комментариев