#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
преобразования !
Надеюсь, я выразился достаточно ясно 🙂