如何在unity c#中让敌人从屏幕的顶部移动到底部?

本文关键字:顶部 屏幕 移动 底部 敌人 unity | 更新日期: 2023-09-27 18:14:45

我试图使用unity创造一款2D太空射击类游戏,但我似乎无法让生成的敌人从屏幕顶部移动到底部,我实际上是unity和c#的新手,我不知道我的代码出了什么问题。

下面是我的代码:
using UnityEngine;
using System.Collections;
public class EnemyControl : MonoBehaviour {
float speed;
// Use this for initialization
void Start () {
    speed = 2f;
}
// Update is called once per frame
void Update () {
    Vector2 position = new transform.position;
    position = new Vector2(position.x, position.y - speed * Time.deltaTime);
    transform.position = position;
    Vector2 min = Camera.main.ViewportToWorldPoint(new Vector2(0, 0));
    if(transform.position.y < min.y) {
    Destroy(gameObject);
    }
}

如何在unity c#中让敌人从屏幕的顶部移动到底部?

这是你应该如何移动对象从上到下

using UnityEngine;
using System.Collections;
public class EnemyControl : MonoBehaviour {
   float speed;
    void Start () {
      speed = 2.0f;
}
// Update is called once per frame
void FixedUpdate () {
    godown();
}
void godown() {
    transform.position += Vector3.down *speed* Time.deltaTime;
}

现在在你的游戏世界中添加另一个对象,你可以称之为驱逐舰。将新对象放置在场景的底部。给一个下落对象命名为fallingObject。并将此脚本添加到新对象中。

using UnityEngine;
using System.Collections;
public class DestroyCubes : MonoBehaviour
{
void OnCollisionEnter2D(Collision2D col)
{
    if(col.gameObject.name == "fallingObject")
    {
        Destroy(col.gameObject);
    }
}
}

新的脚本名称应该是"DestroyCubes"