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

边栏推荐
- Custom view puzzle getcolor r.color The color obtained by colorprimary is incorrect
- [offer29] sorted circular linked list
- Redis based distributed locks and ultra detailed improvement ideas
- Problèmes avec MySQL time, fuseau horaire, remplissage automatique 0
- JS Title: input array, exchange the largest with the first element, exchange the smallest with the last element, and output array.
- Mysqldump error1066 error solution
- Types de variables JS et transformations de type communes
- 数据库课程设计:高校教务管理系统(含代码)
- [offer78]合并多个有序链表
- dosbox第一次使用
猜你喜欢

(三)R语言的生物信息学入门——Function, data.frame, 简单DNA读取与分析

idea问题记录

Classification, understanding and application of common methods of JS array

Force buckle 1189 Maximum number of "balloons"

Générateur d'identification distribué basé sur redis

js题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

Latex learning

Unity scene jump and exit

dosbox第一次使用

Database course design: college educational administration management system (including code)
随机推荐
Remember an experience of ECS being blown up by passwords - closing a small black house, changing passwords, and changing ports
JS variable types and common type conversions
FairyGUI简单背包的制作
(课设第一套)1-4 消息传递接口 (100 分)(模拟:线程)
Vulnhub target: hacknos_ PLAYER V1.1
[offer29] sorted circular linked list
Fabrication of fairygui simple Backpack
Basic operations of databases and tables ----- view data tables
JS数组常用方法的分类、理解和运用
What is the maximum length of MySQL varchar field
Redis cache update strategy, cache penetration, avalanche, breakdown problems
[offer78] merge multiple ordered linked lists
[leetcode622] design circular queue
About using @controller in gateway
ES6 grammar summary -- Part I (basic)
ES6 grammar summary -- Part 2 (advanced part es6~es11)
Meanings and differences of PV, UV, IP, VV, CV
Who says that PT online schema change does not lock the table, or deadlock
Idea problem record
@The difference between Autowired and @resource