当前位置:网站首页>FairyGUI增益BUFF數值改變的顯示
FairyGUI增益BUFF數值改變的顯示
2022-07-06 12:42:00 【SQ劉】
FairyGUI增益BUFF數值改變的顯示
一、FGUI中的操作
1、導入資源

2、新建兩個比特圖字體和一個動畫
(1)addValue比特圖字體



(2)attackValue比特圖字體



(3)Fire動畫



3、新建一個字體和背景

緊接著可以在右邊添加一個序列幀動畫,當戰鬥力增加的時候,讓火焰閃現。如下圖所示:
4、添加動效
(1)添加動效之前,先添加組,這樣對後續的一些處理會比較方便。
全選,按住Ctrl+G,打組,並選擇高級組

(2)添加動效


還可添加一些小細節,就是火焰也需要添加特效。我們希望當玩家的數值改變的時候,也就是戰鬥力增大的時候,讓火焰顯現出來,錶示變强了。
(1)首先對火焰的軸心重新設置一下,再將它的不透明度改為0
(2)再次進入動效編輯,自己隨便嘗試做一些特效,無具體要求
(3)做一些小小的改動
5、制作按鈕
通過點擊按鈕來增加數值的值。
(1)導入素材

(2)新建組件,用來控制按鈕顯示,也就是主場景(主面板)

(3)新建按鈕

(4)將按鈕拖入到Component1組件中
6、打包發布



二、Unity中的操作
1、顯示按鈕


2、編寫脚本

注意:需要引入DOTween.dll庫,首先需要在Unity的資源商店裏搜索“dotween”,進行下載後導入,方可在C#脚本中引入using DG.Tweening;的命名空間。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FairyGUI;
using DG.Tweening;
public class ZengYiBUFF : MonoBehaviour
{
private GComponent mainUI; //主UI
private GComponent addValueCom; //增加值的組件
private float startValue; //結束值
private float endValue; //開始值
void Start()
{
mainUI = GetComponent<UIPanel>().ui; //獲取主UI
addValueCom = UIPackage.CreateObject("Package1", "AddValue").asCom;
//.asCom把它轉成GComponent類型
addValueCom.GetTransition("t0").SetHook("AddValue", AddAttackValue); //設置FGUI中所添加標簽對應關鍵幀的事件
mainUI.GetChild("n0").onClick.Add(() => {
PlayUI(addValueCom); }); //給按鈕注册一下監聽事件
//設置一下它的標簽狀態
}
// 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");//設置動效關聯
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>
///該方法是將當前戰鬥力從10000增加到12000,
///需要引入using DG.Tweening命名空間(Unity資源商店中下載)
/// </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、運行效果

边栏推荐
- JS變量類型以及常用類型轉換
- SVN更新后不出现红色感叹号
- 基于Redis的分布式ID生成器
- Vulnhub target: hacknos_ PLAYER V1.1
- Basic operations of databases and tables ----- modifying data tables
- JS数组常用方法的分类、理解和运用
- Lock wait timeout exceeded try restarting transaction
- Minio file download problem - inputstream:closed
- (5) Introduction to R language bioinformatics -- ORF and sequence analysis
- Working principle of genius telephone watch Z3
猜你喜欢

Database course design: college educational administration management system (including code)

FairyGUI简单背包的制作

ESP8266连接onenet(旧版MQTT方式)

FairyGUI人物状态弹窗
![[golang] leetcode intermediate - fill in the next right node pointer of each node & the k-smallest element in the binary search tree](/img/6e/0802a92511ac50a652afa1678ad28c.jpg)
[golang] leetcode intermediate - fill in the next right node pointer of each node & the k-smallest element in the binary search tree

FairyGUI复选框与进度条的组合使用

(一)R语言入门指南——数据分析的第一步

ORA-02030: can only select from fixed tables/views

程序设计大作业:教务管理系统(C语言)

History object
随机推荐
2022.2.12 resumption
[Clickhouse kernel principle graphic explanation] about the collaborative work of partitioning, indexing, marking and compressed data
FairyGUI复选框与进度条的组合使用
单片机蓝牙无线烧录
JUC forkjoin and completable future
燕山大学校园网自动登录问题解决方案
Force buckle 1189 Maximum number of "balloons"
@Autowired 和 @Resource 的区别
Idea problem record
Detailed explanation of truncate usage
ESP8266连接onenet(旧版MQTT方式)
(三)R语言的生物信息学入门——Function, data.frame, 简单DNA读取与分析
基于Redis的分布式ID生成器
Servlet
(1) Introduction Guide to R language - the first step of data analysis
JS Title: input array, exchange the largest with the first element, exchange the smallest with the last element, and output array.
Latex learning
Redis based distributed locks and ultra detailed improvement ideas
MySQL replacement field part content
Minio文件下载问题——inputstream:closed