部分内容由千峰教育(莫新宇)听课笔记总结
Tips:
选中摄像机CTRL+SHIFT+F,把摄像头视图变得和当前scene视图一样。其实就是修改了摄像头的transform
预设文件夹名称:Materials、Scenes、Scripts、Prefebs
键盘命令
Input.GetKey 按住
Input.GetKeyDown 按下
Input.GetKeyUp 抬起
Unity中有焦点问题,区域有不同焦点
范例:
using UnityEngine;
public class BallMove : MonoBehaviour {
public float moveSpeed = 5;
// Update is called once per frame
void Update () {
if (Input.GetKeyDown(KeyCode.Space) ) { transform.position += Vector3.up * moveSpeed; }
}
鼠标命令
鼠标3个键 分别为0,1,2分别表示左、右、中3个键
Input.GetMouseButton 按住鼠标返回True
Input.GetMouseButtonUp 松开鼠标第一帧返回True
Input.GetMouseButtonDown 按下鼠标第一帧返回True
代码范例:
if(Input.GetMouseButton(0)){Debug.Log("按住了鼠标左键");}
Debug.Log(Input.mousePosition);
注意unity3d焦点区域
获取轴方法GetAxis
Horizontal 键盘水平轴
Vertical 键盘竖直轴
Mouse X 鼠标水平移动距离
using UnityEngine;
public class BallMove : MonoBehaviour {
// Update is called once per frame
void Update () {
Debug.Log(Input.GetAxis("Mouse X"));
}
}
Mouse Y 鼠标垂直移动距离
Mouse ScrolWheel 获取鼠标滚轮值
Input设置面板
详细设置
描述名称
对应按键
备用按键
抬起按键,值恢复为0的时间
小于此值,计为0(仅用于遥感)
按下按键,值到达+1或-1的时间
同时按下正负键值为0
+-反转
(hor,0,ver)实现控制8个方向
范例:
using UnityEngine;
public class BallMove : MonoBehaviour {
public float moveSpeed = 1;
// Update is called once per frame
void Update () {
float hor = Input.GetAxis("Horizontal");
float ver = Input.GetAxis("Vertical");
transform.position += new Vector3(hor,0,ver)*Time.deltaTime*moveSpeed;
}
}
按键方法
Input.GetButton 按住
Input.GetButtonDown 按下
Input.GetButtonUp 抬起
if(Input.GetButton("Fire")){Debug.Log("Fire");}
控制按键数量
float mousex=Input.GetAxis("Mouse X");