当前位置:网站首页>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

2、 Create two new bitmap fonts and an animation
(1)addValue Bitmap fonts



(2)attackValue Bitmap fonts



(3)Fire Animation



3、 Create a new font and background

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 :
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 

(2) Add action 


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
(2) Enter dynamic editing again , Try to do some special effects by yourself , No specific requirements 
(3) Make some small changes 
5、 Make buttons
Increase the value of the value by clicking the button .
(1) Import material 

(2) New component , Used to control the button display , That is, the main scene ( Main panel )

(3) The new button 

(4) Drag the button to Component1 In the component 
6、 Packaging releases



Two 、Unity The operation
1、 Display button


2、 Write a script

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

边栏推荐
- What is the maximum length of MySQL varchar field
- Introduction to the daily practice column of the Blue Bridge Cup
- dosbox第一次使用
- JS variable types and common type conversions
- [leetcode622] design circular queue
- There is no red exclamation mark after SVN update
- 2021.11.10汇编考试
- @Autowired 和 @Resource 的区别
- 记一次云服务器被密码爆破的经历——关小黑屋、改密码、改端口
- Knowledge summary of request
猜你喜欢
随机推荐
燕山大学校园网自动登录问题解决方案
ESP8266连接onenet(旧版MQTT方式)
In 2020, the average salary of IT industry exceeded 170000, ranking first
Gateway fails to route according to the service name, and reports an error service unavailable, status=503
(课设第一套)1-4 消息传递接口 (100 分)(模拟:线程)
2021.11.10汇编考试
MySQL performance tuning - dirty page refresh
Pytorch: tensor operation (I) contiguous
Unity3D制作注册登录界面,并实现场景跳转
FairyGUI复选框与进度条的组合使用
MySQL takes up too much memory solution
MySQL time, time zone, auto fill 0
level16
Design and implementation of general interface open platform - (39) simple and crude implementation of API services
JS数组常用方法的分类、理解和运用
js 变量作用域和函数的学习笔记
Basic operations of databases and tables ----- creating data tables
ES6 grammar summary -- Part 2 (advanced part es6~es11)
[offer9]用两个栈实现队列
The dolphin scheduler remotely executes shell scripts through the expect command









