我正在Unity中制作一款2D游戏,但在尝试在游戏中的平台上准确生成方块时遇到了困难。我不想让方块看起来像是漂浮的或重叠着平台。
我似乎无法得出正确的计算。
我目前有这段代码:
public GameObject blockPrefab;
public GameObject platform;
public GameObject dummyBlock;
// Use this for initialization
void Start ()
{
float platformSize = platform.GetComponent<Renderer>().bounds.size.y;
float blockSize = dummyBlock.GetComponent<Renderer>().bounds.size.y;
Debug.Log(platformSize.ToString());
GameObject test = (GameObject)Instantiate(blockPrefab,
new Vector3(platform.transform.position.x, platform.transform.position.y + platformSize/2, platform.transform.position.z),
Quaternion.identity);
}
这样做的问题在于它生成的方块与平台重叠,这意味着我对于方块的y位置的计算是错误的。我还在适应使用Unity的世界坐标系,所以有人知道如何解决吗?
blockBottom
变量,然后从中计算blockCenter
可以使这段代码更易读。 - Max YankovplatformTop
,因为我认为这样更清晰。 - Adam H