Jump to content
Unity Insider Forum

Drehen zum klick


the-grandmaster

Recommended Posts

Ich möchte meinen Player langsam in Richtung Klick drehen.

using UnityEngine;
using System.Collections;
public class Move : MonoBehaviour
{
   public float speed = 1f;

   void Start ()
   {
	 }

void Update ()
{

	 if(Input.GetMouseButtonDown(0))
	 {
  Plane playerPlane = new Plane(Vector3.up, transform.position);
	 Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
	 float hitdist = 0.0f;
  if (playerPlane.Raycast (ray, out hitdist))
  {
			    Vector3 targetPoint = new Vector3(ray.GetPoint(hitdist).x, transform.position.y, ray.GetPoint(hitdist).z);
			 Quaternion targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
			 transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, speed * Time.deltaTime);
  }
 }


   }

}

 

Das habe ich bis jetzt.

 

Aber leider dreht sich das Objekt pro Klick nur ein kleines stück, ich muss also dauerklicken machen.

Sollte aber doch durchlaufen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Na du setzt einfach eine boolsche Variable auf true, die du woanders im Code abfragst.

Wenn die Variable true ist, dann wird gedreht. Wenn nicht dann wird nicht gedreht.

 

So wie du das jetzt machst, kann es nicht gehen, denn du nutzt GetMouseButtonDown !

Down bedeutet, es wird nur einmalig der Moment ausgewertet, wo die Maus von nicht gedrückt auf gedrückt über geht.

Bei Up ist es genau andersherum.

 

Down bedeutet nicht , dass was gemacht wird solange gedrückt wird.

Willst du das machen, dann nutze einfach GetMouseButton() ohne Up oder Down.

Link zu diesem Kommentar
Auf anderen Seiten teilen

if(Input.GetMouseButton(0) && Vector3.Distance(transform.position, Player.transform.position) < Ent)

aber ds scheint nicht zu gehen?

 

Der Fehler könnte bei transform.position liegen. Entweder verwendest du die Koordinaten des Mauszeigers oder du entsendest einen RayCast und nutzt die Position des Auftreffens (z.B. Auftreffen auf den Boden).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...