本文最后更新于 249 天前,其中的信息可能已经有所发展或是发生改变。
前言
大二上也算是结束了,总得给自己开点新坑,顺带督促自己学C#和Unity哈哈哈,争取每天学一点,这一篇的时间可能会拖得非常长,希望不会太监。
25.1.6
Unity中,精灵想要具有物理属性,首先可以考虑给予一个刚体(rigidbody)的效果,如果要实现类似碰撞的话,还需添加碰撞器,也就是collider,而要实现弹跳之类的,还需给物体添加一个材料(如Physics Material)
键盘输入的实现
通常采取对键盘按键的持续按下,按下,释放,三种判定来实现,类似下面代码
void Update()
{
if (Input.GetKey(KeyCode.Space))
{
Debug.Log("You keep pressing");
}
if (Input.GetKeyDown(KeyCode.Space))
{
Debug.Log("You pressed");
}
if (Input.GetKeyUp(KeyCode.Space))
{
Debug.Log("You released");
}
}
有一种比较简单的方式来实现对方向的输入:
float horizontal = Input.GetAxisRaw("Horizontal");
float vertical = Input.GetAxisRaw("Vertical");
GetAxisRaw是读取键盘的wsad/上下左右/摇杆的上下左右,并且将返回值归一化为-1,0,1,去掉Raw则是线性平滑的变化
面向对象的设计思想
任何一直数据类型,如果没有强调,那就应该默认为private,除非有明确的需求才应该设置为public。而在unity中,我们即使是private类型的数据,也可以使其显示在inspector中,如下面代码:
public float xInput;
public float yInput;
[SerializeField]private float abc;
abc虽然是private,但仍会显示在spector中