Input 输入
输入系统的接口
Input.acceleration 加速度
上一次测量的设备在三维空间中的线性加速度
public float speed = 10.0F;
void Update() {
Vector3 dir = Vector3.zero;
dir.x = -Input.acceleration.y;
dir.z = Input.acceleration.x;
if (dir.sqrMagnitude > 1)
dir.Normalize();
dir *= Time.deltaTime;
transform.Translate(dir * speed);
}
Input.accelerationEventCount 加速度事件次数
上一帧发生的所测量的的加速度次数
void Update() {
if (Input.accelerationEventCount > 0)
print("We got new acceleration measurements");
}
Input.accelerationEvents 加速度事件列表
返回上一帧测量的加速度数据列表
void Update() {
Vector3 acceleration = Vector3.zero;
foreach (AccelerationEvent accEvent in Input.accelerationEvents) {
acceleration += accEvent.acceleration * accEvent.deltaTime;
}
print(acceleration);
}
Input.anyKey 任意键
当前是否有任意键或鼠标键被按下
void Update() {
if (Input.anyKey)
Debug.Log("A key or mouse click has been detected");
}
Input.anyKeyDown 任意键按下
在用户按下任意按键或鼠标按键首帧返回true
void Update() {
if (Input.anyKeyDown)
Debug.Log("A key or mouse click has been detected");
}
Input.compass 指南针
访问指南针的属性
public static Compass compass;
Input.compensateSensors 补偿传感器
该属性控制输入传感器在屏幕方向的补偿
public static bool compensateSensors;
Input.compositionCursorPos 输入法组合鼠标位置
当前文本输入位置,使用于IME来打开窗口
public static Vector2 compositionCursorPos;
Input.compositionString 输入法组合字符串
当前用户正在输入的IME组合字符串
public static string compositionString;
Input.deviceOrientation 设备方向
由操作系统所报告的设备的物理方向
void Update() {
if (Input.deviceOrientation == DeviceOrientation.FaceDown)
audio.Play();
}
Input.GetAccelerationEvent 获取加速度事件
返回上一帧发生的指定的加速度测量
void Update() {
Vector3 acceleration = Vector3.zero;
int i = 0;
while (i < Input.accelerationEventCount) {
AccelerationEvent accEvent = Input.GetAccelerationEvent(i);
acceleration += accEvent.acceleration * accEvent.deltaTime;
++i;
}
print(acceleration);
}
Input.GetAxis 获取轴
根据axisName名称返回虚拟输入轴中的值
public float speed = 10.0F;
public float rotationSpeed = 100.0F;
void Update() {
float translation = Input.GetAxis("Vertical") * speed;
float rotation = Input.GetAxis("Horizontal") * rotationSpeed;
translation *= Time.deltaTime;
rotation *= Time.deltaTime;
transform.Translate(0, 0, translation);
transform.Rotate(0, rotation, 0);
}
Input.GetAxisRaw 获取原始轴
通过axisName名称返回一个不使用平滑滤波器的虚拟轴值
void Update() {
float speed = Input.GetAxisRaw("Horizontal") * Time.deltaTime;
transform.Rotate(0, speed, 0);
}
Input.GetButton 获取按钮
当由'buttonname”确定的虚拟按键被按下时,返回true
public GameObject projectile;
public float fireRate = 0.5F;
private float nextFire = 0.0F;
void Update() {
if (Input.GetButton("Fire1") && Time.time > nextFire) {
nextFire = Time.time + fireRate;
GameObject clone = Instantiate(projectile, transform.position, transform.rotation) as GameObject;
}
}
Input.GetButtonDown 获取按钮按下
在用户按下由buttonName名称确定的虚拟按钮的那一帧返回true
public GameObject projectile;
void Update() {
if (Input.GetButtonDown("Fire1"))
Instantiate(projectile, transform.position, transform.rotation) as GameObject;
}
Input.GetButtonUp 获取按钮弹起
在用户释放根据buttonName名称的虚拟按钮时返回true
public GameObject projectile;
void Update() {
if (Input.GetButtonUp("Fire1"))
Instantiate(projectile, transform.position, transform.rotation) as GameObject;
}
Input.GetJoystickNames 获取摇杆名称列表
返回一个用来描述已连接的摇杆的字符串数组
void Update() {
int i = 0;
while (i < 4) {
if (Mathf.Abs(Input.GetAxis("Joy" + i + "X")) > 0.2F || Mathf.Abs(Input.GetAxis("Joy" + i + "Y")) > 0.2F)
Debug.Log(Input.GetJoystickNames()[i] + " is moved");
i++;
}
}
Input.GetKey 获取键
当用户按下由name名称确定的按键时,然后true
void Update() {
if (Input.GetKey("up"))
print("up arrow key is held down");
if (Input.GetKey("down"))
print("down arrow key is held down");
}
Input.GetKeyDown 获取键按下
当用户按下指定名称的按键时的那一帧返回true
void Update() {
if (Input.GetKeyDown("space"))
print("space key was pressed");
}
Input.GetKeyUp 获取键弹起
在用户释放给定名字的按键的那一帧返回true
void Update() {
if (Input.GetKeyUp("space"))
print("space key was released");
}
Input.GetMouseButton 获取鼠标按钮
当指定的鼠标按钮被按下时返回true
void Update() {
if (Input.GetMouseButton(0))
Debug.Log("Pressed left click.");
if (Input.GetMouseButton(1))
Debug.Log("Pressed right click.");
if (Input.GetMouseButton(2))
Debug.Log("Pressed middle click.");
}
Input.GetMouseButtonDown 获取鼠标按钮按下
在用户按下指定鼠标按键的那一帧返回true
void Update() {
if (Input.GetMouseButtonDown(0))
Debug.Log("Pressed left click.");
if (Input.GetMouseButtonDown(1))
Debug.Log("Pressed right click.");
if (Input.GetMouseButtonDown(2))
Debug.Log("Pressed middle click.");
}
Input.GetMouseButtonUp 获取鼠标按钮弹起
在用户释放指定鼠标按键的那一帧返回true
void Update() {
if (Input.GetMouseButtonUp(0))
Debug.Log("Pressed left click.");
if (Input.GetMouseButtonUp(1))
Debug.Log("Pressed right click.");
if (Input.GetMouseButtonUp(2))
Debug.Log("Pressed middle click.");
}
Input.GetTouch 获取触摸
返回一个存放触摸信息的对象
public float speed = 0.1F;
void Update() {
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) {
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
transform.Translate(-touchDeltaPosition.x * speed, -touchDeltaPosition.y * speed, 0);
}
}
Input.gyro 陀螺仪
返回默认的陀螺仪
public static Gyroscope gyro;
Input.imeCompositionMode IME组合方式
控制IME输入组合的启用和禁用
public static IMECompositionMode imeCompositionMode;
Input.imeIsSelected IME是否已选择
用户是否已选择IME键盘输入源
public static bool imeIsSelected;
Input.inputString 输入字符串
返回在这一帧的键盘输入
public GUIText gt;
void Start() {
gt = GetComponent<GUIText>();
}
void Update() {
foreach (char c in Input.inputString) {
if (c == "b"[0])
if (gt.text.Length != 0)
gt.text = gt.text.Substring(0, gt.text.Length - 1);
else
if (c == "n"[0] || c == "r"[0])
print("User entered his name: " + gt.text);
else
gt.text += c;
}
}
Input.IsJoystickPreconfigured 是否是预配置摇杆
如果该摇杆已经配置返回true,否则返回false
public static bool IsJoystickPreconfigured(string joystickName);
Input.location 位置
用于访问设备位置信息
public static LocationService location;
Input.mousePosition 鼠标位置
在屏幕坐标空间当前鼠标的位置
public GameObject particle;
void Update() {
if (Input.GetButtonDown("Fire1")) {
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray))
Instantiate(particle, transform.position, transform.rotation) as GameObject;
}
}
Input.multiTouchEnabled 启用多点触控
指示系统是否启用多点触控
public static bool multiTouchEnabled;
Input.ResetInputAxes 重置输入轴
在一帧中重置所有的输入,重置输入指令之后所有的方向轴都被设置为0并且所有的按键都被设置为0
void Example() {
Input.ResetInputAxes();
}
Input.simulateMouseWithTouches 鼠标模拟触摸
启用/禁用鼠标模拟触摸。默认情况下启用此项
public static bool simulateMouseWithTouches;
Input.touchCount 触摸个数
触摸的数量。每一帧之内都一定不会改变
void Update() {
if (Input.touchCount > 0)
print(Input.touchCount);
}
Input.touches 触摸列表
返回代表上一帧所有的触摸状态的对象列表
void Update() {
int fingerCount = 0;
foreach (Touch touch in Input.touches) {
if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled)
fingerCount++;
}
if (fingerCount > 0)
print("User has " + fingerCount + " finger(s) touching the screen");
}
Input.touchSupported 触摸支持
返回设备是否在当前运行的应用程序支持触摸输入
public static bool touchSupported;
最后
以上就是漂亮皮带最近收集整理的关于C# InputInput 输入Input.acceleration 加速度Input.accelerationEventCount 加速度事件次数Input.accelerationEvents 加速度事件列表Input.anyKey 任意键Input.anyKeyDown 任意键按下Input.compass 指南针Input.compensateSensors 补偿传感器Input.compositionCursorPos 输入法组合鼠标位置Input.compositionString 的全部内容,更多相关C#内容请搜索靠谱客的其他文章。
发表评论 取消回复