私はちょうど数日前に初めてのインディーホラーゲームをリリースし、更新中です。私のゲームでは、パワーとエスケープを回復するためにいくつかの発電機を起動させることが目的です。私は自分のゲームを少しリアルにしたいので、私はジェネレータを作動させるのに使うことができるガソリンキャニスターを追加しています。プレイヤーがガスボンベを拾って発電機を作動させるためのスクリプトを作成する助けが必要です。これまで私が持っていたことは次のとおりです。ピックアップオブジェクトを破棄する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を1つのスクリプトに入力すると、MonoBehaviourから継承されたスクリプトがアタッチされているgameObjectを参照します。 – Eddge