unity2D中,上下移动的物体

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class eagle : MonoBehaviour
{
    private Rigidbody2D rb;
    private Collider2D coll;
    private float upy,downy;
    public Transform upside,downside;
    public float speed;

    private bool isup = true;
    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
        coll = GetComponent<Collider2D>();
        transform.DetachChildren();
        upy = upside.position.y;
        downy = downside.position.y;
        Destroy(upside.gameObject);
        Destroy(downside.gameObject);
    }

    // Update is called once per frame
    void Update()
    {
        Movement();
    }

    void Movement()
    {
        if  (isup)
        {
            rb.velocity = new Vector2(rb.velocity.x, speed);
            if (transform.position.y > upy)
            {
                isup = false;
            }                                         
        }
        else    
        {
            rb.velocity = new Vector2(rb.velocity.x, -speed);
            if (transform.position.y < downy)
            {
                isup = true;
            }
        }              
    }
}

你可能感兴趣的:(unity2D中,上下移动的物体)