「Unity/Csharp/オブジェクトをドラッグ」の版間の差分
提供: 初心者エンジニアの簡易メモ
行10: | 行10: | ||
void OnMouseDrag() | void OnMouseDrag() | ||
{ | { | ||
− | Vector3 objectPointInScreen | + | Vector3 objectPointInScreen = Camera.main.WorldToScreenPoint(this.transform.position); |
− | + | Vector3 mousePointInScreen = new Vector3(Input.mousePosition.x, | |
− | Vector3 mousePointInScreen | + | |
− | + | ||
Input.mousePosition.y, | Input.mousePosition.y, | ||
objectPointInScreen.z); | objectPointInScreen.z); |
2017年10月16日 (月) 14:14時点における版
画像オブジェクトにColliderをつけ以下コードをアタッチ(Add Component)するとドラッグでオブジェクトが動かせるようになる
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BlockScript : MonoBehaviour { void Start () { } void Update () { } void OnMouseDrag() { Vector3 objectPointInScreen = Camera.main.WorldToScreenPoint(this.transform.position); Vector3 mousePointInScreen = new Vector3(Input.mousePosition.x, Input.mousePosition.y, objectPointInScreen.z); Vector3 mousePointInWorld = Camera.main.ScreenToWorldPoint(mousePointInScreen); mousePointInWorld.z = this.transform.position.z; this.transform.position = mousePointInWorld; } }