using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move : MonoBehaviour {
enum MoveProperties
{
DirectionStart,
DirectionEnd
};
public float spinSpeed = 2.0f;
private bool rotate = false;
private bool exited = false;
private List<GameObject> prefabs;
private void Start()
{
InstantiateObjects gos = GetComponent<InstantiateObjects>();
prefabs = new List<GameObject>();
prefabs = gos.PrefabsList();
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Player")
{
Debug.Log("Player entered the hole");
rotate = true;
}
}
private void OnTriggerExit(Collider other)
{
if (other.gameObject.tag == "Player")
{
Debug.Log("Player exited the hole");
rotate = false;
exited = true;
}
}
void Rotate()
{
if (rotate)
{
transform.Rotate(Vector3.up, spinSpeed * Time.deltaTime);
spinSpeed += 1f;
}
if (rotate == false && exited == true)
{
transform.Rotate(Vector3.up, spinSpeed * Time.deltaTime);
if (spinSpeed > 0.0f)
spinSpeed -= 1f;
}
}
private void Update()
{
Rotate();
}
}
ここで2つのトリガーがあります。キャラクターがすでに他のゲームオブジェクトの中にあるかどうかを検出するにはどうすればよいですか?</p> <p>OnTriggerEnterとOnTriggerExit:
しかし、キャラクターが最初に出てから再び入った場合、このトリガーが機能します。または外出した。しかし、私は文字がすでに内部にある間に検出する必要があります。 最初に出て再び入ることはありません。
状況は、文字が1つの場所(オブジェクトの内側の穴)にあり、次に文字の位置を穴のある別のオブジェクトに変更するという状況です。位置を変更した後、文字が第2の穴の内側にあることを何とか検出する必要があります。