アイテムのランダム出現(Addressable Asset System)
![5d633aab 589f 4027 a574 60009dd4e2c0](https://codegenius.org/uploads/slide/image/7664/5d633aab-589f-4027-a574-60009dd4e2c0.jpeg)
![3f211f4e 0c6d 4775 92c4 0c46a5b82c99](https://codegenius.org/uploads/slide/image/7665/3f211f4e-0c6d-4775-92c4-0c46a5b82c99.jpeg)
![5f517b7f 0a1b 4c3e 8657 723aa16687d7](https://codegenius.org/uploads/slide/image/7666/5f517b7f-0a1b-4c3e-8657-723aa16687d7.jpeg)
![089dc48f d86f 42a2 9718 b4ff4ec59cf2](https://codegenius.org/uploads/slide/image/7667/089dc48f-d86f-42a2-9718-b4ff4ec59cf2.jpeg)
![22ae0b16 87ee 4a2b 8193 9418c0a03793](https://codegenius.org/uploads/slide/image/7668/22ae0b16-87ee-4a2b-8193-9418c0a03793.jpeg)
![E712eded 493b 4891 8623 8d5390aea07b](https://codegenius.org/uploads/slide/image/7669/e712eded-493b-4891-8623-8d5390aea07b.jpeg)
![931164d5 4683 4ffe 9d9a 24195f5d223f](https://codegenius.org/uploads/slide/image/7670/931164d5-4683-4ffe-9d9a-24195f5d223f.jpeg)
アイテムのランダム出現(Addressables)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// ★追加
using UnityEngine.AddressableAssets;
public abstract class EnemyBase : MonoBehaviour
{
public int HP;
public int ScoreValue;
public virtual void TakeDamage(int missilePower)
{
HP -= missilePower;
if (HP < 1)
{
Destroy(gameObject);
GameObject.Find("ScoreManager").GetComponent<ScoreManager>().AddScore(ScoreValue);
// ★追加
int num = Random.Range(0, 100); // 0〜99までの数字をランダムに選択
// ★追加
// if文でアイテムごとの出現確率をコントロール(確率は自由に設定)
// 自分のアイテム数に応じて条件を追加すること。
if (num >= 95) // 出現確率5%
{
// 各アイテムのパスをコピー&ペーストする。
Addressables.InstantiateAsync("Assets/MyPrefabs/MoveSpeedUp.prefab", transform.position, Quaternion.identity);
}
else if (num >= 90) // 出現確率5%
{
Addressables.InstantiateAsync("Assets/MyPrefabs/ShotSpeedUp.prefab", transform.position, Quaternion.identity);
}
else if (num >= 80) // 出現確率10%
{
Addressables.InstantiateAsync("Assets/MyPrefabs/RapidFire.prefab", transform.position, Quaternion.identity);
}
// 今回は80%の確率で「スカ」(何もアイテムが出現しない)にしています(スカの確率も自由です)
}
}
}
![F60d0ea5 53fe 45cc 9bb3 c632e2883304](https://codegenius.org/uploads/slide/image/7671/f60d0ea5-53fe-45cc-9bb3-c632e2883304.jpeg)
【2021版】Danmaku(基礎/全55回)
他のコースを見る![5d633aab 589f 4027 a574 60009dd4e2c0](https://codegenius.org/uploads/slide/image/7664/5d633aab-589f-4027-a574-60009dd4e2c0.jpeg)
![3f211f4e 0c6d 4775 92c4 0c46a5b82c99](https://codegenius.org/uploads/slide/image/7665/3f211f4e-0c6d-4775-92c4-0c46a5b82c99.jpeg)
![5f517b7f 0a1b 4c3e 8657 723aa16687d7](https://codegenius.org/uploads/slide/image/7666/5f517b7f-0a1b-4c3e-8657-723aa16687d7.jpeg)
![089dc48f d86f 42a2 9718 b4ff4ec59cf2](https://codegenius.org/uploads/slide/image/7667/089dc48f-d86f-42a2-9718-b4ff4ec59cf2.jpeg)
![22ae0b16 87ee 4a2b 8193 9418c0a03793](https://codegenius.org/uploads/slide/image/7668/22ae0b16-87ee-4a2b-8193-9418c0a03793.jpeg)
![E712eded 493b 4891 8623 8d5390aea07b](https://codegenius.org/uploads/slide/image/7669/e712eded-493b-4891-8623-8d5390aea07b.jpeg)
![931164d5 4683 4ffe 9d9a 24195f5d223f](https://codegenius.org/uploads/slide/image/7670/931164d5-4683-4ffe-9d9a-24195f5d223f.jpeg)
アイテムのランダム出現(Addressables)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// ★追加
using UnityEngine.AddressableAssets;
public abstract class EnemyBase : MonoBehaviour
{
public int HP;
public int ScoreValue;
public virtual void TakeDamage(int missilePower)
{
HP -= missilePower;
if (HP < 1)
{
Destroy(gameObject);
GameObject.Find("ScoreManager").GetComponent<ScoreManager>().AddScore(ScoreValue);
// ★追加
int num = Random.Range(0, 100); // 0〜99までの数字をランダムに選択
// ★追加
// if文でアイテムごとの出現確率をコントロール(確率は自由に設定)
// 自分のアイテム数に応じて条件を追加すること。
if (num >= 95) // 出現確率5%
{
// 各アイテムのパスをコピー&ペーストする。
Addressables.InstantiateAsync("Assets/MyPrefabs/MoveSpeedUp.prefab", transform.position, Quaternion.identity);
}
else if (num >= 90) // 出現確率5%
{
Addressables.InstantiateAsync("Assets/MyPrefabs/ShotSpeedUp.prefab", transform.position, Quaternion.identity);
}
else if (num >= 80) // 出現確率10%
{
Addressables.InstantiateAsync("Assets/MyPrefabs/RapidFire.prefab", transform.position, Quaternion.identity);
}
// 今回は80%の確率で「スカ」(何もアイテムが出現しない)にしています(スカの確率も自由です)
}
}
}
![F60d0ea5 53fe 45cc 9bb3 c632e2883304](https://codegenius.org/uploads/slide/image/7671/f60d0ea5-53fe-45cc-9bb3-c632e2883304.jpeg)
アイテムのランダム出現(Addressable Asset System)