(2024年4月6日)
<購入できないBOTがあるの修正>
(2024年2月17日)
<rayがヒットしたポイントにボムを出現させる>
★部分の2箇所のコードを修正すればOK
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SetBot : MonoBehaviour
{
private GameObject target;
public GameObject[] myBotPrefab;
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) % myBotPrefab.Length;
AudioSource.PlayClipAtPoint(selectSound, Camera.main.transform.position);
for (int i = 0; i < botIcons.Length; i++)
{
if (i == num)
{
botIcons[i].SetActive(true);
}
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" && myBotPrefab[num].tag != "Bom") // Modified condition
{
Instantiate(myBotPrefab[num], target.transform.position, Quaternion.identity);
target.tag = "NG";
target.GetComponent().material = NGMark;
}
// ★コードの修正
else if (target.tag == "Floor" && myBotPrefab[num].tag == "Bom") // Modified condition for Element 3
{
print(myBotPrefab[num].tag);
Instantiate(myBotPrefab[num], hit.point, Quaternion.identity);
}
else
{
AudioSource.PlayClipAtPoint(NGSound, Camera.main.transform.position);
}
}
}
}
}
(2023年4月22日)
<半分HP条件の作り方>
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnemyA : EnemyBase
{
public Slider HPSleider;
public EnemyFireMissile Firebox;
// ★追加
private int halfHP;
void Start()
{
HP = 17;
// ★追加
halfHP = HP / 2;
print("半分HP;" + halfHP);
HPSleider.maxValue = HP;
HPSleider.value = HP;
}
public override void TakeDamage(int missilePower)
{
HP -= missilePower;
HPSleider.value = HP;
// ★改良
if (HP == halfHP)
//半分をどうやって表すか
{
//HPが3になったらスピードをランダム(早くしたり遅くしたり)する
Firebox.SpeedChange();
}
if (HP < 1)
{
Destroy(gameObject);
}
}
}
zzz