Я сегодня потратил 5 часов в поисках решения этой проблемы в интернете и на офф. документации Unity. Уже руки опускаются))
Понимаю, с моим уровнем знаний, я многое не понимаю и чего-го мог упустить, но всё-же надеюсь на вашу помощь, ведь не хочется на самом начале изучения чего-то нового - разочароваться в этом и бросить)
Заранее благодарю за помощь.
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
List<string> PlayerMovement = new List<string>();
public float speed;
void Start()
{
}
void Update()
{
}
public void Forward()
{
PlayerMovement.Add("Forward");
}
public void Back()
{
PlayerMovement.Add("Back");
}
public void RotateLeft()
{
PlayerMovement.Add("RotateLeft");
}
public void RotateRight()
{
PlayerMovement.Add("RotateRight");
}
public void Play()
{
for (int i = 0; i < PlayerMovement.Count; i++)
{
switch (PlayerMovement[i])
{
case "Forward":
print("Forward");
transform.position += transform.forward * (speed * Time.deltaTime);
break;
case "Back":
print("Back");
transform.position -= transform.forward * (speed * Time.deltaTime);
break;
case "RotateLeft":
print("RotateLeft");
transform.Rotate(0f, -90f, 0f);
break;
case "RotateRight":
print("RotateRight");
transform.Rotate(0, 90, 0);
break;
}
}
PlayerMovement.Clear();
print(PlayerMovement.Count);
}
}
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
List<string> PlayerMovement = new List<string>();
public float speed;
void Start()
{
}
void Update()
{
}
public void Forward()
{
PlayerMovement.Add("Forward");
}
public void Back()
{
PlayerMovement.Add("Back");
}
public void RotateLeft()
{
PlayerMovement.Add("RotateLeft");
}
public void RotateRight()
{
PlayerMovement.Add("RotateRight");
}
public void Play()
{
for (int i = 0; i < PlayerMovement.Count; i++)
{
switch (PlayerMovement[i])
{
case "Forward":
print("Forward");
transform.position += transform.forward * (speed * Time.deltaTime);
break;
case "Back":
print("Back");
transform.position -= transform.forward * (speed * Time.deltaTime);
break;
case "RotateLeft":
print("RotateLeft");
transform.Rotate(0f, -90f, 0f);
break;
case "RotateRight":
print("RotateRight");
transform.Rotate(0, 90, 0);
break;
}
}
PlayerMovement.Clear();
print(PlayerMovement.Count);
}
}