Brauche einen bestimmten C# Skript?

Suiram1  07.05.2023, 15:02

Man müsste noch wissen welche Technologie du dabei verwendest. Es macht große unterschiede ob du z.B. Unity, WPF, WinForms oder sontiges verwendest

PRIME2211 
Fragesteller
 07.05.2023, 20:21

unity

1 Antwort

Ich hab mal ein wenig rumprobiert und in einem neuen 2D Projekt hat es perfekt funktioniert:

using UnityEngine;

public class MouseClickMovement : MonoBehaviour
{
    private bool isMouseDown = false;
    private Vector3 targetPosition;

    private void Update()
    {
        if (Input.GetMouseButtonDown(0)) // Wenn die linke Maustaste gedrückt wird
        {
            targetPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            isMouseDown = true;
        }

        if (Input.GetMouseButtonUp(0)) // Wenn die linke Maustaste losgelassen wird
        {
            isMouseDown = false;
        }

        if (isMouseDown) // Wenn die linke Maustaste gedrückt bleibt
        {
            targetPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            transform.position = Vector3.Lerp(transform.position, targetPosition, Time.deltaTime * 5f);
        }
    }
}

Das Objekt bewegt sich nicht instand zur position sondern floated. Du musst nur noch das Objekt das du so bewegen willst mit dem Script verlinken.

Woher ich das weiß:eigene Erfahrung