[Unity3d for android]屏幕触摸事件
2013-11-04 18:12
387 查看
移动物体:
[csharp] view
plaincopy
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);
}
}
}
点击碰撞克隆
[csharp] view
plaincopy
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;
}
}
}
===================
[csharp] view
plaincopy
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;
}
}
}
Describes phase of a finger touch.
Values
[csharp] view
plaincopy
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);
}
}
}
点击碰撞克隆
[csharp] view
plaincopy
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;
}
}
}
===================
[csharp] view
plaincopy
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. |
相关文章推荐
- [Unity3d for android]屏幕触摸事件
- Android 屏幕触摸事件之诡----dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent,onTouch
- android中的事件类型分为按键事件和屏幕触摸事件
- android屏幕触摸事件机制
- Android开发-触屏事件的获取和触摸屏幕位置
- unity3d 屏幕触摸检测事件
- 【Android】技术调研:用代码模拟屏幕点击、触摸事件
- Qt for android触摸手势事件QGestureEvent
- Android列表组件ListView使用详解之屏幕触摸事件
- Android触摸屏幕事件总结
- android屏幕触摸事件机制
- android中的事件类型分为按键事件和屏幕触摸事件
- Android开发-触屏事件的获取和触摸屏幕位置
- cocos2dx-3.6 开发技巧(二)回调函数以及动画的使用,触摸事件,android返回键,屏幕截屏
- android 屏幕触摸事件的分发与处理
- 【Android】技术调研:用代码模拟屏幕点击、触摸事件
- [Android实例] android屏幕触摸事件机制
- Qt for android触摸手势事件QGestureEvent
- Qt for android触摸手势事件QGestureEvent
- [Android]View响应屏幕触摸事件