@royallion

Почему не работает скрипт движения?

Хочу создать игру 3д с видом сверху, написал скрипт с движением персонажа, но он не работает.

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    private CharacterController controller;
    private Vector3 dir;
    [Serializefield] private int speed;

    private int lineToMove = 5;
    public float lineDistance = 4;
    // Start is called before the first frame update
    void Start()
    {
        controller = GetComponent<CharacterController>();
    }
    private void Update()
    {
        if (SwipeController.swipeRight)
        {
            if (lineToMove < 2)
                lineToMove++;
        }


        if (SwipeController.swipeleft)
        {
            if (lineToMove > 0)
                lineToMove--;
        }

        Vector3 targetPosition = transform.position.z * transform.forward + transform.position.y * transform.up;
        if (lineToMove == 0)
            targetPosition += Vector3.left * lineDistance;
        else if (lineToMove == 2)
            targetPosition += Vector3.right * lineDistance;

        transform.position = targetPosition;
    }



    // Update is called once per frame
    void FixedUpdate()
    {
        dir.z = speed;
CharacterController controller = this.controller;
        controller.Move(dir * Time.fixedDeltaTime);
    }
}

internal class dir
{
    public static int z { get; internal set; }
}

internal class SerializefieldAttribute : Attribute
{
}
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы