zoukankan      html  css  js  c++  java
  • Unity 弹道轨迹

    123

    using UnityEngine;
    using System.Collections;
    
    public class ProjectileTest : MonoBehaviour
    {
        public GameObject target;
        public float speed = 10;
        private float distanceToTarget;
        private bool move = true;
    
        void Start()
        {
            //获取两点之间的距离
            distanceToTarget = Vector3.Distance(this.transform.position, target.transform.position);
            StartCoroutine(Shoot());
        }
    
        IEnumerator Shoot()
        {
    
            while (move)
            {
                Vector3 targetPos = target.transform.position;
    
                this.transform.LookAt(targetPos);
    
                
                float angle = Mathf.Min(1, Vector3.Distance(this.transform.position, targetPos) / distanceToTarget) * 45;
                this.transform.rotation = this.transform.rotation * Quaternion.Euler(Mathf.Clamp(-angle, -42, 42), 0, 0);
    
                //向目标点移动
                float currentDist = Vector3.Distance(this.transform.position, target.transform.position);
                this.transform.Translate(Vector3.forward * Mathf.Min(speed * Time.deltaTime, currentDist));
                
                //如果距离目标0.5就停止移动
                if (currentDist < 0.5f) 
                {
                    move = false;
                }
                
    
                yield return null;
            }
        }
    
    
    }
    如果你感兴趣,你可以把你妹妹介绍给我
  • 相关阅读:
    WebFrom与MVC异同
    MVC解决WebFrom的缺点
    转载ORM--EF框架
    转载 HashSet用法 合交并差
    用户管理模块数据库设计
    外键的增删改查练习
    索引:如何让主键不自动创建聚集索引???
    SQL-类型转换函数
    SQL-union
    SQL字符串函数
  • 原文地址:https://www.cnblogs.com/plateFace/p/4394095.html
Copyright © 2011-2022 走看看