Unity物体移动三种方法
球的移动方法一:
球的基本移动方法一:
transform.Translate,球只会平移前进
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class move : MonoBehaviour
{public float suDu;// Start is called before the first frame updatevoid Start(){suDu = 10.0f;}// Update is called once per framevoid Update(){if(Input.GetKey(KeyCode.W)){transform.Translate(Vector3.forward * suDu * Time.deltaTime);}if (Input.GetKey(KeyCode.S)){transform.Translate(Vector3.back * suDu * Time.deltaTime);}if (Input.GetKey(KeyCode.A)){transform.Translate(Vector3.left * suDu * Time.deltaTime);}if (Input.GetKey(KeyCode.D)){transform.Translate(Vector3.right * suDu * Time.deltaTime);}}private void OnTriggerEnter(Collider other){Destroy(other.gameObject);}
}
球的移动方法(二):
添加力,球会翻转前进
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class move : MonoBehaviour
{public float suDu;public Rigidbody rg;// Start is called before the first frame updatevoid Start(){suDu = 12.0f;rg = GetComponent<Rigidbody>();}// Update is called once per framevoid Update(){if(Input.GetKey(KeyCode.S)){rg.AddForce(Vector3.right * suDu * Time.deltaTime);//transform.Translate(Vector3.right * suDu * Time.deltaTime);}if (Input.GetKey(KeyCode.W)){rg.AddForce(Vector3.left * suDu * Time.deltaTime);//transform.Translate(Vector3.left * suDu * Time.deltaTime);}if (Input.GetKey(KeyCode.D)){rg.AddForce(Vector3.forward * suDu * Time.deltaTime);//transform.Translate(Vector3.forward * suDu * Time.deltaTime);}if (Input.GetKey(KeyCode.A)){rg.AddForce(Vector3.back * suDu * Time.deltaTime);//transform.Translate(Vector3.back * suDu * Time.deltaTime);}}private void OnTriggerEnter(Collider other){Destroy(other.gameObject);}
}
球的移动方法(三):
利用GetAxis方向键控制移动,Horizontal控制水平方向,Vertical控制垂直;
public float speed=120f;
public float h,v;
void Update()
{
h=Input.GetAxis("Horizontal");
v=Input.GetAxis("Vertical");
transform.Translate(new Vector3(h,0,v)*speed*Time.deltaTime);
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
