Ziehen Sie das Objekt in Unity 2D

Habe ich mich für ein Objekt ziehen Skript für Unity 2D. Ich habe gefunden eine gute Methode, über das internet, aber es scheint, es ist gerade in Unity 3D. Es ist nicht gut für mich, wie ich mache ein 2D Spiel und es ist keine Kollision mit dem "Mauern".

Habe ich versucht umzuschreiben, um 2D, aber ich stürzte in Fehler, die mit Vektoren.

Ich würde mich sehr freuen, wenn Ihr mir helfen könntet umzuschreiben, um 2D.

Hier ist der code, was das arbeiten in 3D:

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(BoxCollider))]

public class Drag : MonoBehaviour {
    private Vector3 screenPoint;
    private Vector3 offset;

void OnMouseDown() {

    offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
}

void OnMouseDrag()
{
    Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
    Vector3 curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;
    transform.position = curPosition;
}
}

InformationsquelleAutor Zwiebel | 2014-04-18

Schreibe einen Kommentar