🔘
Unityでシーンを変えてから3秒後にボタンを表示する
備考
Windows10
Unity 2020.3.5f1
日本語化してます。
なお、今回は詳細な解説は省きます。
目次
- プロジェクト作成
- シーンを作る
- シーンを登録する
- シーン遷移のプログラムを書く
- 2つ目のシーン用のプログラムを書く
- 完成
さて...
1. プロジェクト作成
まずはプロジェクトの作成をします。今回は「テスト」にしました。
2. シーンを作る
下の「プロジェクト」ウィンドウで右クリック -> 作成 -> シーン を選択し、2つ作ります。名前は適当で構いませんが、今回は「1」と「2」にしました。
また、両シーンに「scene」という名前で空のゲームオブジェクトを作っておいてください
3. シーンを登録する
続いてシーンを登録します。これをしないとシーンを操作できません。
左上のファイル -> ビルド設定 をクリック。
シーンを追加をクリックして画像と同じになったら閉じます。
これで完了です。
4. シーン遷移のプログラムを書く
Assetで「scripts」フォルダを作り
「scripts」フォルダで右クリック -> 作成 -> C#スクリプト でスクリプトを作成します。
名前は「s1to2」にしました。
ダブルクリックで開き、このように入力してください。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class s1to2 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if(Input.GetKey(KeyCode.Space)) {
SceneManager.LoadScene("2");
}
}
}
そしてこれをシーン1の「scene」へドラッグ&ドロップします。
これでスペースを押したときにシーン2へ遷移できます。
5. 2つ目のシーン用のプログラムを書く
先ほどと同じようにプロジェクトを作成します。名前はs2にしました。
これを開いて、下のものを入力してください。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class s2 : MonoBehaviour
{
float count = 0;
GameObject btn;
// Start is called before the first frame update
void Start()
{
btn = GameObject.Find("Button");
btn.SetActive(false);
}
// Update is called once per frame
void Update()
{
count += Time.deltaTime;
if (count >= 3.0f) {
btn.SetActive(true);
}
}
}
これをシーン2の「scene」にドラッグ&ドロップすれば完成です。
ご覧いただきありがとうございました。
Discussion