ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Unity——生命周期函数

2021-09-19 12:36:48  阅读:224  来源: 互联网

标签:生命 周期函数 transform GetKey Unity Time Input speed KeyCode


事件函数执行顺序:

 

 

1. 移动

 1 public class Test : MonoBehaviour
 2 {
 3     public float speed;
 4 
 5     void Update()
 6     {   //按世界坐标系移动
 7         if (Input.GetKey(KeyCode.W))
 8             transform.position += Vector3.forward * Time.deltaTime * speed;
 9         if (Input.GetKey(KeyCode.S))
10             transform.position += Vector3.back * Time.deltaTime * speed;
11         if (Input.GetKey(KeyCode.A))
12             transform.position += Vector3.left * Time.deltaTime * speed;
13         if (Input.GetKey(KeyCode.D))
14             transform.position += Vector3.right * Time.deltaTime * speed;
15 
16 
17         if (Input.GetKey(KeyCode.W))
18             transform.Translate(Vector3.forward * Time.deltaTime * speed, Space.World);
19         if (Input.GetKey(KeyCode.S))
20             transform.Translate(Vector3.back * Time.deltaTime * speed, Space.World);
21         if (Input.GetKey(KeyCode.A))
22             transform.Translate(Vector3.left * Time.deltaTime * speed, Space.World);
23         if (Input.GetKey(KeyCode.D))
24             transform.Translate(Vector3.right * Time.deltaTime * speed, Space.World);
25 
26 
27         //按自身坐标系移动
28         if (Input.GetKey(KeyCode.W))
29             transform.position += transform.forward * Time.deltaTime * speed;
30         if (Input.GetKey(KeyCode.S))
31             transform.position += -transform.forward * Time.deltaTime * speed;
32         if (Input.GetKey(KeyCode.A))
33             transform.position += -transform.right * Time.deltaTime * speed;
34         if (Input.GetKey(KeyCode.D))
35             transform.position += transform.right * Time.deltaTime * speed;
36 
37         //默认Space.Self,按自身坐标系移动
38         if (Input.GetKey(KeyCode.W))
39             transform.Translate(Vector3.forward * Time.deltaTime * speed);
40         if (Input.GetKey(KeyCode.S))
41             transform.Translate(Vector3.back * Time.deltaTime * speed);
42         if (Input.GetKey(KeyCode.A))
43             transform.Translate(Vector3.left * Time.deltaTime * speed);
44         if (Input.GetKey(KeyCode.D))
45             transform.Translate(Vector3.right * Time.deltaTime * speed);
46     }
47 }
transform
 1 public class Test : MonoBehaviour
 2 {
 3     public float force;
 4     Rigidbody rd;
 5     private void Start()
 6     {
 7         rd = GetComponent<Rigidbody>();
 8     }
 9 
10     void Update()
11     {
12         float hor = Input.GetAxis("Horizontal");
13         float ver = Input.GetAxis("Vertical");
14         Vector3 direction = new Vector3(hor, 0, ver);
15         rd.AddForce(direction * force);
16         rd.velocity = direction * force;
17         rd.MovePosition(transform.position + direction);
18     }
19 }
rigibody

 

标签:生命,周期函数,transform,GetKey,Unity,Time,Input,speed,KeyCode
来源: https://www.cnblogs.com/tomatokely/p/15311286.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有