(攻撃の作成)選択したトリガーを画面に表示する
![B7b65b28 093d 4b68 b7f3 bfd515a3ad49](https://codegenius.org/uploads/slide/image/6532/b7b65b28-093d-4b68-b7f3-bfd515a3ad49.jpeg)
![Ce8739e5 7db0 4100 9d8d aeca2be4ff21](https://codegenius.org/uploads/slide/image/6533/ce8739e5-7db0-4100-9d8d-aeca2be4ff21.jpeg)
![7dadb112 e8a7 4d0c 8525 511102b2fd3e](https://codegenius.org/uploads/slide/image/6534/7dadb112-e8a7-4d0c-8525-511102b2fd3e.jpeg)
選択したトリガーを画面に表示する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
// ★追加
using UnityEngine.UI;
public class ShotTrigger : MonoBehaviourPunCallbacks
{
public GameObject[] shotAnchors;
public string[] triggers;
private int num = 0;
public GameObject markPrefab;
// ★追加
public Text triggerLabel;
// ★追加
private void Start()
{
triggerLabel = GameObject.Find("TriggerLabel").GetComponent<Text>();
// triggerx[0]はAsteroidXに対応
// triggerx[1]はHoundXに対応
triggerLabel.text = triggers[num];
}
void Update()
{
if(photonView.IsMine)
{
if(Input.GetKeyDown(KeyCode.D))
{
num = (num + 1) % triggers.Length;
// ★追加
// Dキーを押すごとにトリガーの表示が変化する。
triggerLabel.text = triggers[num];
}
if(Input.GetKeyDown(KeyCode.A))
{
foreach (GameObject anchor in shotAnchors)
{
StartCoroutine(Trigger(anchor));
}
if(num == 1)
{
StartCoroutine(SetMark());
}
}
if (Input.GetMouseButtonDown(0))
{
foreach(GameObject anchor in shotAnchors)
{
StartCoroutine(Trigger(anchor));
}
}
}
}
private IEnumerator Trigger(GameObject point)
{
GameObject trigger = PhotonNetwork.Instantiate(triggers[num], point.transform.position, Camera.main.transform.rotation);
yield return new WaitForSeconds(5f);
if(trigger)
{
PhotonNetwork.Destroy(trigger.gameObject);
}
}
private IEnumerator SetMark()
{
RaycastHit hit;
if(Physics.Raycast(Camera.main.transform.position, Camera.main.transform.forward, out hit))
{
GameObject mark = Instantiate(markPrefab, hit.point, Quaternion.identity);
yield return new WaitForSeconds(5f);
Destroy(mark);
}
}
}
![9f7335f0 f9be 4d42 ad63 3b53bc5f2c87](https://codegenius.org/uploads/slide/image/6535/9f7335f0-f9be-4d42-ad63-3b53bc5f2c87.jpeg)
【2020版】BattleOnline(基礎/全34回)
他のコースを見る![B7b65b28 093d 4b68 b7f3 bfd515a3ad49](https://codegenius.org/uploads/slide/image/6532/b7b65b28-093d-4b68-b7f3-bfd515a3ad49.jpeg)
![Ce8739e5 7db0 4100 9d8d aeca2be4ff21](https://codegenius.org/uploads/slide/image/6533/ce8739e5-7db0-4100-9d8d-aeca2be4ff21.jpeg)
![7dadb112 e8a7 4d0c 8525 511102b2fd3e](https://codegenius.org/uploads/slide/image/6534/7dadb112-e8a7-4d0c-8525-511102b2fd3e.jpeg)
選択したトリガーを画面に表示する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
// ★追加
using UnityEngine.UI;
public class ShotTrigger : MonoBehaviourPunCallbacks
{
public GameObject[] shotAnchors;
public string[] triggers;
private int num = 0;
public GameObject markPrefab;
// ★追加
public Text triggerLabel;
// ★追加
private void Start()
{
triggerLabel = GameObject.Find("TriggerLabel").GetComponent<Text>();
// triggerx[0]はAsteroidXに対応
// triggerx[1]はHoundXに対応
triggerLabel.text = triggers[num];
}
void Update()
{
if(photonView.IsMine)
{
if(Input.GetKeyDown(KeyCode.D))
{
num = (num + 1) % triggers.Length;
// ★追加
// Dキーを押すごとにトリガーの表示が変化する。
triggerLabel.text = triggers[num];
}
if(Input.GetKeyDown(KeyCode.A))
{
foreach (GameObject anchor in shotAnchors)
{
StartCoroutine(Trigger(anchor));
}
if(num == 1)
{
StartCoroutine(SetMark());
}
}
if (Input.GetMouseButtonDown(0))
{
foreach(GameObject anchor in shotAnchors)
{
StartCoroutine(Trigger(anchor));
}
}
}
}
private IEnumerator Trigger(GameObject point)
{
GameObject trigger = PhotonNetwork.Instantiate(triggers[num], point.transform.position, Camera.main.transform.rotation);
yield return new WaitForSeconds(5f);
if(trigger)
{
PhotonNetwork.Destroy(trigger.gameObject);
}
}
private IEnumerator SetMark()
{
RaycastHit hit;
if(Physics.Raycast(Camera.main.transform.position, Camera.main.transform.forward, out hit))
{
GameObject mark = Instantiate(markPrefab, hit.point, Quaternion.identity);
yield return new WaitForSeconds(5f);
Destroy(mark);
}
}
}
![9f7335f0 f9be 4d42 ad63 3b53bc5f2c87](https://codegenius.org/uploads/slide/image/6535/9f7335f0-f9be-4d42-ad63-3b53bc5f2c87.jpeg)
(攻撃の作成)選択したトリガーを画面に表示する