ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2025ǯ10·î27Æü(·î) 09:46:30ÍúÎò
¡¡DOTween ¤Ë¤Ï Text ¥³¥ó¥Ý¡¼¥Í¥ó¥È¡¢¤¢¤ë¤¤¤Ï TextMeshPro ¥³¥ó¥Ý¡¼¥Í¥ó¥ÈÍÑ¤Ë DOCounter ¥á¥½¥Ã¥É¤¬ÍѰդµ¤ì¤Æ¤ª¤ê¡¢
¤³¤Á¤é¤òÍøÍѤ¹¤ë¤È¿ô»ú´Ö¤ÎÊä´Ö½èÍý¤Ë¤è¤Ã¤Æ¥¢¥Ë¥á¡¼¥·¥ç¥ó¤¬ºîÀ®¤Ç¤¤Þ¤¹¡£
¡ã¿ô»ú¤Î¥¢¥Ë¥á¡ä

¡¡¤¿¤À¤·¡¢DOCounter ¥á¥½¥Ã¥É¤Ç¤Ï¥«¥ó¥Þ¶èÀÚ¤ê¤Î¿ô»ú¤Ë¤è¤ë¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ÏºîÀ®¤Ç¤¤Þ¤»¤ó¡£
¤³¤Îµ»ö¤Ç¤Ï¡¢¥«¥ó¥Þ¶èÀÚ¤ê¤Î¿ô»ú¤Ë¤è¤ë¥¢¥Ë¥á¡¼¥·¥ç¥ó¤òºîÀ®¤¹¤ëÊýË¡¤ò¾Ò²ð¤·¤Þ¤¹¡£
<¥«¥ó¥Þ¶èÀÚ¤ê¤Î¿ô»ú¤Ë¤è¤ë¥¢¥Ë¥á>

¡¦Unity 6000.2.6f2 ¡¦DOTween ¡¦R3(¤¢¤ë¤¤¤Ï UniRx)
¡¡³«È¯´Ä¶¤Ë¤è¤ê¡¢²¼µ¤¬É¬Íפˤʤê¤Þ¤¹¡£
¡¦DOTween Pro(TextMeshPro ÍøÍѤξì¹ç)
¡¡R3 + DOTween Pro ¤Ë¤è¤ë¼ÂÁõÎã¤Ç¤¹¡£Power(ÀïÎÏ)¤ÎÃͤò¥¢¥Ë¥á¤µ¤»¤ë¥µ¥ó¥×¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¥½¡¼¥¹¥³¡¼¥É¤Ï²ÄÆÉÀ¤ò¹Íθ¤·¡¢¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤Î¥¿¥¤¥ß¥ó¥°¤´¤È¤Ë²þ¹Ô¤·¤Æ¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤Á¤é¤Ï1¹Ô¡¢2¹Ô¤Ë¤Þ¤È¤á¤Æ¤â½ñ¤¤¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¤Þ¤¿¡¢¥Ç¥Ð¥Ã¥°¤·¤ä¤¹¤¤¤è¤¦¤Ë SerializableReactiveProperty ¤òÀë¸À¤·¤ÆÍøÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢ReactiveProperty ¤Ç¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¡¡DOCounter ¤Ë¤è¤ë¥«¥ó¥Þ¶èÀÚ¤ê¤Ê¤·¤Î¥á¥½¥Ã¥É¤È¡¢¥«¥ó¥Þ¶èÀڤꤢ¤ê¤Î¥á¥½¥Ã¥É¤ÎξÊý¤òµºÜ¤·¤Æ¤¢¤ê¤Þ¤¹¡£
using DG.Tweening;
using R3;
using TMPro;
using UnityEngine;
public class PowerViewSample : MonoBehaviour {
[SerializeField] private TMP_Text txtPower;
[SerializeField] private float duration = 0.5f; // ¥¢¥Ë¥á¤¹¤ë»þ´Ö
public SerializableReactiveProperty<int> Power = new(0); // ¥¢¥Ë¥á¤µ¤»¤ë¿ôÃÍ
void Start() {
Setup();
}
/// <summary>
/// ½é´üÀßÄê
/// </summary>
public void Setup() {
// ÀïÎÏ¤Î¹ØÆÉ(DOCounter ÍѤË2²óʬ(Á°²óÃͤȿ·¤·¤¤ÃͤΥڥ¢¤ò)¥¥ã¥Ã¥·¥å¤·¤Æ¤«¤éή¤¹)
Power.Zip(Power.Skip(1), (prevValue, newValue) => (prevValue, newValue))
.Subscribe(pair => DisplayUpdatePowerByComma(pair.prevValue, pair.newValue)).AddTo(this);
// ÀïÎϤνé´üÃÍÀßÄê
Power.OnNext(0);
}
/// <summary>
/// ÀïÎÏɽ¼¨¤Î¹¹¿·(¥«¥ó¥Þ¶èÀÚ¤ê¤Ê¤·)
/// </summary>
/// <param name="prevValue"></param>
/// <param name="newValue"></param>
private void DisplayUpdatePower(int prevValue, int newValue) {
// ¿ô»ú¤Î¥¢¥Ë¥áɽ¼¨
txtPower.DOCounter(prevValue, newValue, duration)
.SetEase(Ease.Linear)
.SetLink(gameObject);
}
/// <summary>
/// ÀïÎÏɽ¼¨¤Î¹¹¿·(¥«¥ó¥Þ¶èÀڤꤢ¤ê)
/// </summary>
/// <param name="prevValue"></param>
/// <param name="newValue"></param>
private void DisplayUpdatePowerByComma(int prevValue, int newValue) {
// ¥«¥ó¥Þ¶èÀڤꤢ¤ê¤Ç¡¢¿ô»ú¤Î¥¢¥Ë¥áɽ¼¨
txtPower.DOCounter(prevValue, newValue, duration)
.SetEase(Ease.Linear)
.SetLink(gameObject)
.OnUpdate(() => {
int current = int.Parse(txtPower.text);
txtPower.text = current.ToString("N0");
});
}
}
¡¡¤Ê¤ª¡¢¤³¤Á¤é¤Îµ»ö¤Ç¤Ï R3(UniRx) ¤òÍøÍѤ·¤Æ¹ØÆÉ½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢Ä̾ï¤Î¥á¥½¥Ã¥É¼Â¹ÔÊýË¡¤Ç¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¿ô»ú¤ò¹¹¿·¤·¤¿¸å¤Î¥¿¥¤¥ß¥ó¥°¤Ç DisplayUpdatePowerByComma ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤É¤Á¤é¤â¡¢Subscribe ¤ÎÁ°¤ËÀßÄê¤Ç¤¤ë¥ª¥Ú¥ì¡¼¥¿(Observable¤¬È¯¹Ô¤¹¤ë¥Ç¡¼¥¿¤òÊÑ´¹¡¦À©¸æ¤¹¤ë¤¿¤á¤Î¥á¥½¥Ã¥É·²)¤Ç¤¹¡£
¡¡Skip(n) ¤Ï¡¢¡ÖºÇ½é¤Î n ²ó¤Î¥¤¥Ù¥ó¥È¤ò̵»ë¤·¤Æ¡¢¤½¤Î¸å¤«¤éή¤¹¡×µ¡Ç½¤ò»ý¤Á¤Þ¤¹¡£
¡ãÎã¡ä
Power
.Skip(1)
.Subscribe(value => {
Debug.Log($"ÊѲ½¤ò¸¡ÃÎ: {value}");
});
¡¡¤³¤Î¾ì¹ç¡¢²¼µ¤Î¤è¤¦¤Êư¤¤Ë¤Ê¤ê¤Þ¤¹¡£
| Power.Value | ¥¤¥Ù¥ó¥È | Skip¸å¤Îưºî |
| 0 ¢ª 10 | 1²óÌÜ | ̵»ë |
| 10 ¢ª 20 | 2²óÌÜ | Ä̤¹¡Ê20¤¬½ÐÎÏ¡Ë |
| 20 ¢ª 30 | 3²óÌÜ | Ä̤¹¡Ê30¤¬½ÐÎÏ¡Ë |
¡¡Skip(1)¤Î¾ì¹ç¤À¤È¡¢¤³¤Î¤è¤¦¤ËºÇ½é¤ÎÃ͡ʽé´üÃ͡ˤÏ̵»ë¤·¤Æ¡¢2¤ÄÌܤÎÃͤÎÊѲ½¸å¤«¤éÈ¿±þ¤·¤¿¤¤(½èÍý¤òή¤·¤¿¤¤)¤È¤¤Ë»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡Zip ¤Ï¡¢¡Ö2¤Ä¤Î¥¹¥È¥ê¡¼¥à¤Î¥¤¥Ù¥ó¥È¤ò¥Ú¥¢¤Ë¤·¤ÆÅϤ¹¡×µ¡Ç½¤Ç¤¹¡£
¡ãÎã¡ä
¡¡Power
.Zip(Power.Skip(1), (prev, next) => (prev, next))
.Subscribe(pair => {
Debug.Log($"Á°: {pair.prev}, ¸å: {pair.next}");
});
¡¡¤³¤Î¾ì¹ç¤Î½èÍý¤Îư¤¤Ç¤¹¡£
| Power.Value | Zip¤¬½Ð¤¹¥Ú¥¢ |
| 0 ¢ª 10 | (0, 10) |
| 10 ¢ª 20 | (10, 20) |
| 20 ¢ª 30 | (20, 30) |
¡ÖÁ°¤ÎÃ͡פȡֿ·¤·¤¤Ã͡פòƱ»þ¤Ë°·¤¤¤¿¤¤¤È¤¤Ë»È¤¤¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ë¤¹¤ë¤È¡¢¡ÖÁ°¤«¤é¤É¤ì¤À¤±Áý¤¨¤¿¤«¡×¤Ê¤É¤Îº¹Ê¬½èÍý¤¬´Êñ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¾åµ¤Î¤è¤¦¤Ë Zip ¤À¤±¤Ç¤Ïư¤«¤º¡¢Skip(1) ¤ÈÁȤ߹ç¤ï¤»¤ë¤³¤È¤Ç¡ÖÁ°¸å¤ÎÃ͡פò¥Ú¥¢¤Ë¤Ç¤¤Þ¤¹¡£
Power.Zip(Power.Skip(1), (prev, next) => (prev, next))
¡¡¤³¤ì¤ò3¤Ä¤Î¥Ñ¡¼¥È¤Ëʬ¤±¤Æ²òÀ⤷¤Þ¤¹¡£
¡¥ì¥·¡¼¥Ð¡Êthis¡Ë¡§Power¡Êº¸Â¦¤Î¥¹¥È¥ê¡¼¥à¡Ë ¢Âè1°ú¿ô¡ÊPower.Skip(1)¡Ë¡Ê±¦Â¦¤Î¥¹¥È¥ê¡¼¥à¡Ë £Âè2°ú¿ô¡Ê(prev, next) => (prev, next)¡Ë¡Ê·ë¹ç½èÍý¤ò¹Ô¤¦Æ¿Ì¾´Ø¿ô¡Ë
Power
¡¡¤³¤ì¤Ï¡ÖZip ¤Îº¸Â¦¤Ë¤Ê¤ë¥¹¥È¥ê¡¼¥à¡×¡ÊObservable¡Ë ¤Ç¤¹¡£
SerializableReactiveProperty<int> ¤Ï Power ¤ÎÃͤ¬ÊѤï¤ë¤¿¤Ó¤Ë¡Ö¥¤¥Ù¥ó¥È¡ÊÄÌÃΡˡפòή¤·¤Þ¤¹¡£
¤³¤Î Power ¤Î¥¤¥Ù¥ó¥È¤¬Î®¤ì¤ë¤¿¤Ó¤Ë¡¢¡Ö±¦Â¦¤Î¥¹¥È¥ê¡¼¥à¡×¤È1¤Ä¤º¤Ä¥Ú¥¢¤Ë¤µ¤ì¤Þ¤¹¡£
¡¡Î㤨¤Ð¼¡¤Î¤è¤¦¤ÊÊѲ½¤ò¹Í¤¨¤Þ¤·¤ç¤¦¡£
Power.Value = 10; Power.Value = 20; Power.Value = 30;
¡¡¤³¤Î¤È¤ÆâÉôŪ¤Ë¤Ï¡¢¤³¤¦¤¤¤¦Î®¤ì¤¬½Ð¤Æ¤¤¤Þ¤¹¡£
Power: [10] ¢ª [20] ¢ª [30]
¡¡¤Ä¤Þ¤ê Zip ¤Îº¸Â¦¤Î¥¹¥È¥ê¡¼¥à¤Ï¡¢¡Ö¸½ºßÃͤÎÊѲ½¤ò¤½¤Î¤Þ¤Þή¤¹¤â¤Î¡×¤Ç¤¹¡£
Power.Skip(1)
¡¡Skip(1) ¤Ï¡¢¡ÖºÇ½é¤Î1¤Ä¤ò¥¹¥¥Ã¥×¤·¤Æ¡¢2²óÌܰʹߤ«¤éή¤¹¡×¥¹¥È¥ê¡¼¥à¤òºî¤ê¤Þ¤¹¡£
¡¡Àè¤Û¤É¤Î¤è¤¦¤Ë¡¢Power¤ÎÃͤ¬ [10] ¢ª [20] ¢ª [30] ¤Èή¤ì¤ë½èÍý¤¬¤¢¤ë¤È¤·¤¿¤é¡¢
Power.Skip(1): [20] ¢ª [30] ¡Ê¢¨ºÇ½é¤Î 10 ¤Ï¥¹¥¥Ã¥×¤µ¤ì¤ë¡Ë
¡¡¤³¤Î¤è¤¦¤ÊÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤³¤³¤¬°ìÈÖÂç»ö¤ÊÉôʬ¤Ç¤¹¡£
¤³¤ì¤Ï¡Ö·ë¹ç½èÍý¤ò¹Ô¤¦Æ¿Ì¾´Ø¿ô (resultSelector)¡×¤Ç¤¹¡£
º¸¡Ê¥ì¥·¡¼¥Ð¡Ë¤ÎÃͤȱ¦¡Ê°ú¿ô¡Ë¤ÎÃͤò¼õ¤±¼è¤ê¡¢¤½¤ì¤é¤ò¿·¤·¤¤½ÐÎϤËÊÑ´¹¤·¤Þ¤¹¡£
¡¡¤³¤Î¥é¥à¥À¤Ï¼¡¤Î¤è¤¦¤Ê¥·¥°¥Í¥Á¥ã¤Ç¤¹¡£
Func<int, int, (int prev, int next)>
¡¡¤³¤Îƿ̾´Ø¿ô¤Ï¡ÖPower¤ÎÃ͡ʺ¸¥¹¥È¥ê¡¼¥à¡Ë¤ÈÂè1°ú¿ô¡Ê±¦¥¹¥È¥ê¡¼¥à¡Ë¡×¤«¤éÍè¤ëÃͤò¼õ¤±¼è¤Ã¤Æ¡¢¤Ò¤È¤Ä¤Î½ÐÎϡʿ·¤·¤¤¥Ç¡¼¥¿¡Ë¤òºî¤ê¤Þ¤¹¡£
| º¸ (Power) | ±¦ (Power.Skip(1)) | ½ÐÎÏ (prev, next) |
| 10 | 20 | (10, 20) |
| 20 | 30 | (20, 30) |
¡¡¤Ä¤Þ¤ê¡¢
º¸¡Êprev¡Ë ¡Ä Á°¤ÎÃÍ ±¦¡Ênext¡Ë ¡Ä ¿·¤·¤¤ÃÍ (prev, next) ¡Ä ¤½¤ì¤ò¤Þ¤È¤á¤¿¥¿¥×¥ë¡ÊÃͤΥڥ¢¡Ë
¡¡¤³¤Î¤è¤¦¤Ê½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤Ê¤¼¡Öthis Power¡×¤¬Á°²óÃͰ·¤¤¤Ë¤Ê¤ë¤Î¤«¡©¡¡¤Ç¤¹¤¬¡¢Zip ¤Ï¡Öº¸¡¦±¦¤ò1ÂÐ1¤ÇƱ´üŪ¤Ë½Ð¤¹¡×µ¡Ç½¤Ê¤Î¤Ç¡¢
º¸¤Î¥¹¥È¥ê¡¼¥à¡§¸µ¤Î Power¡Ê¡á¸Å¤¤ÃÍ¡Ë ±¦¤Î¥¹¥È¥ê¡¼¥à¡§Skip(1) ¤Ç1¤Ä¤º¤é¤·¤¿ Power¡Ê¡á¿·¤·¤¤ÃÍ¡Ë
¡¡¤È¤¤¤¦Âбþ´Ø·¸¤¬¼«Á³¤ËÀ¸¤Þ¤ì¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢Zip ¤Î ¥ì¥·¡¼¥Ð¡Êthis Power¡Ë ¤¬ ¡ÈÁ°²óÃÍ¡É °·¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£
Power: [10] ¢ª [20] ¢ª [30] Power.Skip(1): [20] ¢ª [30] -------------------------------- Zip·ë²Ì: (10,20) (20,30)
¡¡ºÇ½ªÅª¤Ê½èÍý¤ò¤Þ¤È¤á¤Æ¤ß¤Þ¤¹¡£
¡¡Zip ¤Ï¡¢º¸¤È±¦¤¬Î¾Êý¤È¤âÃͤò½Ð¤·¤¿¤È¤¤Ë1²ó¤À¤±¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¡Ö2¤Ä¤Î¥¹¥È¥ê¡¼¥à¤ò1ÂÐ1¤ÇƱ´ü¤µ¤»¤ë¡×¤Î¤¬ Zip ¤ÎËܼÁ¤Ç¤¹¡£
Power
// 1. Power ¤Îή¤ì¤òº¸Â¦¤Ë
.Zip(
// 2. 1¤Ä¤º¤é¤·¤¿Î®¤ì¤ò±¦Â¦¤Ë
Power.Skip(1),
// 3. ξÊý¤ò¼õ¤±¼è¤ê¡¢(prev, next) ¤È¤¤¤¦¥Ú¥¢¤òÀ¸À®
(prev, next) => (prev, next)
)
.Subscribe(pair => {
Debug.Log($"Á°:{pair.prev}, ¸å:{pair.next}");
});
¡¡¤Ê¤¼¤³¤Î½ñ¤Êý¤¬ÊØÍø¤Ê¤Î¤«¤È¤¤¤¦¤È¡¢Zip + Skip(1) ¤Ë¤è¤Ã¤Æ¡¢¡ÖÁ°¤ÎÃͤȿ·¤·¤¤ÃͤΥڥ¢¡×¤¬´Êñ¤Ë¼è¤ì¤ë¤¿¤á¤Ç¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¡Ö¤É¤Î¤¯¤é¤¤Áý¤¨¤¿¡©¡×¡Ö¸º¤Ã¤¿¡©¡×¡Ö¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Î³«»ÏÃͤȽªÎ»ÃͤòÃΤꤿ¤¤¡×¤È¤¤¤Ã¤¿½èÍý¤ò¼Â¸½¤Ç¤¤Þ¤¹¡£
Power: [0] ¢ª [10] ¢ª [20] ¢ª [30] Skip(1): [10] ¢ª [20] ¢ª [30] Zip·ë²Ì: (0,10) (10,20) (20,30)
¡¡¤³¤Î¤è¤¦¤Ë¡ÖÁ°Ãͤȿ·Ãͤò¤Þ¤È¤á¤Æ¼èÆÀ¤¹¤ë¡×¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡DOCounter ¥á¥½¥Ã¥É¤Î°ú¿ô¤Ë¤Ï¡¢Á°²ó¤ÎÃͤȿ·¤·¤¤ÃͤÎ2¤Ä¤ÎÃͤλØÄ꤬ɬÍפˤʤê¤Þ¤¹¤¬¡¢
¤³¤Î Skip ¥ª¥Ú¥ì¡¼¥¿¤È Zip ¥ª¥Ú¥ì¡¼¥¿¤òÁȤ߹ç¤ï¤»¤ë¤³¤È¤Ë¤è¤ê¡¢Subscribe ¤·¤¿ºÝ¤ËξÊý¤ÎÃͤò¼èÆÀ¤·¤Æ DOCounter ¥á¥½¥Ã¥É¤Î°ú¿ô¤È¤·¤ÆÍøÍѤ·¤Æ¤¤¤ë½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¤Þ¤È¤áɽ¤Ç¤¹¡£
| Í×ÁÇ | ÆâÍÆ | °ÕÌ£ |
| ¥ì¥·¡¼¥Ð | Power | ÊѲ½Á°¡Êº¸¥¹¥È¥ê¡¼¥à¡Ë |
| Âè1°ú¿ô | Power.Skip(1) | ÊѲ½¸å¡Ê±¦¥¹¥È¥ê¡¼¥à¡Ë |
| Âè2°ú¿ô | (prev, next) => (prev, next) | ¥Ú¥¢²½¤¹¤ë·ë¹çÍÑ¤ÎÆ¿Ì¾´Ø¿ô¡Ê½ÐÎϥǡ¼¥¿ÄêµÁ¡Ë |
| ·ë²Ì | (prev, next) | ¡ÖÁ°¤ÎÃ͡פȡֿ·¤·¤¤Ã͡פΥ¿¥×¥ë |
¡¡OnUpdate ¥á¥½¥Ã¥É¤ÎÂå¤ï¤ê¤Ë OnComplete ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
txtPower.DOCounter(prevValue, newValue, duration)
.SetEase(Ease.Linear)
.SetLink(gameObject)
.OnComplete(() => {
txtPower.text = newValue.ToString("N0");
});
¡¡¤³¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢¿ô»ú¤Î¥¢¥Ë¥á¤Ï¥«¥ó¥Þ¶èÀÚ¤ê¤Ê¤·¡¢¿ô»ú¤Î¥¢¥Ë¥á½ªÎ»¸å¤ÎºÇ½ªÃͤˤΤߥ«¥ó¥Þ¶èÀÚ¤ê¤ò¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡DOTween.TO ¥á¥½¥Ã¥É¤ÏÈÆÍÑŪ¤ËÍøÍѤǤ¤Þ¤¹¡£¤½¤Î¤¿¤áº£²ó¤Î¤è¤¦¤Ê¥«¥ó¥Þ¶èÀÚ¤ê¿ô»ú¤Î¥¢¥Ë¥á¤Ë¤âÍøÍѲÄǽ¤Ç¤¹¡£
int currentValue = prevValue;
DOTween.To(() => currentValue, x => {
currentValue = x;
txtPower.text = currentValue.ToString("N0"); // ¢« ¥«¥ó¥Þ¶èÀÚ¤ê
}, newValue, duration)
.SetEase(Ease.Linear)
.SetLink(gameObject);
¡¡¤³¤Á¤é¤Î¼ÂÁõÊýË¡¤Ç¤â¡¢DisplayUpdatePowerByComma ¥á¥½¥Ã¥ÉÆâ¤ÇÍøÍѤ·¤Æ¤¤¤ë¡¢DOCounter ¥á¥½¥Ã¥É ¡Ü OnUpdate ¥á¥½¥Ã¥É¤ÈƱ¤¸½èÍý¤¬ºîÀ®¤Ç¤¤Þ¤¹¡£
¡¡DOTween ´ØÏ¢¤Î¥µ¥¤¥È¤Ç¤¹¡£
Demigiant ¸ø¼°¥É¥¥å¥á¥ó¥È
DOTween - Documentation - DEMIGIANT
https://dotween.demigiant.com/documentation.php
¥¢¥Þ¥¬¥ß¥Ê¥Ö¥í¥° ÍÍ
DOTween¤Î»È¤¤Êý Tween¥¢¥Ë¥á¡¼¥·¥ç¥óÆþÌç¡ÚUnity¡Û
https://amagamina.jp/blog/how-to-dotween/
Qiita @BEATnonanka ÍÍ
DOTween´°Á´¤ËÍý²ò¤¹¤ë¤½¤Î6 ¥¤¥Ù¥ó¥ÈÊÔ
https://qiita.com/BEATnonanka/items/a8c63df029f45e...
¡¡°Ê¾å¤Ë¤Ê¤ê¤Þ¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°




¥³¥á¥ó¥È¤ò¤«¤¯