bate's blog

調べたこと実装したことなどを取りとめもなく書きます。

スマートデバイス向け操作の試み

指をスクリーンに触った状態で、指を動かした方向に動き続けるテスト。

https://dl.dropboxusercontent.com/u/67579260/Unity/TestInput/Build.html

using UnityEngine;
using System.Collections;

public class InputMain : MonoBehaviour {

	GameObject m_Player = null;
	Vector3 m_StartPos = Vector3.zero;
	Vector3 m_CurrentPos = Vector3.zero;
	Vector3 m_EndPos = Vector3.zero;
	Vector3 m_MoveDir = Vector3.zero;

	// Use this for initialization
	void Start () {

		m_Player = GameObject.Find("Player");
	
	}
	
	// Update is called once per frame
	void Update () {
		Vector3 prev = m_CurrentPos;
		if (Input.GetMouseButtonDown(0)) {
			m_StartPos = Input.mousePosition;
		} else if (Input.GetMouseButton(0)) {
			m_CurrentPos = Input.mousePosition;
			Vector3 dir = m_CurrentPos - prev;
			float dist = Vector3.Distance(m_CurrentPos, prev);
			if(dist > 1.0f) {
				m_MoveDir = Vector3.Normalize(dir);
			}
			m_Player.transform.position += 0.1f*new Vector3(m_MoveDir.x, 0, m_MoveDir.y);
		} else if(Input.GetMouseButton(0)) {
			m_EndPos = Input.mousePosition;
		}
	}
}