当前位置:网站首页>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、運行效果
边栏推荐
- Special palindromes of daily practice of Blue Bridge Cup
- Postman 中级使用教程【环境变量、测试脚本、断言、接口文档等】
- Unity3D,阿里云服务器,平台配置
- 2021.11.10汇编考试
- Detailed explanation of truncate usage
- Unity3D基础入门之粒子系统(属性介绍+火焰粒子系统案例制作)
- [Offer29] 排序的循环链表
- Who says that PT online schema change does not lock the table, or deadlock
- 基于Redis的分布式锁 以及 超详细的改进思路
- [leetcode622]设计循环队列
猜你喜欢
Fabrication of fairygui simple Backpack
Office prompts that your license is not genuine pop-up box solution
NRF24L01 troubleshooting
Stm32f1+bc20+mqtt+freertos system is connected to Alibaba cloud to transmit temperature and humidity and control LED lights
(1) Introduction Guide to R language - the first step of data analysis
JS 函数提升和var变量的声明提升
[Nodejs] 20. Koa2 onion ring model ----- code demonstration
Force buckle 1189 Maximum number of "balloons"
Unity3D基础入门之粒子系统(属性介绍+火焰粒子系统案例制作)
Teach you to release a DeNO module hand in hand
随机推荐
[Offer18]删除链表的节点
[899]有序队列
In 2020, the average salary of IT industry exceeded 170000, ranking first
How to add music playback function to Arduino project
Common properties of location
Vscode basic configuration
JS變量類型以及常用類型轉換
Design and implementation of general interface open platform - (39) simple and crude implementation of API services
(课设第一套)1-4 消息传递接口 (100 分)(模拟:线程)
MySQL replacement field part content
1041 be unique (20 points (s)) (hash: find the first number that occurs once)
Redis cache update strategy, cache penetration, avalanche, breakdown problems
Gravure sans fil Bluetooth sur micro - ordinateur à puce unique
Fabrication d'un sac à dos simple fairygui
FairyGUI简单背包的制作
[Clickhouse kernel principle graphic explanation] about the collaborative work of partitioning, indexing, marking and compressed data
2021.11.10汇编考试
Guided package method in idea
Idea problem record
(一)R语言入门指南——数据分析的第一步