zoukankan      html  css  js  c++  java
  • 通过射线让对象移动

    using UnityEngine;
    using System.Collections;
    
    public class RayScript2 : MonoBehaviour {
        Vector3 _Taget;
        bool _isMove=true;//移动是否结束
        public float speed=1f;
      
    
        void Start() {
    
        }
    
        void Update () {
    
            if (Input.GetMouseButtonDown(1))//移动
            {
                Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                RaycastHit hit;
                if (Physics.Raycast(ray, out hit))
                {
                    if (hit.collider.tag == "Dimian")
                    {
                        _Taget = hit.point;
                        _Taget.y = 0.5f;
                        _isMove = false;//现在又有新的目标了继续移动吧!
                    }
    
                }
            }
            Move(_Taget);
        }
    
    
    
        void Move(Vector3 _Tar) {
            if (!_isMove) {
                Vector3 v1 = _Tar - transform.position;
                transform.position += v1.normalized * speed * Time.deltaTime;
                transform.LookAt(_Tar);
                if (Vector3.Distance(_Tar, transform.position)<0.3f) {
                    transform.position = _Tar;
                    _isMove = true;
                }
            }
        }
    
        
    }
  • 相关阅读:
    第十三周学习进度条
    冲刺第四天
    第二天冲刺
    第三天冲刺
    第一天冲刺
    课下作业
    第十二周学习进度条
    课下作业
    webp与png、jpg相互转换
    Node疑难解决
  • 原文地址:https://www.cnblogs.com/WindMan/p/7641116.html
Copyright © 2011-2022 走看看