Привет всем! При программировании у меня вылезло пять ошибок CS1061:(
Первая:
Assets\SnakeMovement\Images\Scripts\SnakeManager.cs(41,57): error CS1061: 'MarkerManager' does not contain a definition for 'markerList' and no accessible extension method 'markerList' accepting a first argument of type 'MarkerManager' could be found (are you missing a using directive or an assembly reference?)
Вторая:
Assets\SnakeMovement\Images\Scripts\SnakeManager.cs(42,57): error CS1061: 'MarkerManager' does not contain a definition for 'markerList' and no accessible extension method 'markerList' accepting a first argument of type 'MarkerManager' could be found (are you missing a using directive or an assembly reference?)
Третья:
Assets\SnakeMovement\Images\Scripts\SnakeManager.cs(43,23): error CS1061: 'MarkerManager' does not contain a definition for 'markerList' and no accessible extension method 'markerList' accepting a first argument of type 'MarkerManager' could be found (are you missing a using directive or an assembly reference?)
Четвертая:
Assets\SnakeMovement\Images\Scripts\SnakeManager.cs(74,23): error CS1061: 'MarkerManager' does not contain a definition for 'markerList' and no accessible extension method 'markerList' accepting a first argument of type 'MarkerManager' could be found (are you missing a using directive or an assembly reference?)
Пятая:
Assets\SnakeMovement\Images\Scripts\SnakeManager.cs(75,23): error CS1061: 'MarkerManager' does not contain a definition for 'markerList' and no accessible extension method 'markerList' accepting a first argument of type 'MarkerManager' could be found (are you missing a using directive or an assembly reference?)
Пожалуйста помогите исправить! Заранее спасибо:)
Вот код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SnakeManager : MonoBehaviour
{
[SerializeField] float distanceBetween = .2f;
[SerializeField] float speed = 280;
[SerializeField] float turnSpeed = 18;
[SerializeField] List<GameObject> bodyParts = new List<GameObject>();
List<GameObject> snakeBody = new List<GameObject>();
float countUp = 0;
// Start is called before the first frame update
void Start()
{
CreateBodyParts();
}
// Update is called once per frame
void FixedUpdate()
{
if (bodyParts.Count > 0)
{
CreateBodyParts();
}
SnakeMovement();
}
void SnakeMovement()
{
snakeBody[0].GetComponent<Rigidbody2D>().velocity = snakeBody[0].transform.right * speed * Time.deltaTime;
if (Input.GetAxis("Horizontal") != 0)
snakeBody[0].transform.Rotate(new Vector3(0, 0, -turnSpeed * Time.deltaTime * Input.GetAxis("Horizontal")));
if(snakeBody.Count > 1)
{
for(int i = 1; i < snakeBody.Count; i++)
{
MarkerManager markM = snakeBody[i - 1].GetComponent<MarkerManager>();
snakeBody[i].transform.position = markM.markerList[0].position; Ошибка 1
snakeBody[i].transform.rotation = markM.markerList[0].rotation; Ошибка 2
markM.markerList.RemoveAt(0); Ошибка 3
}
}
}
void CreateBodyParts()
{
if (snakeBody.Count == 0)
{
GameObject temp1 = Instantiate(bodyParts[0], transform.position, transform.rotation, transform);
if (!temp1.GetComponent<MarkerManager>())
temp1.AddComponent<MarkerManager>();
if (!temp1.GetComponent<Rigidbody2D>())
{
temp1.AddComponent<Rigidbody2D>();
temp1.GetComponent<Rigidbody2D>().gravityScale = 0;
}
snakeBody.Add(temp1);
bodyParts.RemoveAt(0);
}
MarkerManager markM = snakeBody[snakeBody.Count - 1].GetComponent<MarkerManager>();
if (countUp == 0)
{
markM.ClearMarkerList();
}
countUp += Time.deltaTime;
if (countUp >= distanceBetween)
{
GameObject temp = Instantiate(bodyParts[0],
markM.markerList[0].position, Ошибка 4
markM.markerList[0].rotation, Ошибка 5
transform);
if (!temp.GetComponent<MarkerManager>())
temp.AddComponent<MarkerManager>();
if (!temp.GetComponent<Rigidbody2D>())
{
temp.AddComponent<Rigidbody2D>();
temp.GetComponent<Rigidbody2D>().gravityScale = 0;
}
snakeBody.Add(temp);
bodyParts.RemoveAt(0);
temp.GetComponent<MarkerManager>().ClearMarkerList();
countUp = 0;
}
}
}