Вопрос Что не так с этим скриптом

Регистрация
23 Янв 2013
Сообщения
136
Репутация
0
Спасибо
1
Монет
0
пишет то что в 10 и 22 строке нет точки с запятой хотя 10 строка с точкой запятой а в 22 строке фигурная скобка

using Cinemachine;

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.EventSystems;



public class CameraControllerPanel : MonoBehaviour, IPointerDownHandler, IPointerUpHandler

{

public bool pressed = false;

public bool isMobile = true;

public float sensitivity;

public CinemachineVirtualCamera CVC;

private int fingerId;

private void Start()

{

((isMobile)

{

CVC.GetCinemachineComponent<CinemachinePOV>().m_HorizontalAxis.m_MaxSpeed = sensitivity;

CVC.GetCinemachineComponent<CinemachinePOV>().m_VerticalAxis.m_MaxSpeed = sensitivity;

CVC.GetCinemachineComponent<CinemachinePOV>().m_HorizontalAxis.m_InputAxisName = "";

CVC.GetCinemachineComponent<CinemachinePOV>().m_VerticalAxis.m_InputAxisName = "";

}

else

{

CVC.GetCinemachineComponent<CinemachinePOV>().m_HorizontalAxis.m_InputAxisName = "Mouse X";

CVC.GetCinemachineComponent<CinemachinePOV>().m_VerticalAxis.m_InputAxisName = "Mouse Y";

}

}

public void OnPointerDown(PointerEventData eventData)

{

if (eventData.pointerCurrentRaycast.gameObject == gameObject)

{

pressed = true;

fingerId = eventData.pointerId;

}

}



public void OnPointerUp(PointerEventData eventData)

{

pressed = false;

CVC.GetCinemachineComponent<CinemachinePOV>().m_VerticalAxis.m_InputAxisValue = 0;

CVC.GetCinemachineComponent<CinemachinePOV>().m_HorizontalAxis.m_InputAxisValue = 0;

}





// Update is called once per frame

void Update()

{

if (pressed)

{

foreach (Touch touch in Input.touches)

{

if (touch.fingerId == fingerId)

{

if (touch.phase == TouchPhase.Moved)

{

CVC.GetCinemachineComponent<CinemachinePOV>().m_VerticalAxis.m_InputAxisValue = touch.deltaPosition.y;

CVC.GetCinemachineComponent<CinemachinePOV>().m_HorizontalAxis.m_InputAxisValue = touch.deltaPosition.x;

}

if (touch.phase == TouchPhase.Stationary)

{

CVC.GetCinemachineComponent<CinemachinePOV>().m_VerticalAxis.m_InputAxisValue = 0;

CVC.GetCinemachineComponent<CinemachinePOV>().m_HorizontalAxis.m_InputAxisValue = 0;

}

}

}

}

}

}
 
Мы должны по пальцам строчки твои считать?
 
Ошибка в строке 12. Необходимо использовать оператор условия if, а не скобки. Правильный вариант:

if (isMobile)
{
CVC.GetCinemachineComponent<CinemachinePOV>().m_HorizontalAxis.m_MaxSpeed = sensitivity;
CVC.GetCinemachineComponent<CinemachinePOV>().m_VerticalAxis.m_MaxSpeed = sensitivity;
CVC.GetCinemachineComponent<CinemachinePOV>().m_HorizontalAxis.m_InputAxisName = "";
CVC.GetCinemachineComponent<CinemachinePOV>().m_VerticalAxis.m_InputAxisName = "";
}
else
{
CVC.GetCinemachineComponent<CinemachinePOV>().m_HorizontalAxis.m_InputAxisName = "Mouse X";
CVC.GetCinemachineComponent<CinemachinePOV>().m_VerticalAxis.m_InputAxisName = "Mouse Y";
}
 
В строке 14 после ((isMobile) должен быть оператор if, чтобы проверить условие. Также в строке 22 перед else должен быть закрывающий круглый скобочка (})
 
Ты выбрал не пайтон
 
Назад
Сверху