2014年7月30日水曜日

Unityでタッチしたオブジェクトをドラックで移動させるサンプルソース

UNITYアイコン地表のオブジェクトをタッチで移動させるサンプルソースです。

currentPosition.y = 1f;
の部分でオブジェクトのy位置(高さ)は固定しています。

using UnityEngine;
using System.Collections;

public class TouchMove: MonoBehaviour {

private Vector3 objectPosition;
private Vector3 mouseOffset;

void OnMouseDown() {
this.objectPosition = Camera.main.WorldToScreenPoint(transform.position);
this.mouseOffset= transform.position - Camera.main.ScreenToWorldPoint
(new Vector3(Input.mousePosition.x, Input.mousePosition.y, objectPosition.z));
}

void OnMouseDrag() {
Vector3 currentMousePosition = new Vector3(Input.mousePosition.x, Input.mousePosition.y, objectPosition.z);
Vector3 currentPosition = Camera.main.ScreenToWorldPoint(currentMousePosition) + this.mouseOffset;
currentPosition.y = 1f;
transform.position = currentPosition;
}
}

メインカメラのアングルはXを水平Zを垂直に見えるようにしてください。

0 件のコメント:

コメントを投稿