【サバイバルホラーゲームを作りたい。その35】

今回は落下音とパズル要素の実装です。

youtu.be

・目の前を横切る飛行物体の落下音を実装します。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CollideCup : MonoBehaviour //EP35追加 FlyingObjにアタッチ
{
    public AudioSource impactFX;

    private void OnCollisionEnter(Collision collision)
    {
        if (collision.relativeVelocity.magnitude > 0.5f)
        {
            impactFX.Play();
        }
    }
}


・半分に割れたオブジェクトを配置し、取得できるようにします。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class RightRionPickup : MonoBehaviour //EP35追加 Right_Rion_Objにアタッチ
{
    public GameObject actionKey;
    public GameObject actionText;
    Text actiontext;
    public InputScript inputScript;

   // public BoxCollider boxCollider;
    public GameObject ExtraCross;
    public GlobalInventory globalInventory;

    private void Start()
    {
       // boxCollider = GetComponent<BoxCollider>();
        actiontext = actionText.GetComponent<Text>();
    }

    private void OnTriggerEnter(Collider other)
    {
        //コライダーにプレイヤーが当たった場合
        if (other.tag == "Player")
        {
            // Debug.Log("hit");

            //キー押下~のメッセージを表示
            actionKey.SetActive(true);
            actionText.SetActive(true);
            actiontext.text = "Pick Up";

            ExtraCross.SetActive(true);
        }
    }

    private void OnTriggerStay(Collider other)
    {
        if (inputScript.getInputActions())
        {
            actionKey.SetActive(false);
            actionText.SetActive(false);
            ExtraCross.SetActive(false);
           // globalInventory.setDoorKey001(true); //EP32追加
            transform.parent.gameObject.SetActive(false);
        }
    }

    ////コライダーからプレイヤーが離れた場合
    private void OnTriggerExit(Collider other)
    {
        actionKey.SetActive(false);
        actionText.SetActive(false);
        ExtraCross.SetActive(false);
    }
}


今回は以上です。