zoukankan      html  css  js  c++  java
  • 关于物体移动

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Move : MonoBehaviour
    {
    
    
        Vector3 targetPos;
        float moveSpeed = 2;
        Vector3 velotity = Vector3.zero;
        float smoothTime = .3f;
    
        Rigidbody rigidbody;
        void Start()
        {
            // targetPos = transform.position;
            targetPos = new Vector3(10, 10, 10);
            rigidbody = gameObject.GetComponent<Rigidbody>();
        }
        void Update()
        {
            /// ****************!Tranform !***start**********/
            ///* !1.transform.Translate  物体朝某个方向移动
            // transform.Translate(Vector3.right * moveSpeed * Time.deltaTime);
            /// 键盘控制物体上下左右移动
            /* float h = Input.GetAxis("Horizontal");
             float v = Input.GetAxis("Vertical");
             transform.Translate(new Vector3(h, 0, v) * moveSpeed * Time.deltaTime);*/
    
            ///* !2.Vector3.MoveTowards  物体朝着某个点移动
            // transform.position = Vector3.MoveTowards(transform.position, targetPos, moveSpeed * Time.deltaTime);
            /// 物体移动到鼠标点击位置
            /* if (Input.GetMouseButtonUp(0))
             {
             //鼠标位置转换为世界坐标
                 Vector3 selfPos = Camera.main.WorldToScreenPoint(transform.position);
                 Vector3 mousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, selfPos.z);
                 targetPos = Camera.main.ScreenToWorldPoint(mousePos);
             }
             transform.position = Vector3.MoveTowards(transform.position, targetPos, moveSpeed * Time.deltaTime);*/
    
            ///* !3.Vector3.SmoothDamp 通常用于平滑跟随相机
            // transform.position = Vector3.SmoothDamp(transform.position, targetPos+相机初始位置, ref velotity, smoothTime);
    
            ///* !4.直接赋值跟随时间逐渐移动
            //transform.position += Vector3.right * moveSpeed * Time.deltaTime;
            /// ****************!Tranform !***end**********/
    
    
    
        }
        private void FixedUpdate()
        {
            /// ****************!Rigidbody !***start**********/
            ///物体添加 Rigidbody组件 避免受重力影响 属性Use Gravity取消勾选
    
            ///* !1.rigidbody.MovePosition  朝某方向移动
            // rigidbody.MovePosition(targetPos * moveSpeed * Time.fixedDeltaTime);
    
            /// 键盘控制物体上下左右移动
            float h = Input.GetAxis("Horizontal");
            float v = Input.GetAxis("Vertical");
            //rigidbody.MovePosition(transform.position + new Vector3(h, 0, v) * moveSpeed * Time.fixedDeltaTime);
    
            ///* !2.rigidbody.velocity 
            //rigidbody.velocity = moveSpeed * new Vector3(h, 0, v);
    
            ///* !3.rigidbody.AddForce 
            // 朝某方向发力
            //rigidbody.AddForce(transform.right, ForceMode.Impulse);
            //朝某方向匀速移动
            // rigidbody.AddForce(Vector3.right * moveSpeed);
    
            /// ****************!Rigidbody !***end**********/
        }
    
    }
    
    
    
  • 相关阅读:
    LA 2038 Strategic game(最小点覆盖,树形dp,二分匹配)
    UVA 10564 Paths through the Hourglass(背包)
    Codeforces Round #323 (Div. 2) D 582B Once Again...(快速幂)
    UVALive 3530 Martian Mining(贪心,dp)
    UVALive 4727 Jump(约瑟夫环,递推)
    UVALive 4731 Cellular Network(贪心,dp)
    UVA Mega Man's Mission(状压dp)
    Aizu 2456 Usoperanto (贪心)
    UVA 11404 Plalidromic Subsquence (回文子序列,LCS)
    Aizu 2304 Reverse Roads(无向流)
  • 原文地址:https://www.cnblogs.com/Ms-Sake/p/12176842.html
Copyright © 2011-2022 走看看