我需要在Start()中为玩家设置随机位置作为minecraft。
玩家已经有了脚本,但位置默认不变。
24和25字符串错误。
编码:
using UnityEngine;
public class RandomRespawn : MonoBehaviour
{
[Header("Игрок")] // player
public GameObject Player;
[Header("Объявление координат")] // have position
public int positionX;
public int positionZ;
[Header("Рандомные координаты")] // random position
public int randomPosX;
public int randomPosZ;
private void Start()
{
System.Random randomPos = new System.Random();
Vector3 positions = transform.position;
positionX = randomPos.Next(1, 50);
positionZ = randomPos.Next(1, 50);
gameObject.positions.x = positionX;
gameObject.positions.z = positionZ;
}
}
我有错误:(25,20):错误CS1061:'GameObject'不包含'positions'的定义,而且找不到可存取的扩充方法'positions'接受型别'GameObject'的第一个参数(您是否遗漏using指示词或组件指涉?),now =(
2条答案
按热度按时间guykilcj1#
要更改附加玩家游戏对象的位置,您需要更改以下内容:
对此:
taor4pac2#
无法从
GameObject
获取position
属性,需要从Transform
属性获取position
。而且你不能直接从
float
的值直接设置position.x
的值,你必须创建一个新的Vector3
变量,并首先设置它的值,然后你才能把这个变量的值应用到你的transform.position
。