coins effect on button

¹öÆ°¿¡¼­ ¹öÆ°À¸·Î coins ÀÌÆåÆ®¸¦ »Ñ·ÁÁÖÀÚ.
½ÇÇà ½ÃÅ°¸é ¹öÆ°¿¡¼­ ¹öÆ°À¸·Î ¿©·¯°³ÀÇ ½ºÇÁ¶óÀÌÆ® À̹ÌÁö°¡ ¹öÆ°¿¡¼­ ¹öÆ°À¸·Î À̵¿µÈ´Ù.
itween°ú DOTweenÀ» ÀÌ¿ëÇØ ½ºÇÁ¶óÀÌÆ®¸¦ »Ñ·Áº¸ÀÚ.



¸¸µå´Â ¼ø¼­´Â ´ÙÀ½°ú °°´Ù.

1.  ĵ¹ö½º "Render Mode"¸¦ "Screen Space - Camera"·Î ¹Ù²Û´Ù.

·»´õ¸ðµå°¡ "Screen Space - Overlay"ÀÎ °æ¿ì ½ºÇÁ¶óÀÌÆ®°¡ ¹öÆ° ¾Æ·¡¿¡ ±×·ÁÁø´Ù.
¹öÆ° À§¿¡ ±×¸®±â À§ÇØ ·»´õ ¸ðµå¸¦ "Screen Space - Camera"·Î ¹Ù²Û´Ù.



2. ugui¸¦ ´ÙÀ½°ú °°ÀÌ ¸¸µç´Ù.

ui¸¦ ´ÙÀ½°ú °°ÀÌ ¹èÄ¡ ÇÑ´Ù.



3. ½ºÇÁ¶óÀÌÆ® À̹ÌÁö¸¦ ¼³Á¤ÇÑ´Ù.

À̹ÌÁö "Texture Type"À» "Sprite (2D and UI)"·Î ¼³Á¤ÇÑ´Ù.



4. ½ºÇÁ¶óÀÌÆ® À̹ÌÁö¸¦ ÇÁ¸®ÆÕÀ¸·Î ¸¸µç´Ù.

½ºÇÁ¶óÀÌÆ® À̹ÌÁö¸¦ ¹öÆ°¿¡¼­ ¹öÆ°À¸·Î ¿©·¯°³ »Ñ·ÁÁÖ±â À§ÇØ ÇÁ¸®ÆÕÀ» ¸¸µç´Ù.
ugui º¸´Ù À§¿¡ ±×·ÁÁÖ±â À§ÇØ "Order in Layer"¸¦ 1·Î ¼³Á¤ÇÑ´Ù.



5. »ö±òÀÖ´Â ¹öÆ° ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù.
iTweenÀ¸·Î ½ÇÇàµÇ´Â ½ºÅ©¸³Æ®ÀÌ´Ù. »ö±òÀÖ´Â ¹öÆ°ÀÇ ÄÄÆ÷³ÍÆ®·Î Ãß°¡ ÇÑ´Ù.

UIFxFromTo.cs ÆÄÀÏ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class UIFxFromTo : MonoBehaviour
{
    public int amount;
    public GameObject uifxObject;
    public GameObject original;
    public GameObject destination;
    public iTween.EaseType easeType;
    public float rate;
    public float lifeTime;
    public Vector3 offset;

    public void RunFromTo()
    {
        StartCoroutine("FromTo");
    }

    IEnumerator FromTo()
    {
        for (int i = 0; i < amount; i++)
        {
            var fx = Instantiate(uifxObject, original.transform.position, Quaternion.identity) as GameObject;
            fx.transform.SetParent(original.transform);
            iTween.MoveTo(fx, iTween.Hash("position", destination.transform.position + offset, "easetype", easeType, "ignoretimescale", true, "time", lifeTime));
            Destroy(fx, lifeTime + 1);
            yield return new WaitForSeconds(rate);
        }
    }
}



6. target ¹öÆ° ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù.
DOTweenÀ¸·Î ½ÇÇàµÇ´Â ½ºÅ©¸³Æ®ÀÌ´Ù. »ö±òÀÖ´Â ¹öÆ°ÀÇ ÄÄÆ÷³ÍÆ®·Î Ãß°¡ ÇÑ´Ù.

UiVFXFromTo.cs ÆÄÀÏ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;


public class UiVFXFromTo : MonoBehaviour
{
    public int amount;
    public GameObject uifxObject;
    public GameObject original;
    public GameObject destination;
    public Ease easeType;
    public float rate;
    public float lifeTime;
    public Vector3 offset;

    public void RunFromTo()
    {
        StartCoroutine("FromTo");
    }

    IEnumerator FromTo()
    {
        for (int i = 0; i < amount; i++)
        {
            var fx = Instantiate(uifxObject, original.transform.position, Quaternion.identity) as GameObject;
            fx.transform.SetParent(original.transform);

            fx.transform.DOMove(destination.transform.position + offset, lifeTime, false)
                .SetEase(easeType);

            //iTween.MoveTo(fx, iTween.Hash("position", destination.transform.position + offset, "easetype", easeType, "ignoretimescale", true, "time", lifeTime));
            Destroy(fx, lifeTime + 1);
            yield return new WaitForSeconds(rate);
        }
    }
}