右ボタンを押したら次のページへ、左ボタンを押したら前のページへ行く。
テキストの内容が変わることによってページを変えているようにする。
こちらの記事を参考に実装した
gametukurikata.com
private void OnNextPaper()
{
if (_NowPageNumber != _MaxPageNumber)
{
ChangeContents(_NowPageNumber + 1);
}
}
private void OnPreviousPaper()
{
if (_NowPageNumber != 1)
{
ChangeContents(_NowPageNumber - 1);
}
}
private void ChangeContents(int pageNumber)
{
_NowPageNumber = pageNumber;
Text_Title.text = BlogList[pageNumber-1].Title;
Text_Contents.text = BlogList[pageNumber-1].Contents;
}
マックスまで行くと止まる。ループはしない
Listはここでやった
bibinbaleo.hatenablog.com
全体
[SerializeField] private Text Text_Title;
[SerializeField] private Text Text_Contents;
[SerializeField] private Button _ButtonNext;
[SerializeField] private Button _ButtonPrevious;
public List<Blog> BlogList = new List<Blog>();
private int _MaxPageNumber;
private int _NowPageNumber = 1;
void Start()
{
_MaxPageNumber = BlogList.Count;
ChangeContents(_NowPageNumber);
_ButtonNext.onClick.AddListener(OnNextPaper);
_ButtonPrevious.onClick.AddListener(OnPreviousPaper);
}
[System.Serializable]
public class Blog
{
public string Title;
[TextArea(1, 10)] public string Contents;
public Blog(string title ,string contents)
{
Title = title;
Contents = contents;
}
}
private void OnNextPaper()
{
if (_NowPageNumber != _MaxPageNumber)
{
ChangeContents(_NowPageNumber + 1);
}
}
private void OnPreviousPaper()
{
if (_NowPageNumber != 1)
{
ChangeContents(_NowPageNumber - 1);
}
}
private void ChangeContents(int pageNumber)
{
_NowPageNumber = pageNumber;
Text_Title.text = BlogList[pageNumber-1].Title;
Text_Contents.text = BlogList[pageNumber-1].Contents;
}
startで最初のページを1にして、マックスのページをLost.Countで入れている。
_NowPageNumber = 1;
_MaxPageNumber = BlogList.Count;
ChangeContents(_NowPageNumber);
そしてページを変えている。
配列「length」で数を取ったのにListはCountなのか~
できた!