Unity
C#についての質問です。
ショップ画面制作などの挙動についてです。
プレイヤーが特定のオブジェクトに触れると
Time.timeScale = 0f;
でゲームを一時停止、アイテム一覧とカーソル等のプレハブが生成されます。
そうするとBoxCollider2Dトリガーで設定した以下のような動作が全て動かなくなってしまいます。
void OnTriggerEnter2D(Collider2D col){}
アイテムサムネイル(停止)とカーソル(物理使わず移動)が重なるとサムネイルの子オブジェクトのアニメーション(bool)が変わる
と言った内容です。
Time.timeScale = 1f;
の時は動作します。
以下のスクリプトもパネルにアタッチしています。
public class Cursol1 : MonoBehaviour {
GameObject ChildObject;
private AudioSource cursolSe;
public bool cursolOnOff;
// Use this for initialization
void Start () {
ChildObject = transform.GetChild(0).gameObject;
AudioSource[] audioSources = GetComponents<AudioSource>();
cursolSe = audioSources[0];
}
// Update is called once per frame
void Update () {
if (cursolOnOff) {
ChildObject.SetActive(true);
}
else { ChildObject.SetActive(false);
}
}
void OnTriggerEnter2D(Collider2D col)
{
if (col.gameObject.tag == "Cursol1P")
{
cursolSe.PlayOneShot(cursolSe.clip);
}
}
void OnTriggerExit2D(Collider2D col)
{
if (col.gameObject.tag == "Cursol1P")
{
cursolOnOff = false;
}
}
void OnTriggerStay2D(Collider2D col)
{
if (col.gameObject.tag == "Cursol1P")
{
cursolOnOff = true;
}
}
}
物理は Time.timeScale = 0f; 中は動かしようがないというような記事も見かけたのですが、それでトリガー等も無効になっているのでしょうか?
何か方法がございましたらご教示いただけますと幸いです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/10 10:05
2020/01/14 00:54
2020/03/12 13:12