Unityでアイテムを獲得したとき音を鳴らせるようにしたいです。
2Dの横アクションゲームを作成しています。
動かすプレイヤーには、上下左右キーを押すと、移動するスクリプトを、
アイテムの方には、衝突すると、カウントして自分自身を消すスクリプトをつけています。
SEを付けたい場合、新しいゲームオブジェクトを作り、どのようなスクリプトを書いたら良いのかを教えていただければと思っています。
ゲームスタート時や、プレイヤーがジャンプしたときに音が鳴るようにはできました。プレイヤーがアイテムと衝突したときに音が鳴ってほしいとおもっています。
プレイヤーとアイテムに付けたスクリプトを下に付けます。
ご回答のほど、よろしくお願いします。
プレイヤーを動かすソースコード
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// キーを押すと、移動する
public class OnKeyPress_Move : MonoBehaviour {
public float speed = 2; // スピード:Inspectorで指定 float vx = 0; float vy = 0; bool leftFlag = false; Rigidbody2D rbody; void Start () { // 最初に行う // 重力を0にして、衝突時に回転させない rbody = GetComponent<Rigidbody2D>(); rbody.gravityScale = 0; rbody.constraints = RigidbodyConstraints2D.FreezeRotation; } void Update () { // ずっと行う vx = 0; vy = 0; if(Input.GetKey("right")) { // もし、右キーが押されたら vx = speed; // 右に進む移動量を入れる leftFlag = false; } if(Input.GetKey("left")) { // もし、左キーが押されたら vx = -speed; // 左に進む移動量を入れる leftFlag = true; } if(Input.GetKey("up")) { // もし、上キーが押されたら vy = speed; // 上に進む移動量を入れる } if(Input.GetKey("down")) { // もし、下キーが押されたら vy = -speed; // 下に進む移動量を入れる } } void FixedUpdate() { // ずっと行う(一定時間ごとに) // 移動する rbody.velocity = new Vector2(vx, vy); // 左右の向きを変える this.GetComponent<SpriteRenderer>().flipX = leftFlag; }
}
アイテムのソースコード
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 衝突すると、カウントを増やして自分を消す
public class OnCollision_CountAndHide : MonoBehaviour {
public string targetObjectName; // 目標オブジェクト名:Inspectorで指定 public int addValue = 1; // 増加量:Inspectorで指定 void OnCollisionEnter2D(Collision2D collision) { // 衝突したとき // もし、衝突したものの名前が目標オブジェクトだったら if (collision.gameObject.name == targetObjectName) { // カウンターの値を増やす GameCounter.value = GameCounter.value + addValue; // 自分自身を消す this.gameObject.SetActive(false); } }
}
試したこと
音を付けようと、スクリプトを追加してみましたが、上手くいきませんでした。
補足情報(FW/ツールのバージョンなど)
Unityのバージョンは、Unity 2020.1.7f1です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/09 03:06
2020/11/09 05:50
2020/11/09 11:00
2020/11/09 11:50
2020/11/09 11:59
2020/11/09 12:08
2020/11/09 12:17
2020/11/09 12:36
2020/11/09 12:53
2020/11/09 13:00
2020/11/09 23:47