当前位置:网站首页>Fairygui gain buff value change display

Fairygui gain buff value change display

2022-07-06 12:42:00 SQ Liu

FairyGUI gain BUFF Display of value changes

Click here to download the material

One 、FGUI The operation

1、 Import resources

 Insert picture description here

2、 Create two new bitmap fonts and an animation

(1)addValue Bitmap fonts

 Insert picture description here
 Insert picture description here
 Insert picture description here

(2)attackValue Bitmap fonts

 Insert picture description here
 Insert picture description here
 Insert picture description here

(3)Fire Animation

 Insert picture description here
 Insert picture description here
 Insert picture description here

3、 Create a new font and background

 Insert picture description here
Then you can add a sequence frame animation on the right , When combat effectiveness increases , Let the flames flash . As shown in the figure below :
 Insert picture description here

4、 Add action

(1) Before adding dynamic effects , Add group first , This will be more convenient for subsequent processing .
Future generations , Hold down Ctrl+G, Play group , And select the advanced group
 Insert picture description here
 Insert picture description here
(2) Add action
 Insert picture description here
 Insert picture description here
 Insert picture description here
You can also add some small details , Even the flame also needs to add special effects . We hope that when the player's value changes , That is, when the combat effectiveness increases , Let the flame show , It means stronger .

(1) First, reset the axis of the flame , Then change its opacity to 0
 Insert picture description here
(2) Enter dynamic editing again , Try to do some special effects by yourself , No specific requirements
 Insert picture description here
(3) Make some small changes
 Insert picture description here

5、 Make buttons

 Increase the value of the value by clicking the button .

(1) Import material
 Insert picture description here
 Insert picture description here
(2) New component , Used to control the button display , That is, the main scene ( Main panel )
 Insert picture description here
 Insert picture description here
(3) The new button
 Insert picture description here
 Insert picture description here
(4) Drag the button to Component1 In the component
 Insert picture description here

6、 Packaging releases

 Insert picture description here
 Insert picture description here
 Insert picture description here

Two 、Unity The operation

1、 Display button

 Insert picture description here
 Insert picture description here

2、 Write a script

 Insert picture description here
Be careful : Need to introduce DOTween.dll library , The first thing you need to do is Unity Search in the resource store of “dotween”, Import after downloading , Only in C# The script introduces using DG.Tweening; The namespace of .

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FairyGUI;
using DG.Tweening;

public class ZengYiBUFF : MonoBehaviour
{
    
    private GComponent mainUI;  // Lord UI
    private GComponent addValueCom;  // Add value components 
    private float startValue;  // End value 
    private float endValue; // Starting value 
    
    void Start()
    {
    
        mainUI = GetComponent<UIPanel>().ui;  // Get master UI
        addValueCom = UIPackage.CreateObject("Package1", "AddValue").asCom;
        //.asCom Turn it into GComponent type 
        addValueCom.GetTransition("t0").SetHook("AddValue", AddAttackValue);  // Set up FGUI The event of the keyframe corresponding to the tag added in 
        mainUI.GetChild("n0").onClick.Add(() => {
     PlayUI(addValueCom); });  // Register the monitoring event for the button 
        // Set its tag status 
    }

    // Update is called once per frame
    void Update()
    {
    

    }
    
    private void PlayUI(GComponent targetCom)
    {
    
        mainUI.GetChild("n0").visible = false;
        GRoot.inst.AddChild(targetCom);
        Transition t = targetCom.GetTransition("t0");// Set dynamic effect correlation 
        startValue = 10000;
        int add = Random.Range(1000, 3000);
        endValue = startValue + add;
        addValueCom.GetChild("n2").text = startValue.ToString();
        addValueCom.GetChild("n4").text = add.ToString();
        t.Play(() =>
        {
    
            mainUI.GetChild("n0").visible = true;
            GRoot.inst.RemoveChild(targetCom);
        }
        );
    }
    
    /// <summary>
    /// This method is to reduce the current combat effectiveness from 10000 Add to 12000,
    /// Need to introduce using DG.Tweening Namespace (Unity Download from the resource store )
    /// </summary>
    private void AddAttackValue()
    {
    
        DOTween.To(() => startValue, x => {
     addValueCom.GetChild("n2").text = Mathf.Floor(x).ToString(); }, endValue, 0.3f).SetEase(Ease.Linear).SetUpdate(true);
    }
}

3、 Running effect

 Insert picture description here

原网站

版权声明
本文为[SQ Liu]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060913597626.html