如何在产卵后移动敌人

时间:2016-03-03 03:13:19

标签: c# unity3d

我仍然有一点困难让这个工作。简而言之,我只需要Unity / C#中的敌人进行转换。一旦实例化,就会在屏幕上进行翻译。敌人在给定的X坐标和随机Y坐标中完美地实例化,但是一旦实例化它们就会坐在那里。我把这个脚本放在一个空的游戏对象上面。

 using UnityEngine;
    using System.Collections;

    public class CowLauncher : MonoBehaviour

{

    public float delay = 0.1f;
    public GameObject cow;
    public bool spawnedTrue;

    void Start ()
    {
        InvokeRepeating("Spawn", delay, delay);
        spawnedTrue = false;
    }

    void Spawn ()
    {
        Instantiate(cow, new Vector2(3.59f, Random.Range(-0.5f, 1)), Quaternion.identity);
        spawnedTrue = true;
    } 
}

然后,根据以下Adrian的建议,我继续为牛预制件创建了一个新脚本,并将这个新脚本放在牛预制件上。

    using UnityEngine;
using System.Collections;

public class MoveCow : MonoBehaviour {

    public int cowSpeed;
    public bool spawnedTrue;

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void FixedUpdate ()
    {
        if (spawnedTrue)
        {
            transform.Translate(cowSpeed * Time.deltaTime, 0f, 0f);
        }
    }
}

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

你正在移动牛发射器,而不是奶牛本身。使用

附加新脚本
void FixedUpdate ()
{
    if (spawnedTrue)
    {
        transform.Translate(cowSpeed * Time.deltaTime, 0f, 0f);
    }
}

牛预制/游戏对象你应该很好。