当前位置:网站首页>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、運行效果
边栏推荐
- Particle system for introduction to unity3d Foundation (attribute introduction + case production of flame particle system)
- 1081 rational sum (20 points) points add up to total points
- InnoDB dirty page refresh mechanism checkpoint in MySQL
- Common DOS commands
- (core focus of software engineering review) Chapter V detailed design exercises
- 关于Gateway中使用@Controller的问题
- What is the maximum length of MySQL varchar field
- Unity3D制作注册登录界面,并实现场景跳转
- [offer78] merge multiple ordered linked lists
- (一)R语言入门指南——数据分析的第一步
猜你喜欢
ES6 grammar summary -- Part I (basic)
SVN更新后不出现红色感叹号
(四)R语言的数据可视化——矩阵图、柱状图、饼图、散点图与线性回归、带状图
Symbolic representation of functions in deep learning papers
Pat 1097 duplication on a linked list (25 points)
(3) Introduction to bioinformatics of R language - function, data Frame, simple DNA reading and analysis
Unity3d makes the registration login interface and realizes the scene jump
MySQL time, time zone, auto fill 0
ES6 grammar summary -- Part 2 (advanced part es6~es11)
[Red Treasure Book Notes simplified version] Chapter 12 BOM
随机推荐
Minio file download problem - inputstream:closed
Types de variables JS et transformations de type communes
Programming homework: educational administration management system (C language)
Who says that PT online schema change does not lock the table, or deadlock
基于Redis的分布式锁 以及 超详细的改进思路
[Offer29] 排序的循环链表
Office提示您的许可证不是正版弹框解决
ES6 grammar summary -- Part 2 (advanced part es6~es11)
Pat 1097 duplication on a linked list (25 points)
关于Gateway中使用@Controller的问题
Unity3D摄像机,键盘控制前后左右上下移动,鼠标控制旋转、放缩
基于Redis的分布式ID生成器
Gateway fails to route according to the service name, and reports an error service unavailable, status=503
(课设第一套)1-5 317号子任务 (100 分)(Dijkstra:重边自环)
There is no red exclamation mark after SVN update
ES6 grammar summary -- Part I (basic)
[leetcode19] delete the penultimate node in the linked list
Game 280 weekly
CUDA C programming authoritative guide Grossman Chapter 4 global memory
JUC forkjoin and completable future