Я только что выпустил свою первую игру с ужасом инди, несколько дней назад, и я в процессе ее обновления. В моей игре цель состоит в том, чтобы активировать несколько генераторов, чтобы восстановить силу и избежать. Я хочу сделать игру более реалистичной, поэтому я добавляю бензиновые канистры, которые можно использовать для активации генераторов. Мне нужна помощь в создании сценария, который позволяет игроку собирать газовые баллончики и использовать их для активации генераторов. Вот то, что я до сих пор:Destroy pickup object 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);
}
}
Как вы могли бы, вероятно, сказать, что я очень простой и плохой программист. Но в любом случае, я бы очень признателен за всю помощь, которую я мог бы получить от этого.
Что вопрос? На данный момент у нас очень смутное представление о том, что вы просите :) - что-то не работает? – Charleh
Единственное, что я могу заметить до сих пор, это то, что 'gameObject' (в последней строке) не определено. Возможно, вы имели в виду «Player» (который должен, возможно, начинаться с строчной буквы, поскольку это * не * конструктор класса, а переменная). – hlfrmn
@hlfrmn gameObject не является неопределенным, когда вы вводите gameObject в скрипте в единстве, он будет ссылаться на объект gameObject, к которому прикреплен скрипт, который унаследован от MonoBehaviour. – Eddge