MyBotのセット④(MyBotアイコンの作成)
![21236f6c 574d 4589 8109 30a0a5a261fb](https://codegenius.org/uploads/slide/image/7978/21236f6c-574d-4589-8109-30a0a5a261fb.jpeg)
![E432894d eead 4845 9f2d b97e0c818042](https://codegenius.org/uploads/slide/image/7979/e432894d-eead-4845-9f2d-b97e0c818042.jpeg)
![8f8847c4 ce97 4e1a 9e97 f2546317dcca](https://codegenius.org/uploads/slide/image/7980/8f8847c4-ce97-4e1a-9e97-f2546317dcca.jpeg)
![E97f4920 72c7 417d 93cf a548636d7c3c](https://codegenius.org/uploads/slide/image/7981/e97f4920-72c7-417d-93cf-a548636d7c3c.jpeg)
![1548bb63 b3bc 4f05 bd2e 9492f888be3c](https://codegenius.org/uploads/slide/image/7982/1548bb63-b3bc-4f05-bd2e-9492f888be3c.jpeg)
選択したBotのアイコンを表示する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SetBot : MonoBehaviour
{
private GameObject target;
public GameObject[] myBotsPrefab;
private int num = 0;
public AudioClip selectSound;
public AudioClip NGSound;
public Material NGMark;
// ★追加
public GameObject[] botIcons;
// ★追加
private void Start()
{
for (int i = 0; i < botIcons.Length; i++)
{
if (i == num)
{
botIcons[i].SetActive(true);
}
else
{
botIcons[i].SetActive(false);
}
}
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Mouse1))
{
num = (num + 1) % myBotsPrefab.Length;
AudioSource.PlayClipAtPoint(selectSound, Camera.main.transform.position);
// ★追加
// 同じ処理をBotアイコンの数だけ繰り返す。
for (int i = 0; i < botIcons.Length; i++)
{
if (i == num)
{
botIcons[i].SetActive(true); // numと同じ数値のアイコンを表示
}
else
{
botIcons[i].SetActive(false); // それ以外は非表示
}
}
}
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
target = hit.collider.gameObject;
if (Input.GetKeyDown(KeyCode.Mouse0))
{
if (target.tag == "Block")
{
GameObject bot = Instantiate(myBotsPrefab[num], target.transform.position, Quaternion.identity);
target.tag = "NG";
target.GetComponent<MeshRenderer>().material = NGMark;
}
else
{
AudioSource.PlayClipAtPoint(NGSound, Camera.main.transform.position);
}
}
}
}
}
![Dca34f43 061b 4eee a519 4b82109cd339](https://codegenius.org/uploads/slide/image/7983/dca34f43-061b-4eee-a519-4b82109cd339.jpeg)
![299f3a52 2234 4f87 8118 cffbc257ecf9](https://codegenius.org/uploads/slide/image/7984/299f3a52-2234-4f87-8118-cffbc257ecf9.jpeg)
【2021版】TowerD Ⅱ(全17回)
他のコースを見る![21236f6c 574d 4589 8109 30a0a5a261fb](https://codegenius.org/uploads/slide/image/7978/21236f6c-574d-4589-8109-30a0a5a261fb.jpeg)
![E432894d eead 4845 9f2d b97e0c818042](https://codegenius.org/uploads/slide/image/7979/e432894d-eead-4845-9f2d-b97e0c818042.jpeg)
![8f8847c4 ce97 4e1a 9e97 f2546317dcca](https://codegenius.org/uploads/slide/image/7980/8f8847c4-ce97-4e1a-9e97-f2546317dcca.jpeg)
![E97f4920 72c7 417d 93cf a548636d7c3c](https://codegenius.org/uploads/slide/image/7981/e97f4920-72c7-417d-93cf-a548636d7c3c.jpeg)
![1548bb63 b3bc 4f05 bd2e 9492f888be3c](https://codegenius.org/uploads/slide/image/7982/1548bb63-b3bc-4f05-bd2e-9492f888be3c.jpeg)
選択したBotのアイコンを表示する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SetBot : MonoBehaviour
{
private GameObject target;
public GameObject[] myBotsPrefab;
private int num = 0;
public AudioClip selectSound;
public AudioClip NGSound;
public Material NGMark;
// ★追加
public GameObject[] botIcons;
// ★追加
private void Start()
{
for (int i = 0; i < botIcons.Length; i++)
{
if (i == num)
{
botIcons[i].SetActive(true);
}
else
{
botIcons[i].SetActive(false);
}
}
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Mouse1))
{
num = (num + 1) % myBotsPrefab.Length;
AudioSource.PlayClipAtPoint(selectSound, Camera.main.transform.position);
// ★追加
// 同じ処理をBotアイコンの数だけ繰り返す。
for (int i = 0; i < botIcons.Length; i++)
{
if (i == num)
{
botIcons[i].SetActive(true); // numと同じ数値のアイコンを表示
}
else
{
botIcons[i].SetActive(false); // それ以外は非表示
}
}
}
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
target = hit.collider.gameObject;
if (Input.GetKeyDown(KeyCode.Mouse0))
{
if (target.tag == "Block")
{
GameObject bot = Instantiate(myBotsPrefab[num], target.transform.position, Quaternion.identity);
target.tag = "NG";
target.GetComponent<MeshRenderer>().material = NGMark;
}
else
{
AudioSource.PlayClipAtPoint(NGSound, Camera.main.transform.position);
}
}
}
}
}
![Dca34f43 061b 4eee a519 4b82109cd339](https://codegenius.org/uploads/slide/image/7983/dca34f43-061b-4eee-a519-4b82109cd339.jpeg)
![299f3a52 2234 4f87 8118 cffbc257ecf9](https://codegenius.org/uploads/slide/image/7984/299f3a52-2234-4f87-8118-cffbc257ecf9.jpeg)
MyBotのセット④(MyBotアイコンの作成)