unity2D中,上下移动的物体

假如想象 提交于 2020-02-25 22:33:19
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;
            }
        }              
    }
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!