Jump to content
Unity Insider Forum
Sign in to follow this  
Leftwing

Objekt fliegt aus der Szene bei Kollision (2D)

Recommended Posts

Hallo!

Vielleicht kurz zur Erklärung: habe eine 2D-Szene.
Eine Plattform (Sprite als langezogenes Rechteck, Kinematic, dient als Begrenzer) und auf der liegen quadratische Blöcke.
Diese Blöcke sollen durch Drag&Drop (mittels Maus) beliebig angeordnet/gestapelt werden können.

Dazu hängt an jedem Block das folgende Skript:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;

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

    private Rigidbody2D rb;

    void Awake() {
        rb = GetComponent<Rigidbody2D>();
    }

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

    void OnMouseDrag() {
        Vector3 cursorPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
        Vector3 cursorPosition = Camera.main.ScreenToWorldPoint(cursorPoint) + offset;

        rb.MovePosition(cursorPosition);
        //transform.position = cursorPosition;
    }
}

 

Alles funktioniert so weit.

ABER: wenn mit dem Block (per Drag&Drop) einer der anderen Blöcke getroffen wird, fliegt der getroffene Block aus dem Bild.
Würde jetzt eigentlich nur im "Update" die Möglichkeit sehen, hier am rb mit "AddForce" oder "velocity" die Kräfte auf den (getroffenen) Block auf 0 zu setzen.

Oder wie könnte ich sonst verhindern, dass die Blöcke federleicht so (massiv) beschleunigt werden?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×