Ich habe gerade mein erstes Indie-Horror-Spiel vor ein paar Tagen veröffentlicht und bin dabei, es zu aktualisieren. In meinem Spiel geht es darum, mehrere Generatoren zu aktivieren, um die Kraft wiederherzustellen und zu entkommen. Ich möchte mein Spiel ein bisschen realistischer machen, also füge ich Benzinkanister hinzu, mit denen Sie die Generatoren aktivieren können. Ich brauche Hilfe bei der Erstellung eines Skripts, mit dem der Spieler Gasflaschen aufnehmen und damit die Generatoren aktivieren kann. Hier ist, was ich bisher:Zerstöre Pickup-Objekt OnMouseDown
public class GasCanisters : MonoBehaviour
public GameObject Player;
public GameObject[] GasCanisters;
public AudioClip PickupSound;
void Update()
{
AudioSource.PlayClipAtPoint(PickupSound, transform.position);
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
if (hit.collider.CompareTag("Gas Canister"))
GameObject.Destroy(gameObject);
}
}
Wie Sie wahrscheinlich könnte sagen, ich bin ein sehr einfaches und schlechte Programmierer. Aber ich würde wirklich jede Hilfe, die ich dabei bekommen konnte, wirklich zu schätzen wissen.
Was ist die Frage? Im Moment haben wir eine sehr vage Vorstellung von dem, was Sie fragen :) - funktioniert irgendetwas nicht? – Charleh
Das einzige was ich bis jetzt bemerken kann ist, dass 'gameObject' (in der letzten Zeile) nicht definiert ist. Vielleicht meintest du 'Player' (was möglichst mit einem Kleinbuchstaben beginnen sollte, da es * kein * Konstruktor einer Klasse, sondern eine Variable ist). – hlfrmn
@hlfrmn gameObject ist nicht undefiniert. Wenn Sie gameObject in einem Skript in unity eingeben, bezieht sich dies auf das gameObject, an das das Skript angehängt ist, das von MonoBehaviour geerbt wird. – Eddge