Joystick для игры "Змейка 3D" на Unity3D не работает корректно

Я достаточно долго создаю игру Змейка 3D. Сейчас я решил делать управление для телефона, для этого я импортировал "Joystick pack" из Asset store. Я добавил в код управления змеёй сам джойстик, но код отказывается работать:

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

public class SnakeMovement : MonoBehaviour
{
    public float Speed = 6;
    public float RotationSpeed = 300;

    public float z_ofset = -0.01f;
    public GameObject tailPrefab;
    public List<GameObject> tailObject = new List<GameObject>();
    public Text onScreen;
    public int score;
    public Joystick joystick;

    // Use this for initialization
    void Start()
    {
        tailObject.Add(gameObject);
    }

    // Update is called once per frame
    void Update()
    {
        onScreen.text = "Score = " + score;
        transform.Translate(Vector3.forward * Speed * Time.deltaTime);
        if (Input.Joystick(joystick.Horizontal))
        {
            transform.Rotate(Vector3.up * RotationSpeed * Time.deltaTime);
        }
        if (Input.Joystick(joystick.Horizontal))
        {
            transform.Rotate(Vector3.down * RotationSpeed * Time.deltaTime);
        }
    }
    public void AddTail()
    {
        Vector3 newtailPosition = tailObject[tailObject.Count - 1].transform.position;
        newtailPosition.z += z_ofset;
        tailObject.Add(GameObject.Instantiate(tailPrefab, newtailPosition, Quaternion.identity) as GameObject);


    }
    public void ScoreAll(){
        score = score + 1;
    }
}

При компиляции программы у меня в Unity появляется ошибка:

error CS0117: 'input' does not contain a definition for 'Joystick' 

Ответы (1 шт):

Автор решения: Кирилл Федин

У меня получилось решить проблему с кодом, решение было достаточно близко:

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

public class SnakeMovement : MonoBehaviour
{
    public float Speed = 6;
    public float RotationSpeed = 300;

    public float z_ofset = -0.01f;
    public GameObject tailPrefab;
    public List<GameObject> tailObject = new List<GameObject>();
    public Text onScreen;
    public int score;
    public Joystick joystick;

    // Use this for initialization
    void Start()
    {
        tailObject.Add(gameObject);
    }

    // Update is called once per frame
    void Update()
    {
        onScreen.text = "Score = " + score;
        transform.Translate(Vector3.forward * Speed * Time.deltaTime);
        Vector3 direction1 = Vector3.up * joystick.Horizontal;
        transform.Rotate(direction1 * RotationSpeed * Time.deltaTime);
    }
    public void AddTail()
    {
        Vector3 newtailPosition = tailObject[tailObject.Count - 1].transform.position;
        newtailPosition.z += z_ofset;
        tailObject.Add(GameObject.Instantiate(tailPrefab, newtailPosition, Quaternion.identity) as GameObject);


    }
    public void ScoreAll(){
        score = score + 1;
    }
}
→ Ссылка