MicroProger
@MicroProger
Работает - не трогай

Как сделать управление в Unity персонажем (ошибка в коде)?

Здравствуйте! Появилась такая проблема
Делаю проект, чтобы испытать свои возможности, но столкнулся с проблемой! В коде все работает, но проблема с самим движением
using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class forward : MonoBehaviour
{
    public float speed = 100000;
    GameObject Player;
    


    // Start is called before the first frame update
    void Start()
    {
        Debug.Log ("forward");
        Player = (GameObject)this.gameObject;
    }

    // Update is called once per frame
    void Update()
    {
        
        
        
        
        if (Input.GetMouseButtonDown(0))
        {
            Debug.Log ("forward");
            
            Forward();
        }
      
    }

    

    void Forward()
    {
        Player.transform.position += Player.transform.forward * speed * Time.deltaTime;
    }
}


Код привязывается к кнопке
Самое удивительное, что часть кода, где нажимается на кнопку ( if (Input.GetMouseButtonDown(0))) работает, и в консоль Debug.Log () выдает forward.
Help me pls(
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
@Ezekiel4
Охотник на пиратов и сборщик монолитов
Добрый вечер. Замените

Player.transform.position += Player.transform.forward * speed * Time.deltaTime;

На
transform.position += transform.forward * speed * Time.deltaTime;

И поменяйте значение скорости, хотя бы на

public float speed = 50;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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