当前位置:网站首页>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、運行效果
边栏推荐
- (the first set of course design) 1-4 message passing interface (100 points) (simulation: thread)
- idea中好用的快捷键
- Gateway 根据服务名路由失败,报错 Service Unavailable, status=503
- JUC forkjoin and completable future
- [899]有序队列
- Unity3D制作注册登录界面,并实现场景跳转
- PT OSC deadlock analysis
- Office prompts that your license is not genuine pop-up box solution
- 如何给Arduino项目添加音乐播放功能
- (3) Introduction to bioinformatics of R language - function, data Frame, simple DNA reading and analysis
猜你喜欢
Vscode basic configuration
MySQL时间、时区、自动填充0的问题
SVN更新后不出现红色感叹号
JS variable types and common type conversions
编译原理:源程序的预处理及词法分析程序的设计与实现(含代码)
数据库课程设计:高校教务管理系统(含代码)
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
單片機藍牙無線燒錄
Unity3D,阿里云服务器,平台配置
随机推荐
Database course design: college educational administration management system (including code)
InnoDB dirty page refresh mechanism checkpoint in MySQL
ES6 grammar summary -- Part 2 (advanced part es6~es11)
Basic operations of databases and tables ----- view data tables
JS variable types and common type conversions
(the first set of course design) sub task 1-5 317 (100 points) (dijkstra: heavy edge self loop)
level16
[offer9] implement queues with two stacks
MySQL时间、时区、自动填充0的问题
JUC forkjoin and completable future
Basic operations of databases and tables ----- classification of data
C programming exercise
idea问题记录
Pytorch: tensor operation (I) contiguous
[899]有序队列
Common DOS commands
JS regular expression basic knowledge learning
How to add music playback function to Arduino project
Introduction to the daily practice column of the Blue Bridge Cup
基于Redis的分布式锁 以及 超详细的改进思路