当前位置:网站首页>FairyGUI按钮动效的混用
FairyGUI按钮动效的混用
2022-07-06 09:18:00 【SQ刘】
FairyGUI按钮动效的混用
一、FGUI中的设计
(一)导入素材资源
原本还有一个音乐素材,导不进来,大家可以自己网上找个类似的背景音乐自行导入。
(二)详细设计
1、新建按钮并对其做一些微调
微调的目的是给按钮一些特效,比如点击时有一个缩放效果,并且有一个音效。
2、按钮拖入Component1中并新建一个文本
将文本与按钮做一个关联,防止后续操作过程中出现一些问题。
3、制作特效
(1)新建组件
(2)特效制作
4、打包导入Unity
二、Unity中的代码实现
1、手动显示按钮
2、脚本代码控制
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FairyGUI;
public class ButtonEffects : MonoBehaviour
{
private GComponent mainUI;
private GComponent bossCom;
void Start()
{
mainUI = GetComponent<UIPanel>().ui;
bossCom = UIPackage.CreateObject("Package1", "Boss").asCom;
mainUI.GetChild("n0").onClick.Add(() => {
PlayUI(bossCom); }); //n0是FGUI中的Button1。Add()里面是λ表达式
}
// 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"); //t0是Boss的动效
t.Play(()=>
{
mainUI.GetChild("n0").visible = true;
GRoot.inst.RemoveChild(targetCom);
});
}
}
运行效果:
美中不足的是:点击后,这个字体“Boss”并不能消失。这时就需要用到FairyGUI里面的组。
3、创建组重新发布
4、对代码做一些更改
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FairyGUI;
public class ButtonEffects : MonoBehaviour
{
private GComponent mainUI;
private GComponent bossCom;
private GGroup group;
void Start()
{
mainUI = GetComponent<UIPanel>().ui;
group = mainUI.GetChild("n2").asGroup;
bossCom = UIPackage.CreateObject("Package1", "Boss").asCom;
mainUI.GetChild("n0").onClick.Add(() => {
PlayUI(bossCom); });
//n0是FGUI中的Button1。Add()里面是λ表达式
}
// Update is called once per frame
void Update()
{
}
private void PlayUI(GComponent targetCom)
{
//mainUI.GetChild("n0").visible = false;
group.visible = false;
GRoot.inst.AddChild(targetCom);
Transition t = targetCom.GetTransition("t0"); //t0是Boss的动效
t.Play(()=>
{
//mainUI.GetChild("n0").visible = true;
group.visible = true;
GRoot.inst.RemoveChild(targetCom);
});
}
}
三、最终运行效果
边栏推荐
- 数据库课程设计:高校教务管理系统(含代码)
- [leetcode622]设计循环队列
- Unity scene jump and exit
- (3) Introduction to bioinformatics of R language - function, data Frame, simple DNA reading and analysis
- 1041 be unique (20 points (s)) (hash: find the first number that occurs once)
- Programming homework: educational administration management system (C language)
- [leetcode19]删除链表中倒数第n个结点
- MySQL takes up too much memory solution
- Office提示您的许可证不是正版弹框解决
- Esp8266 connects to bafayun (TCP maker cloud) through Arduino IED
猜你喜欢
Vulnhub target: hacknos_ PLAYER V1.1
(4) Data visualization of R language -- matrix chart, histogram, pie chart, scatter chart, linear regression and strip chart
Common properties of location
Compilation principle: preprocessing of source program and design and implementation of lexical analysis program (including code)
Arduino uno R3 register writing method (1) -- pin level state change
(一)R语言入门指南——数据分析的第一步
Intermediate use tutorial of postman [environment variables, test scripts, assertions, interface documents, etc.]
MySQL占用内存过大解决方案
JS数组常用方法的分类、理解和运用
FairyGUI摇杆
随机推荐
[Clickhouse kernel principle graphic explanation] about the collaborative work of partitioning, indexing, marking and compressed data
[offer18] delete the node of the linked list
idea问题记录
InnoDB dirty page refresh mechanism checkpoint in MySQL
Game 280 weekly
(三)R语言的生物信息学入门——Function, data.frame, 简单DNA读取与分析
Gateway fails to route according to the service name, and reports an error service unavailable, status=503
js 变量作用域和函数的学习笔记
(core focus of software engineering review) Chapter V detailed design exercises
There is no red exclamation mark after SVN update
基于Redis的分布式锁 以及 超详细的改进思路
Unity3d, Alibaba cloud server, platform configuration
Single chip Bluetooth wireless burning
Basic operations of databases and tables ----- view data tables
Derivation of logistic regression theory
idea中导包方法
Office提示您的许可证不是正版弹框解决
Mp3mini playback module Arduino < dfrobotdfplayermini H> function explanation
Basic operations of databases and tables ----- modifying data tables
Unity3D摄像机,键盘控制前后左右上下移动,鼠标控制旋转、放缩