¡¡GamaManager¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤Î¤Ç¡¢ResultPopUp¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥²¡¼¥à²èÌÌÆâ¤Ë°ÜÆ°¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¼¡¤ÏResultPopUp¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÍÑ°Õ¤·¤¿³ÆText¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ë¡¢¥¹¥³¥¢¤ÎÃͤȾä·¤¿´³»Ù¤Î¿ô¤òɽ¼¨¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡¤½¤Î¤¿¤á¤Ë¤ÏResultPopUp¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¡¢¿·¤·¤¯¥¹¥¯¥ê¥×¥È¤ò£±¤ÄºîÀ®¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¤³¤Î¥¹¥¯¥ê¥×¥È¤ò²ð¤·¤Æ¡¢¥¹¥³¥¢¤Ê¤É¤ÎÃͤΤä¤ê¤È¤ê¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤¤Þ¤¹¡£
¡¡ProjectÆâ¤ÎScripts¥Õ¥©¥ë¥ÀÆâ¤Ç±¦¥¯¥ê¥Ã¥¯¤·¤Æ¡¢Create => C# Script ¤òÁªÂò¤·¡¢Ì¾Á°¤ò ResultPopUp ¤ËÊѹ¹¤·¤Þ¤¹¡£
ResultPopUp¤ò³«¤¤¤Æ¡¢¥¹¥¯¥ê¥×¥È¤òµ½Ò¤·¤Æ¤¤¤¤·¤ç¤¦¡£
ResuluPopUp.cs
¡¡<=¡¡¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤¤Þ¤¹¡£
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
public class ResultPopUp : MonoBehaviour
{
[SerializeField]
private Text txtScore;
[SerializeField]
private Text txtEraseEtoCount;
[SerializeField]
private Button btnClosePopUp;
void Start() {
// btnClosePopUp¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»ý¤ÄCanvasGruop¤ÎAlpha¤ò 0 ¤ËÀßÄꤷ¤ÆÆ©ÌÀ¤Ë¤·¤Æ¤ª¤¯(ºÇ½é¤Ï¥¿¥Ã¥×¤Ç¤¤º¡¢¤«¤Ä¸«¤¨¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤ª¤¯)
btnClosePopUp.gameObject.GetComponent<CanvasGroup>().alpha = 0.0f;
}
/// <summary>
/// ¥²¡¼¥à·ë²Ì(ÅÀ¿ô¤È¾Ã¤·¤¿´³»Ù¤Î¿ô)¤ò¥¢¥Ë¥áɽ¼¨
/// </summary>
/// <param name="score"></param>
/// <param name="eraseEtoCount"></param>
public void DisplayResult(int score, int eraseEtoCount) {
// ·×»»ÍѤνé´üÃͤòÀßÄê
int initValue = 0;
// DOTween¤ÎSequence(¥·¡¼¥±¥ó¥¹)µ¡Ç½¤ò½é´ü²½¤·¤Æ»ÈÍѤǤ¤ë¤è¤¦¤Ë¤¹¤ë
Sequence sequence = DOTween.Sequence();
// ¥·¡¼¥±¥ó¥¹¤òÍøÍѤ·¤Æ¡¢DOTween¤Î½èÍý¤òÀ©¸æ¤·¤¿¤¤½çÈ֤ǵ½Ò¤¹¤ë¡£¤Þ¤º¤Ï¡¥¹¥³¥¢¤Î¿ô»ú¤ò¥¢¥Ë¥á¤·¤Æɽ¼¨
sequence.Append(DOTween.To(() => initValue,
(num) => {
initValue = num;
txtScore.text = num.ToString();
},
score,
1.0f).OnComplete(() => { initValue = 0; }).SetEase(Ease.InCirc)); // ¼¡¤Î½èÍý¤Î¤¿¤á¤ËOnComplete¤ò»È¤Ã¤ÆinitValue¤ò½é´ü²½
// ¢¥·¡¼¥±¥ó¥¹½èÍý¤ò0.5ÉäÀ¤±ÂÔµ¡
sequence.AppendInterval(0.5f);
// £¾Ã¤·¤¿´³»Ù¤Î¿ô»ú¤ò¥¢¥Ë¥á¤·¤Æɽ¼¨
sequence.Append(DOTween.To(() => initValue,
(num) => {
initValue = num;
txtEraseEtoCount.text = num.ToString();
},
eraseEtoCount,
1.0f).SetEase(Ease.InCirc));
// ¤¥·¡¼¥±¥ó¥¹½èÍý¤ò0.5ÉäÀ¤±ÂÔµ¡
sequence.AppendInterval(1.0f);
¡¡¡¡¡¡¡¡// ¥Æ©ÌÀ¤Ë¤Ê¤Ã¤Æ¤¤¤ëbtnClosePopUp¤È¤½¤Î»ÒÍ×ÁǤòCanvasGruop¤ÎAlpha¤ò»ÈÍѤ·¤Æ½ù¡¹¤Ëɽ¼¨
sequence.Append(btnClosePopUp.gameObject.GetComponent<CanvasGroup>().DOFade(1.0f, 1.0f).SetEase(Ease.Linear));
}
}
¡¡ResultPopUp¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¡¢Canvas¤Ë¤¢¤ëResultPopUp¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
ResultPopUp¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Æ¡¢ResultPopUp¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Þ¤¹¡£
¡¡ResultPopUp¥¹¥¯¥ê¥×¥È¤ËÀë¸À¤·¤¿£³¤Ä¤ÎÊÑ¿ô¤¬¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤¾¤ìÂоݤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
³ÆÊÑ¿ô̾¤Ï¥¢¥µ¥¤¥ó¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤ÈƱ¤¸¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ï¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤À¤±¤Ç¤Ï¤Ê¤¯¡¢Ëü¤¬°ì¡¢°Û¤Ê¤ë̾Á°¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¢¥µ¥¤¥ó¤µ¤ì¤Æ¤¤¤¿¤é¤¹¤°¤Ëµ¤¤Å¤±¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£
¡¡À©ºî¤¹¤ëºÝ¤Ë¤Ï¤³¤¦¤¤¤Ã¤¿ºÙÉô¤Ë¤âµ¤¤òÇÛ¤ë¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£¼«Ê¬¤À¤±¤Ç¤Ï¤Ê¤¯Âè»°¼Ô¤ÎÊý¤¬¸«¤Æ¤â¤ï¤«¤ê¤ä¤¹¤¤ºî¤ê¤ò¿´³Ý¤±¤Æ¤¯¤À¤µ¤¤¡£
ResultPopUp¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
¡¡¼¡¤Ï¡¢¤³¤ÎResultPopUp¥¹¥¯¥ê¥×¥È¤ËÍÑ°Õ¤·¤¿DiaplayResult¥á¥½¥Ã¥É¤òGamanManager¥¹¥¯¥ê¥×¥È¤«¤é¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¡¢¥¹¥³¥¢¤È¾Ã¤·¤¿´³»Ù¤Î¿ô¤ò¼õ¤±¼è¤Ã¤Æ
¤½¤ì¤òText¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÄ̤¸¤Æ¥²¡¼¥à²èÌ̤Îɽ¼¨¤ò¹¹¿·¤·¤Þ¤¹¡£¤³¤Î¤È¤¡¢¥¹¥³¥¢¤È¾Ã¤·¤¿´³»Ù¤Î¿ô¤Ï¥¢¥Ë¥áɽ¼¨¤µ¤»¤Þ¤¹¡£
¡¡¥Æ¥¯¥Ë¥Ã¥¯¤È¤·¤Þ¤·¤Æ¡¢CanvasGruop¤òÍøÍѤ·¤ÆbtnClosePopUp¤È¤½¤Î»ÒÍ×ÁǤò°ì»þŪ¤ËÆ©ÌÀ¤Ë¤·¤Æ¤ª¤¤Þ¤¹¡£
¤½¤·¤Æ¥¹¥³¥¢¤Ê¤É¤Îɽ¼¨¤¬½ªÎ»¤·¤Æ¤«¤é¡¢²èÌ̤Υ¿¥Ã¥×¤òÂ¥¤¹¥á¥Ã¥»¡¼¥¸¤ò½ù¡¹¤Ëɽ¼¨¤µ¤»¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¥æ¡¼¥¶¡¼¤ÎÌÜÀþ¤ÎƳÀþ¤È¤·¤Æ¡¢¥¹¥³¥¢¡¢¾Ã¤·¤¿´³»Ù¤Î¿ô¤¬½çÈÖ¤Ëɽ¼¨¤µ¤ì¡¢¤½¤Î¸å¡¢ÌÜÀþ¤ÎÀè¤Ë¤¯¤ëÉôʬ¤Ë¤³¤Î²èÌÌ¥¿¥Ã¥×¤Îɽ¼¨¤òɽ¼¨¤µ¤»¤ë¤³¤È¤Ç¼¡¤Î¥×¥ì¥¤¤òÂ¥¤·¤Þ¤¹¡£