当前位置:网站首页>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
边栏推荐
- 基于Redis的分布式ID生成器
- Minio文件下载问题——inputstream:closed
- Unity3D,阿里云服务器,平台配置
- Meanings and differences of PV, UV, IP, VV, CV
- Theoretical derivation of support vector machine
- [offer78] merge multiple ordered linked lists
- [Clickhouse kernel principle graphic explanation] about the collaborative work of partitioning, indexing, marking and compressed data
- 编译原理:源程序的预处理及词法分析程序的设计与实现(含代码)
- Easy to use shortcut keys in idea
- Redis based distributed locks and ultra detailed improvement ideas
猜你喜欢
(一)R语言入门指南——数据分析的第一步
There is no red exclamation mark after SVN update
Redis 缓存更新策略,缓存穿透、雪崩、击穿问题
Problèmes avec MySQL time, fuseau horaire, remplissage automatique 0
[Clickhouse kernel principle graphic explanation] about the collaborative work of partitioning, indexing, marking and compressed data
ES6 grammar summary -- Part 2 (advanced part es6~es11)
[Nodejs] 20. Koa2 onion ring model ----- code demonstration
Redis based distributed ID generator
Theoretical derivation of support vector machine
Basic operations of databases and tables ----- classification of data
随机推荐
Detailed explanation of truncate usage
idea问题记录
The master of double non planning left the real estate company and became a programmer with an annual salary of 25W. There are too many life choices at the age of 25
Learning notes of JS variable scope and function
By v$rman_ backup_ job_ Oracle "bug" caused by details
(一)R语言入门指南——数据分析的第一步
(3) Introduction to bioinformatics of R language - function, data Frame, simple DNA reading and analysis
(4) Data visualization of R language -- matrix chart, histogram, pie chart, scatter chart, linear regression and strip chart
Unity3D制作注册登录界面,并实现场景跳转
2022.2.12 resumption
Esp8266 connect onenet (old mqtt mode)
Latex learning
关于Gateway中使用@Controller的问题
js 变量作用域和函数的学习笔记
FairyGUI复选框与进度条的组合使用
Basic operations of databases and tables ----- classification of data
Esp8266 connects to onenet cloud platform (mqtt) through Arduino IDE
记一次云服务器被密码爆破的经历——关小黑屋、改密码、改端口
JUC forkjoin and completable future
Talking about the startup of Oracle Database