Я пытаюсь научиться делать игру с использованием Unity, поэтому я нахожусь в учебнике онлайн, но столкнулся с проблемой с Parallax Scrolling. Ниже мой код:C# 'Object' не содержит определения для 'position'
public class ScrollingScript : MonoBehaviour
{
public Vector2 speed = new Vector2(2, 2);
public Vector2 direction = new Vector2(-1, 0);
public bool isLinkedToCamera = false;
public bool isLooping = false;
private List<SpriteRenderer> backgroundPart;
void Start()
{
if (isLooping)
{
backgroundPart = new List<SpriteRenderer>();
for (int i = 0; i < transform.childCount; i++)
{
Transform child = transform.GetChild(i);
SpriteRenderer r = child.GetComponent<SpriteRenderer>();
if (r != null)
{
backgroundPart.Add(r);
}
}
backgroundPart = backgroundPart.OrderBy(t => t.position.x).ToList();
}
}
void Update()
{
Vector3 movement = new Vector3(
speed.x * direction.x,
speed.y * direction.y,
0);
movement *= Time.deltaTime;
transform.Translate(movement);
if (isLinkedToCamera)
{
Camera.main.transform.Translate(movement);
}
if (isLooping)
{
SpriteRenderer firstChild = backgroundPart.FirstOrDefault();
if (firstChild != null)
{
if (firstChild.transform.position.x < Camera.main.transform.position.x)
{
if (firstChild.IsVisibleFrom(Camera.main) == false)
{
SpriteRenderer lastChild = backgroundPart.LastOrDefault();
Vector3 lastPosition = lastChild.transform.position;
Vector3 lastSize = (lastChild.bounds.max - lastChild.bounds.min);
firstChild.transform.position = new Vector3(lastPosition.x + lastSize.x, firstChild.transform.position.y, firstChild.transform.position.z);
backgroundPart.Remove(firstChild);
backgroundPart.Add(firstChild);
}
}
}
}
}
}
Так что есть ошибка в строке:
backgroundPart = backgroundPart.OrderBy(t => t.position.x).ToList();
Код ошибки «CS1061», когда он говорит, что «„объект“не содержит определения для" position 'и не может быть найдено выражение' position ', принимающее первый аргумент типа' object '(вам не хватает директивы использования или ссылки на сборку?) "
Мне было интересно, где я пошла не так? Я шаг за шагом следил за учебником. Был поиск решения, но не нашел. Заранее спасибо!
Как определяется класс 'SpriteRenderer', будет ли он содержать определение для' position' –