短編RPG制作(Unity2D)【第56回】ポーズ機能、ステージ移動機能
ポーズ機能
バトルを止める機能を実装します。
ボタン追加
前回同様、まずボタンを追加しました。
押すとポーズ、もう一度押すと再開します。
機能作成
ボタンに機能を付けます。
using UnityEngine;
using UnityEngine.UI;
public class PauseButton : MonoBehaviour
{
private Text _text;
private bool pause = false;
private void Start()
{
_text = GetComponentInChildren<Text>();
}
public void OnClickPauseButton()
{
if (!pause)
{
pause = true;
Time.timeScale = 0;
_text.text = "Restart";
}
else
{
pause = false;
Time.timeScale = 1;
_text.text = "Pause";
}
}
}
このPauseButtonクラスでゲーム内時間を操作することで、ポーズを実現します。
"Time.timeScale"を0にすると、ゲーム内時間が停止します。(Update関数は動き続けるようです。)
"Time.timeScale"を1にすると通常通り、2にするとゲーム内速度が2倍になるらしいです。
また、通常通りに時間が動いている時は「Pause」、ポーズ中は「Restart」をボタンに表示するようにしました。
ステージ移動機能
ステージを戻したり進めたりする機能を追加します。
ボタン追加
例のごとくボタン追加です。
ついでにステージの表示位置を見直しました。
まとめ
時間足りないので今日はここまでです。
明日はステージ移動ボタンを機能させたいと思います。
この記事が気に入ったらサポートをしてみませんか?