Unity 屏幕触摸事件
(2016-08-27 10:13:53)
该文内容摘抄整理:
移动物体:
-
using UnityEngine;
-
using System.Collections;
-
-
public class example : MonoBehaviour {
-
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);
-
}
-
}
-
}
点击碰撞克隆
-
using UnityEngine;
-
using System.Collections;
-
-
public class example : MonoBehaviour {
-
public GameObject projectile;
-
void Update() {
-
int i = 0;
-
while (i < Input.touchCount) {
-
if (Input.GetTouch(i).phase == TouchPhase.Began)
-
clone = Instantiate(projectile, transform.position, transform.rotation) as GameObject;
-
-
++i;
-
}
-
}
-
}
===================
-
using UnityEngine;
-
using System.Collections;
-
-
public class example : MonoBehaviour {
-
public GameObject particle;
-
void Update() {
-
int i = 0;
-
while (i < Input.touchCount) {
-
if (Input.GetTouch(i).phase == TouchPhase.Began) {
-
Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position);
-
if (Physics.Raycast(ray))
-
Instantiate(particle, transform.position, transform.rotation) as GameObject;
-
-
}
-
++i;
-
}
-
}
-
}
TouchPhase Enumeration
Describes phase of a finger touch.
Values
Began |
A finger touched the screen.
|
Moved |
A finger moved on the screen.
|
Stationary |
A finger is touching the screen but hasn't moved.
|
Ended |
A finger was lifted from the screen. This is the final phase of a
touch.
|
Canceled |
The system cancelled tracking for the touch, as when (for example)
the user puts the device to her face or more than five touches
happened simultaneously. This is the final phase of a touch.
|
喜欢
0
赠金笔
加载中,请稍候......