【问题标题】:How to get a projectile to shoot towards a gameobject如何让弹丸射向游戏对象
【发布时间】:2014-12-06 10:37:33
【问题描述】:

我目前正在开发一个 TurretAi。我有它,当敌人在一定范围内时,炮塔瞄准敌人,但我无法让炮塔向敌人发射弹丸。这是我目前拥有的这是炮塔类。

using UnityEngine;
using System.Collections;

public class Defence : MonoBehaviour {

    public float DistanceFromCastle,CoolDown;
    public GameObject enemy;
    public GameObject Bullet;
    public int protectionRadius,bulletSpeed;

    // Use this for initialization
    void Start () 
    {
        protectionRadius = 35;
        bulletSpeed = 50;
        CoolDown = 5;

    }

    // Update is called once per frame
    void Update () {

        enemy = GameObject.FindGameObjectWithTag("Enemy");

        if(enemy != null)
        {
            DistanceFromCastle = Vector3.Distance(GameObject.FindGameObjectWithTag("Enemy").transform.position,GameObject.FindGameObjectWithTag("Defence").transform.position);
            //print (DistanceFromCastle);
            if(DistanceFromCastle <= protectionRadius)
            {
                attackEnemy();
            }

        }
    }
    void attackEnemy()
    {
        transform.LookAt(enemy.transform);
        CoolDown -= Time.deltaTime;
        if (CoolDown <= 0)
        {

            Debug.DrawLine(transform.position,enemy.transform.position,Color.red);
            Instantiate(Bullet,Vector3.forward,Quaternion.identity);

            print("attack Enemy");
            CoolDown = 5;
        }
    }
}

我也已经有一个冷却变量,所以它每 5 秒才发射一次,任何帮助都会很棒。

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    你已经很接近了,你需要改变这一行:

    Instantiate(Bullet, Vector3.forward, Quaternion.identity);
    

    到这里:

    private const int SPAWN_DISTANCE = 5;
    
    Instantiate(Bullet, transform.position + SPAWN_DISTANCE * transform.forward, transform.rotation);
    

    Quaternion.identity指的是:

    这个四元数对应于“无旋转”。

    【讨论】:

    • 当我改变这个时,子弹不会从炮塔所在的直线上发射
    • 你的炮塔有很多零件吗?别告诉我你旋转顶部,脚本就附在底座上。
    • 我只是将它连接到一个立方体上,并让立方体在它在范围内时查看对象,我想向它发射弹丸
    • 这不会在立方体面对的当前方向射击
    • 工作就像一个魅力,我改变了一点,我把 DistanceFrom 城堡变量放入 Spawn 距离,现在它就像我想要的那样工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多