Wie kann ich in Unity scripte aktivieren und deaktivieren wenn ich in einem bestimmten reichwweite bin also z.B Collider?

2 Antworten

Ich denke du meinst einen Methodenaufruf und nicht die akt- bzw. deaktivierung eines Scripts. Das ist einfach, du musst in deinem Script lediglich OnCollisionEnter implementieren.


Qasura 
Beitragsersteller
 13.08.2015, 18:56

Aber wie ? Ich bin neu,also mein Problem ist ich hab ein skript um eine tür zu öffnen durch eine animation.Ich kann sie jedoch überall öffnen nun möchte ich das ändern indem ich sage dass wenn ich mich außerhalb eines feldes befinde dass das skript nicht funktioniert

0
BlackArma  15.08.2015, 13:22
@Qasura

Jetzt wäre es äußerst praktisch wenn du schon ein paar Grundlagen hättest. Also, ein Collider ist bei sowas unpassend, ich denke du meintest ursprünglich einen Trigger. Falls du den Unterschied nicht kennst: Durch einen Trigger können Objekte durchgehen, durch einen Collider eben nicht. Sonst stehst du irgendwann vor einer geöffneten Tür und du kommst nicht durch. Das Script auf deinen Character könnte jetzt z.B. so aussehen:

public class Player : MonoBehaviour
{
//...
void OnTriggerEnter(Collider _col)
{
if (_col.transform.tag == "Door" && Input.GetKey(KeyCode.E))
{
Door doorScript = _col.transform.GetComponent().Use();
}
}
//...
}
Das Tür Script:
public class Door : MonoBehaviour
{
//...
public void Use()
{
// open or close the door
}
//...
}

Ist gerade aus dem Kopf, könnte also Funktionieren oder auch nicht.

0
Qasura 
Beitragsersteller
 01.09.2015, 17:38
@BlackArma

Beim Player Skript erkennt er Door und Use nicht.Beim Tür Skript gibts keine Probleme

0
Qasura 
Beitragsersteller
 13.08.2015, 19:05

Das ist mein Skript :

using UnityEngine;using System.Collections;public class onDoorScript : MonoBehaviour {void Update(){if(Input.GetKeyDown("e")){ GetComponent().Play("DoorOpenandClose");}}}

0

Die Reichweite eines Colliders bestimmst du doch mit dessen Größe


Qasura 
Beitragsersteller
 12.08.2015, 12:15

Ich weiß es geht mir ja auch um das Script also es geht darum dass ich eine Tür hab die sich öffnet.Die Animation hab ich schon und wenn ich e drücke dann öffnet sie sich auch und schließt sich auch aber ich kann es von Überall machen.Das möchte ich ändern indem ich wenn ich im Collider bin dass erst dann das Skript aktiviert wird und ich dann e drücken kann.Wäre auch super wenn du mir das einfacher erklärst da ich noch neu bin :)

0