攻撃力の強化③(オプションアイテム)
![68bcc354 7071 4ab7 a349 56559041d9a7](https://codegenius.org/uploads/slide/image/7698/68bcc354-7071-4ab7-a349-56559041d9a7.jpeg)
![F5ce7778 5649 491d 85b2 47196db0748b](https://codegenius.org/uploads/slide/image/7699/f5ce7778-5649-491d-85b2-47196db0748b.jpeg)
Optionのオン・オフの管理
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OptionController : MonoBehaviour
{
public GameObject[] options;
private bool moveOK = false;
private Vector3 playerPos;
private List<Vector3> playerPosRecord = new List<Vector3>();
// ★追加
private int optionCount = 0;
void Start()
{
playerPos = transform.position;
for (int i = 0; i < 40; i++)
{
playerPosRecord.Add(playerPos);
}
// ★追加
// ゲーム開始時は、全Optionをオフ状態にしておく。
foreach(GameObject g in options)
{
g.SetActive(false);
}
}
void Update()
{
playerPos = transform.position;
float h = Mathf.Abs(Input.GetAxis("Horizontal"));
float v = Mathf.Abs(Input.GetAxis("Vertical"));
if (h > 0.5f || v > 0.5f)
{
moveOK = true;
}
else
{
moveOK = false;
}
if(moveOK)
{
playerPosRecord.Insert(0, playerPos);
playerPosRecord.RemoveAt(playerPosRecord.Count - 1);
}
options[0].transform.position = playerPosRecord[9];
options[1].transform.position = playerPosRecord[19];
options[2].transform.position = playerPosRecord[29];
options[3].transform.position = playerPosRecord[39];
}
// ★追加
public void AddOptionCount()
{
optionCount += 1;
// optionCountの数字によって、各Optionをオンにする。
switch (optionCount)
{
case 1:
options[0].SetActive(true);
break;
case 2:
options[1].SetActive(true);
break;
case 3:
options[2].SetActive(true);
break;
case 4:
options[3].SetActive(true);
break;
}
}
}
![Edca228b cba8 4d2f bd6d 388797fd9a3b](https://codegenius.org/uploads/slide/image/7700/edca228b-cba8-4d2f-bd6d-388797fd9a3b.jpeg)
オプションアイテム
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OptionItem : ItemBase
{
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
ItemGet();
other.GetComponent<OptionController>().AddOptionCount();
}
}
}
![754a1c79 e072 47dc 9f73 d6b6e8c7ab1c](https://codegenius.org/uploads/slide/image/7701/754a1c79-e072-47dc-9f73-d6b6e8c7ab1c.jpeg)
![4d0c1252 f001 4730 8315 ff4a8eaab2ac](https://codegenius.org/uploads/slide/image/7702/4d0c1252-f001-4730-8315-ff4a8eaab2ac.jpeg)
![17a1501d 0fd0 4e05 ba89 6bc8d397b8a8](https://codegenius.org/uploads/slide/image/7703/17a1501d-0fd0-4e05-ba89-6bc8d397b8a8.jpeg)
【2021版】Danmaku(基礎/全55回)
他のコースを見る![68bcc354 7071 4ab7 a349 56559041d9a7](https://codegenius.org/uploads/slide/image/7698/68bcc354-7071-4ab7-a349-56559041d9a7.jpeg)
![F5ce7778 5649 491d 85b2 47196db0748b](https://codegenius.org/uploads/slide/image/7699/f5ce7778-5649-491d-85b2-47196db0748b.jpeg)
Optionのオン・オフの管理
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OptionController : MonoBehaviour
{
public GameObject[] options;
private bool moveOK = false;
private Vector3 playerPos;
private List<Vector3> playerPosRecord = new List<Vector3>();
// ★追加
private int optionCount = 0;
void Start()
{
playerPos = transform.position;
for (int i = 0; i < 40; i++)
{
playerPosRecord.Add(playerPos);
}
// ★追加
// ゲーム開始時は、全Optionをオフ状態にしておく。
foreach(GameObject g in options)
{
g.SetActive(false);
}
}
void Update()
{
playerPos = transform.position;
float h = Mathf.Abs(Input.GetAxis("Horizontal"));
float v = Mathf.Abs(Input.GetAxis("Vertical"));
if (h > 0.5f || v > 0.5f)
{
moveOK = true;
}
else
{
moveOK = false;
}
if(moveOK)
{
playerPosRecord.Insert(0, playerPos);
playerPosRecord.RemoveAt(playerPosRecord.Count - 1);
}
options[0].transform.position = playerPosRecord[9];
options[1].transform.position = playerPosRecord[19];
options[2].transform.position = playerPosRecord[29];
options[3].transform.position = playerPosRecord[39];
}
// ★追加
public void AddOptionCount()
{
optionCount += 1;
// optionCountの数字によって、各Optionをオンにする。
switch (optionCount)
{
case 1:
options[0].SetActive(true);
break;
case 2:
options[1].SetActive(true);
break;
case 3:
options[2].SetActive(true);
break;
case 4:
options[3].SetActive(true);
break;
}
}
}
![Edca228b cba8 4d2f bd6d 388797fd9a3b](https://codegenius.org/uploads/slide/image/7700/edca228b-cba8-4d2f-bd6d-388797fd9a3b.jpeg)
オプションアイテム
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OptionItem : ItemBase
{
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
ItemGet();
other.GetComponent<OptionController>().AddOptionCount();
}
}
}
![754a1c79 e072 47dc 9f73 d6b6e8c7ab1c](https://codegenius.org/uploads/slide/image/7701/754a1c79-e072-47dc-9f73-d6b6e8c7ab1c.jpeg)
![4d0c1252 f001 4730 8315 ff4a8eaab2ac](https://codegenius.org/uploads/slide/image/7702/4d0c1252-f001-4730-8315-ff4a8eaab2ac.jpeg)
![17a1501d 0fd0 4e05 ba89 6bc8d397b8a8](https://codegenius.org/uploads/slide/image/7703/17a1501d-0fd0-4e05-ba89-6bc8d397b8a8.jpeg)
攻撃力の強化③(オプションアイテム)