★Syunpei Kiyota

(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