Frage zu C#(Unity)?
Hey, habe nh Aufgabe die ich lösen soll. Auf jeden fall kleine Info hier: Bin 13 und lerne generell c# und Game Development kann auch schon Java seid langem. C# Grundlagen usw kann ich schon alles nur gehts jetzt an Unity und wollt mal fragen ob jemand weiss wie ich Debug bekomme das immer wenn der Maus pointer auf dem Cube ist erkennt wird das er auf dem cube zeigt bzw drückt. Habe bis jetzt das hier doch das klappt nicht so ganz. Die Positon erkennt der Script schon (habe ich mit nem Debug getestet) nur beim if statement if(Input.mousePosition == CubePos) kommt es nicht mehr weiter. hoffe jemand kann mir helfen :) hier der Code btw:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MouseDrag : MonoBehaviour
{
public GameObject Cube;
// Update is called once per frame
void Update()
{
Vector3 CubePos = gameObject.transform.position;
CubePos = Cube.transform.position;
if(Input.mousePosition == CubePos)
{
Debug.Log("PosEquals");
if (Input.GetMouseButtonDown(0))
{
Debug.Log("Damn U got it");
}
}
}
}
noch was. würde es gehen wenn ich beim zweitem statement while() anstatt if() verwende?
Die Aufgabe ist das wenn man auf dem cube gedrückt hält und den mouse pointer bewegt, den cube auch mit zieht.
bitte nur tipps oder wege reinschreiben und nicht direkt ein ganzer code der alles für mich macht :)
danke im voraus LG Manuel
1 Antwort
Es gibt einige Wege.
Man schieße einen Ray auf ein Objekt, und bekommt info von dem RaycastHit zurück.
Man nutze einen OnPointerEnter/Exit Event.
Man nutze eine OnMouseOver Methode.
Alles hat seine Vor- und Nachteile. Such dir selbst eine raus. In der Scripting Reference gibt es so einiges zu lesen.
Hi habe schon einen weg gefunden mit dem RayCast. aber trz danke. wusste nicht wie ich die frage löschen sollte xD