繁体   English   中英

如何获得预制件的统一地位?

[英]How to get the Prefabs position in unity?

我想将坦克的脸旋转到敌人移动的方向,并且我需要enemy位置。

enemy.transform.position; 当敌人处于层次结构中时起作用,但是我的敌人位于Prefabs中,并且以下代码不起作用。 请帮忙 :)

using UnityEngine;
using System.Collections;

public class RotateTank : MonoBehaviour {
public GameObject enemy;

void Update () {
    faceTank ();
}

void faceTank(){

    Vector3 enemyPosition;

    enemyPosition = enemy.transform.position;


    Vector2 direction = new Vector2 (
                             enemyPosition.x - transform.position.x,
                             enemyPosition.y - transform.position.y

                         );

    transform.up = direction;
}
}

游戏世界中不存在预制件。 预制件是可以实例化的“模板”。 如果您想做的是使战车向游戏世界中存在的任何敌人旋转,则需要在RotateTank脚本中引用这些GameObject。 您可以通过多种方式执行此操作,例如向敌人的预制件添加“敌人”标签,并使用GameObject.FindGameObjectsWithTag查找生成的敌人。 您还可以在RotateTank脚本中有一个静态List<GameObject> RotateTank List<GameObject> ,其中包含对现有敌人的引用,并在它们生成时将其添加到该列表中,并在它们死亡时将其删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM