当前位置:网站首页>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、運行效果
边栏推荐
- [offer29] sorted circular linked list
- FairyGUI摇杆
- Fabrication d'un sac à dos simple fairygui
- Programming homework: educational administration management system (C language)
- Meanings and differences of PV, UV, IP, VV, CV
- (课设第一套)1-4 消息传递接口 (100 分)(模拟:线程)
- Intermediate use tutorial of postman [environment variables, test scripts, assertions, interface documents, etc.]
- By v$rman_ backup_ job_ Oracle "bug" caused by details
- Remember an experience of ECS being blown up by passwords - closing a small black house, changing passwords, and changing ports
- Symbolic representation of functions in deep learning papers
猜你喜欢
Pat 1097 duplication on a linked list (25 points)
Types de variables JS et transformations de type communes
Single chip Bluetooth wireless burning
Office提示您的许可证不是正版弹框解决
Unity scene jump and exit
MySQL時間、時區、自動填充0的問題
CUDA C programming authoritative guide Grossman Chapter 4 global memory
Problèmes avec MySQL time, fuseau horaire, remplissage automatique 0
Redis based distributed ID generator
Fabrication of fairygui simple Backpack
随机推荐
idea问题记录
[leetcode622]设计循环队列
数据库课程设计:高校教务管理系统(含代码)
MySQL time, time zone, auto fill 0
Latex learning
Office提示您的许可证不是正版弹框解决
如何给Arduino项目添加音乐播放功能
[offer78]合并多个有序链表
js 变量作用域和函数的学习笔记
idea中好用的快捷键
The dolphin scheduler remotely executes shell scripts through the expect command
2021.11.10汇编考试
Symbolic representation of functions in deep learning papers
NRF24L01故障排查
Navigator object (determine browser type)
[899] ordered queue
Unity场景跳转及退出
Particle system for introduction to unity3d Foundation (attribute introduction + case production of flame particle system)
MySQL error warning: a long semaphore wait
(四)R语言的数据可视化——矩阵图、柱状图、饼图、散点图与线性回归、带状图