当前位置:网站首页>Fairygui loop list
Fairygui loop list
2022-07-06 12:46:00 【SQ Liu】
FairyGUI Loop list
Realization effect : stay Unity in , You can cycle through the list with the mouse , And when browsing the current page , It has an effect of being close to big and far away .
One 、 Import resources
Two 、 The new button
3、 ... and 、 Design list
Four 、 Loader dynamic load picture button
If there are tens of thousands of buttons , We can't create one by one , It's time to be in Unity Resources for dynamically loading picture buttons in , Therefore, the loader is introduced .
Button size is 248×378, Then the loader should also be 248×378. Then classify its position as 0,0.
Enter the list again , Add a few more objects to it .
5、 ... and 、 Packaging releases
6、 ... and 、Unity It shows that
7、 ... and 、 Write code
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FairyGUI;
public class LoopList : MonoBehaviour
{
private GComponent mainUI;
private GList list;
void Start()
{
mainUI = GetComponent<UIPanel>().ui;
list = mainUI.GetChild("n0").asList; //n0 yes FairyGUI List in
list.SetVirtualAndLoop(); // Set the list as a virtual list (FGUI Regulations : If you use lists , You must use a virtual list )
list.itemRenderer = RenderListItem; // call list The rendering function inside , It is a delegate type variable , So assign it a method
list.numItems = 5; // Set the length of the list
}
private void RenderListItem(int index, GObject obj)
{
GButton button = obj.asButton;
button.icon = UIPackage.GetItemURL("LoopList", "n" + (index + 1)); // Get dynamic URL
}
}
Compile operation , go back to Unity Found an error . Originally in FairyGUI Forgot to drag project resources into , Manually drag it .
Republish it again
here , go back to Unity, The operation results are as follows . Find out “ Chapter two ”、“ The third chapter ” The pictures below are “ Chapter one ” The picture below . What's the reason ? Because before we were FairyGUI I have been given Button1 A rendering , Obviously this is not possible . So we need to render and delete its own image . Directly through icon Just load it .
Another place is , find LoopList list , Set its overflow handling to “ Horizontal scrolling ”.
Release again , All working well .
8、 ... and 、 Running effect
Nine 、 Further refinement —— Special effects of near, far and small
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FairyGUI;
public class LoopList : MonoBehaviour
{
private GComponent mainUI;
private GList list;
void Start()
{
mainUI = GetComponent<UIPanel>().ui;
list = mainUI.GetChild("n0").asList; //n0 yes FairyGUI List in
list.SetVirtualAndLoop(); // Set the list as a virtual list (FGUI Regulations : If you use lists , You must use a virtual list )
list.itemRenderer = RenderListItem; // call list The rendering function inside , It is a delegate type variable , So assign it a method
list.numItems = 5;
list.scrollPane.onScroll.Add(DoSpecialEffect);
DoSpecialEffect();
}
private void DoSpecialEffect()
{
float listCenter = list.scrollPane.posX + list.viewWidth / 2;
//scrollPane Is the width of the current list ;viewWidth Is the width of the list itself
for (int i = 0; i < list.numChildren; i++) //numChildren Is the currently rendered object , That's the runtime Game The number that can be seen in
{
GObject item = list.GetChildAt(i);
float itemCenter = item.x + item.width / 2;
float itemWidth = item.width;
float distance = Mathf.Abs(listCenter - itemCenter);
if (distance < itemWidth)
{
float distanceRange = 1 + (1 - distance / itemWidth) * 0.2f;
item.SetScale(distanceRange, distanceRange);
}
else
{
item.SetScale(1, 1);
}
}
}
private void RenderListItem(int index, GObject obj)
{
GButton button = obj.asButton;
button.SetPivot(0.5f, 0.5f); // Set the anchor point as the center
button.icon = UIPackage.GetItemURL("LoopList", "n" + (index + 1)); // Get dynamic URL
}
}
Associate the list and button with the container respectively
After being released in Unity There will be no problem in running .
Ten 、 The final perfect rendering
边栏推荐
- Office提示您的许可证不是正版弹框解决
- (课设第一套)1-5 317号子任务 (100 分)(Dijkstra:重边自环)
- Meanings and differences of PV, UV, IP, VV, CV
- Fairygui gain buff value change display
- MySQL takes up too much memory solution
- Générateur d'identification distribué basé sur redis
- Who says that PT online schema change does not lock the table, or deadlock
- (1) Introduction Guide to R language - the first step of data analysis
- [offer29] sorted circular linked list
- Database table splitting strategy
猜你喜欢
Unity场景跳转及退出
單片機藍牙無線燒錄
Force buckle 1189 Maximum number of "balloons"
[Red Treasure Book Notes simplified version] Chapter 12 BOM
Problèmes avec MySQL time, fuseau horaire, remplissage automatique 0
数据库课程设计:高校教务管理系统(含代码)
(三)R语言的生物信息学入门——Function, data.frame, 简单DNA读取与分析
Compilation principle: preprocessing of source program and design and implementation of lexical analysis program (including code)
Combination of fairygui check box and progress bar
JS variable types and common type conversions
随机推荐
Unity3D基础入门之粒子系统(属性介绍+火焰粒子系统案例制作)
The master of double non planning left the real estate company and became a programmer with an annual salary of 25W. There are too many life choices at the age of 25
[leetcode19] delete the penultimate node in the linked list
Game 280 weekly
(5) Introduction to R language bioinformatics -- ORF and sequence analysis
PR 2021 quick start tutorial, first understanding the Premiere Pro working interface
@Autowired 和 @Resource 的区别
NRF24L01 troubleshooting
Database table splitting strategy
Minio文件下载问题——inputstream:closed
Teach you to release a DeNO module hand in hand
FairyGUI循環列錶
[899] ordered queue
2022.2.12 resumption
Gateway 根据服务名路由失败,报错 Service Unavailable, status=503
Guided package method in idea
Redis based distributed ID generator
VLSM variable length subnet mask partition tips
Detailed explanation of truncate usage
[offer78] merge multiple ordered linked lists