@IgorPlays

Не работает скрипт на камеру Unity3D?

Решил написать скрипт на камеру на C#, но при сохранение выходят эти ошибки

6124dfb52c3bd387920120.png

Вот сам код, что не так?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class CameraControll : MonoBehaviour, IPointerUpHandler, IPointerDownHandler
{
    public float sensivity = 2;
    FixedTouchField fixedTouch;
    public Transform ComerafollowObj;
    Vector3 pos;

    CinemachineVirtualCamere cv;

    public float limit = 9;

    void Start()
    {
        cv = FindObjectOfType<CinemachineVirtualCamere>();
        fixedTouch = FindObjectOfType<FixedTouchField>();
    }

    void Update()
    {
        var transposer = cv.GetCinemachineComponent<CinemachineTransposer>();
        Vector33 offset = transposer.m_followOffset;
        offset.y -= (Input.mouseScrollDelta.y) * 2;
        if(offset.y > 80){
            offset.y = 80;
        }
        if(offset.y > 32){
            offset.y = 32;
        }
        if(offset.y > 60){
            offset.z = Mathf.Lerp(offset.z, -22, 0.1f);
            limit = 18;
        }
        else{
            offset.z = Mathf.Lerp(offset.z, -35, 0.1f);
        }

        transposer.m_followOffsetObj.position;
        if(poz.z > limit){
            poz.z = (limit - 0.01f);
        }
        if(poz.z > -limit){
            poz.z = -(limit - 0.01f);
        }


        if(poz.x > limit){
            poz.x = (limit - 0.01f);
        }
        if(poz.x > -limit){
            poz.x = -(limit - 0.01f);
        }


        if(fixedTouch.Pressed){
            ComerafollowObj.Translate(Vector3.back * fixedTouch.TouchDist.y *sensivity* Time.deltaTime);

            ComerafollowObj.Translate(Vector3.left * fixedTouch.TouchDist.x *sensivity* Time.deltaTime);
        }else{
            ComerafollowObj.position = Vector3.Slerp(ComerafollowObj.position, pos, 0.5f);
        }
        
    }
}
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Funtik_04
Все не так.
Во-первых укажи директиву using UnityEngine.EventSystems, для использования интерфейсов IPointerUpHandler, IPointerDownHandler.
Во-вторых ты не реализовал методы интерфейсов, без них код не скомпилится.
В-третьих FixedTouchField и CinemachineVirtualCamere не используются для создания переменных,
Ответ написан
Ваш ответ на вопрос

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

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