当前位置:网站首页>FairyGUI增益BUFF数值改变的显示
FairyGUI增益BUFF数值改变的显示
2022-07-06 09:18: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、运行效果
边栏推荐
- (三)R语言的生物信息学入门——Function, data.frame, 简单DNA读取与分析
- Compilation principle: preprocessing of source program and design and implementation of lexical analysis program (including code)
- History object
- (4) Data visualization of R language -- matrix chart, histogram, pie chart, scatter chart, linear regression and strip chart
- [leetcode19]删除链表中倒数第n个结点
- JS變量類型以及常用類型轉換
- Single chip Bluetooth wireless burning
- JS 函数提升和var变量的声明提升
- NRF24L01 troubleshooting
- Gateway 根据服务名路由失败,报错 Service Unavailable, status=503
猜你喜欢
MySQL takes up too much memory solution
Redis 缓存更新策略,缓存穿透、雪崩、击穿问题
JS function promotion and declaration promotion of VaR variable
Unity3D制作注册登录界面,并实现场景跳转
idea中导包方法
(5) Introduction to R language bioinformatics -- ORF and sequence analysis
2021.11.10汇编考试
Redis based distributed ID generator
MySQL time, time zone, auto fill 0
Custom view puzzle getcolor r.color The color obtained by colorprimary is incorrect
随机推荐
Office prompts that your license is not genuine pop-up box solution
(四)R语言的数据可视化——矩阵图、柱状图、饼图、散点图与线性回归、带状图
Walk into WPF's drawing Bing Dwen Dwen
数据库课程设计:高校教务管理系统(含代码)
Postman 中级使用教程【环境变量、测试脚本、断言、接口文档等】
Get the position of the nth occurrence of the string
[leetcode19] delete the penultimate node in the linked list
(the first set of course design) 1-4 message passing interface (100 points) (simulation: thread)
Theoretical derivation of support vector machine
js题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
[offer78] merge multiple ordered linked lists
Database course design: college educational administration management system (including code)
Flink late data processing (3)
ES6 grammar summary -- Part 2 (advanced part es6~es11)
Esp8266 connect onenet (old mqtt mode)
PT OSC deadlock analysis
Navigator object (determine browser type)
Who says that PT online schema change does not lock the table, or deadlock
Pat 1097 duplication on a linked list (25 points)
idea中导包方法