Скрипт стандартного ресурса Unity3D не работает должным образом - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь завершить проект, используя стандартные ресурсы unity3D. Но при импорте ресурсов скрипты создавали ошибку: «В файле нет скриптов MonoBehavior или их имена не совпадают с именем файла». и другая ошибка - «Assets \ Standard Assets \ Characters \ RollerBall \ Scripts \ BallUserControl.cs (3,27): ошибка CS0234: имя типа или пространства имен« CrossPlatformInput »не существует в пространстве имен« UnityStandardAssets »(вам не хватает ссылка на сборку?) ". Поскольку я новичок в единстве и хотя у меня есть предварительные знания, но не в C#, я не понимаю ошибок. Я также привел ниже сценарий для поиска проблемы.

using System;
using UnityEngine;

namespace UnityStandardAssets.Vehicles.Ball
{
    public class Ball : MonoBehaviour
    {
        [SerializeField] private float m_MovePower = 5; // The force added to the ball to move it.
        [SerializeField] private bool m_UseTorque = true; // Whether or not to use torque to move the ball.
        [SerializeField] private float m_MaxAngularVelocity = 25; // The maximum velocity the ball can rotate at.
        [SerializeField] private float m_JumpPower = 2; // The force added to the ball when it jumps.

        private const float k_GroundRayLength = 1f; // The length of the ray to check if the ball is grounded.
        private Rigidbody m_Rigidbody;


        private void Start()
        {
            m_Rigidbody = GetComponent<Rigidbody>();
            // Set the maximum angular velocity.
            GetComponent<Rigidbody>().maxAngularVelocity = m_MaxAngularVelocity;
        }


        public void Move(Vector3 moveDirection, bool jump)
        {
            // If using torque to rotate the ball...
            if (m_UseTorque)
            {
                // ... add torque around the axis defined by the move direction.
                m_Rigidbody.AddTorque(new Vector3(moveDirection.z, 0, -moveDirection.x)*m_MovePower);
            }
            else
            {
                // Otherwise add force in the move direction.
                m_Rigidbody.AddForce(moveDirection*m_MovePower);
            }

            // If on the ground and jump is pressed...
            if (Physics.Raycast(transform.position, -Vector3.up, k_GroundRayLength) && jump)
            {
                // ... add force in upwards.
                m_Rigidbody.AddForce(Vector3.up*m_JumpPower, ForceMode.Impulse);
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...