我正在制作一个游戏,其中我的玩家是一个不明飞行物,当玩家与其他游戏物体发生碰撞时,我需要将游戏物体附着或漂浮在玩家(UFO)下方的空中,就像原始的UFO一样。我试着把它们作为一个孩子附上,但它没有用。
我制作了如下脚本:
if (coll) {
distance = Vector2.Distance (this.transform.position, player.transform.position);
if (distance < 2) {
this.transform.parent = encaixe.transform;
this.transform.localPosition = new Vector2 (0f, 1.2f);
this.transform.localRotation = Quaternion.identity;
encaixe.rigidbody2D.gravityScale=0;
}
}
在使用此脚本时,游戏对象正在附加,但播放器不会像原始一样移动。游戏对象正在向下拉或向上拉。
请告诉我如何做到这一点。
答案 0 :(得分:0)
我知道这个主题很老,但是也许有人可能会遇到这个问题并且需要答案。
您可以将“碰撞时”的“对象的位置和旋转”主动设置为UFO。 类似于以下内容(伪代码):
private bool hasCollided = false;
void OnCollisionEnter()
{
hasCollided = true;
}
void LateUpdate()
{
if (hasCollided)
{
followPlayer();
}
}
void followPlayer()
{
//update position and rotation
}