Я хотел переместить игрока на позицию x на земле

#c# #unity3d

#c# #unity3d

Вопрос:

В настоящее время я создаю 2D-игру, такую как asteroids, и я хотел, чтобы земля следовала за позицией игрока X, но это выдало мне ошибку, это сценарий:

 using System.Collections; using System.Collections.Generic; using UnityEngine;  public class playerFollow : MonoBehaviour {   public Transform playerPos;     private void Update()  {  gameObject.transform.position = playerPos.position.x;  } }   

Это сообщение об ошибке: невозможно неявно преобразовать тип «float» в «UnityEngine».Вектор3′

Ответ №1:

Ошибка говорит о том, что вы пытаетесь присвоить float (положение x вашего palyerPos ) положению вашего игрового объекта (которое является a Vector3 ).

Поскольку вы не можете просто присвоить значение x значению a transform.position , я рекомендую вам буферизировать свою gameObject позицию в локальной переменной, изменить эту переменную, а затем переназначить измененную позицию для gameObject преобразования !

Надеюсь, я выразился достаточно ясно 🙂