@ananas_roma
Пытаюсь кодить.

Где Ошибка в коде (ввод в Unity)?

Здравствуйте!
Имеется код (да, корявый, ибо я новичок):
using UnityEngine;
using System.Collections;
using System;
using System.Collections.Generic;

public class Chose : MonoBehaviour {
	public int i=0;
	public string [] m = new string[100];
	public List <string> films = new List<string>(100);
	public void Changename(string str)
	{
		films.Add(str);
		i += 1;
		Debug.Log("Имя" + i +", название фильма - " + str);
	}
	public void WriteAllOfThem()
	{
		foreach (string p in films)
		{
			Debug.Log (p);
		}
	}
}
class Film
{
	public string Name { get; set; } 
}

И по идее, в Unity пользователь должен вводить текст, потом нажимать Enter, так все заполнить и нажать на кнопку, чтобы все вывелось в Debug.Log();

Вот скрин из Unity2D:
59fae298eebcf866342494.png
  • Вопрос задан
  • 141 просмотр
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
Changename у вас вполне себе может быть без параметра.
Как вы указали у себя на скрине красными стрелочками - это не из текстового поля текст возможность передать, а методу что-то подпихнуть из Editor (никак не связанно с вводом)

вам в скрипте надо где то указать или получить ссылку на
InputField

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

public class Chose : MonoBehaviour {
public InputField nameField;
  public int i=0;
  public string [] m = new string[100];
  public List <string> films = new List<string>(100);
  public void Changename()
  {
    string newName = nameField.text;
    films.Add(newName );
    i += 1;
    Debug.Log("Имя" + i +", название фильма - " + newName );
  }
  public void WriteAllOfThem()
  {
    foreach (string p in films)
    {
      Debug.Log (p);
    }
  }
}
class Film
{
  public string Name { get; set; } 
}


только в инспекторе не забудьте указать ссылку на это текстовое поле.
и так к слову по этой ссылке мы можете и подставлять текст в это поле и формат менять, да и вообще как без ссылочки на элемент вы хотели с ним работать?))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы