当前位置:网站首页>Liste des boucles de l'interface graphique de défaillance
Liste des boucles de l'interface graphique de défaillance
2022-07-06 12:45:00 【Sq Liu】
FairyGUIListe des cycles
Obtenir des résultats:InUnityMoyenne,La souris vous permet de parcourir la liste,Et lors de la navigation sur la page courante,Il y a un effet presque grand, loin et petit.
Un.、Importer des ressources
2.、Nouveau bouton
Trois、 Liste des dessins
Quatre、 Chargeur charger dynamiquement le bouton Image
S'il y a des dizaines de milliers de boutons , Nous ne pouvons pas créer un par un ,C'est le moment deUnity Charger dynamiquement les ressources du bouton Image dans , Par conséquent, le chargeur est introduit .
La taille du bouton est 248×378, Alors le chargeur devrait être 248×378. Et les placer dans 0,0.
Retour à la Liste , Ajouter quelques objets supplémentaires .
Cinq、Packaging Publishing
Six、UnityAffichage en
Sept、Écrire le 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- Oui.FairyGUIListe dans
list.SetVirtualAndLoop(); // Définir la liste comme une liste virtuelle (FGUILe règlement: Si vous utilisez une liste , La liste virtuelle doit être utilisée )
list.itemRenderer = RenderListItem; //Appelezlist Fonctions de rendu à l'intérieur , C'est une variable de type délégué , Il faut donc lui attribuer une valeur.
list.numItems = 5; // Définir la longueur de la Liste
}
private void RenderListItem(int index, GObject obj)
{
GButton button = obj.asButton;
button.icon = UIPackage.GetItemURL("LoopList", "n" + (index + 1)); //Acquisition dynamiqueURL
}
}
Exécution de la compilation,RetourUnityErreur détectée.C'est vrai.FairyGUI J'ai oublié de faire glisser les ressources du projet , Faites glisser manuellement .
Republier à nouveau
En ce moment,RetourUnity,Les résultats sont les suivants.Découverte“Chapitre II”、“Chapitre III” Toutes les photos en bas “Chapitre I” Image en bas .Pour quelle raison?Parce qu'avant, on étaitFairyGUIC'est parti.Button1Un rendu,Apparemment, ce n'est pas possible. Donc nous allons rendre l'image elle - même pour l'effacer .Directement à traversicon Oui, il suffit de le charger. .
Il y a un autre endroit ,TrouverLoopListListe, Réglez son traitement de débordement à “Défilement horizontal”.
Release again,Tout va bien.
Huit、Effets de fonctionnement
Neuf、Amélioration—— Effets spéciaux proches, lointains et petits
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- Oui.FairyGUIListe dans
list.SetVirtualAndLoop(); // Définir la liste comme une liste virtuelle (FGUILe règlement: Si vous utilisez une liste , La liste virtuelle doit être utilisée )
list.itemRenderer = RenderListItem; //Appelezlist Fonctions de rendu à l'intérieur , C'est une variable de type délégué , Il faut donc lui attribuer une valeur.
list.numItems = 5;
list.scrollPane.onScroll.Add(DoSpecialEffect);
DoSpecialEffect();
}
private void DoSpecialEffect()
{
float listCenter = list.scrollPane.posX + list.viewWidth / 2;
//scrollPane Est la largeur de la liste actuelle ;viewWidth Est la largeur de la liste elle - même
for (int i = 0; i < list.numChildren; i++) //numChildren Est l'objet actuellement rendu ,C'est - à - dire l'exécutionGame Nombre visible
{
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); // Placer l'ancre au Centre
button.icon = UIPackage.GetItemURL("LoopList", "n" + (index + 1)); //Acquisition dynamiqueURL
}
}
Associer la liste et les boutons au conteneur
Après publication Unity Il n'y a pas de problème. .
Dix、 Image finale parfaite
边栏推荐
- [leetcode15] sum of three numbers
- [offer9] implement queues with two stacks
- [golang] leetcode intermediate - fill in the next right node pointer of each node & the k-smallest element in the binary search tree
- JS變量類型以及常用類型轉換
- (core focus of software engineering review) Chapter V detailed design exercises
- Unity3D基础入门之粒子系统(属性介绍+火焰粒子系统案例制作)
- Unity3d, Alibaba cloud server, platform configuration
- [Nodejs] 20. Koa2 onion ring model ----- code demonstration
- There is no red exclamation mark after SVN update
- FairyGUI循环列表
猜你喜欢
Esp8266 connect onenet (old mqtt mode)
The service robots that have been hyped by capital and the Winter Olympics are not just a flash in the pan
js 变量作用域和函数的学习笔记
FairyGUI簡單背包的制作
Pytorch: tensor operation (I) contiguous
JS Title: input array, exchange the largest with the first element, exchange the smallest with the last element, and output array.
(四)R语言的数据可视化——矩阵图、柱状图、饼图、散点图与线性回归、带状图
Types de variables JS et transformations de type communes
FairyGUI增益BUFF數值改變的顯示
[Red Treasure Book Notes simplified version] Chapter 12 BOM
随机推荐
Solution to the problem of automatic login in Yanshan University Campus Network
Database course design: college educational administration management system (including code)
JS變量類型以及常用類型轉換
InnoDB dirty page refresh mechanism checkpoint in MySQL
FairyGUI增益BUFF數值改變的顯示
Particle system for introduction to unity3d Foundation (attribute introduction + case production of flame particle system)
Stm32f1+bc20+mqtt+freertos system is connected to Alibaba cloud to transmit temperature and humidity and control LED lights
(3) Introduction to bioinformatics of R language - function, data Frame, simple DNA reading and analysis
[Offer29] 排序的循环链表
Types de variables JS et transformations de type communes
2022.2.12 resumption
(the first set of course design) 1-4 message passing interface (100 points) (simulation: thread)
The service robots that have been hyped by capital and the Winter Olympics are not just a flash in the pan
By v$rman_ backup_ job_ Oracle "bug" caused by details
Unity3D,阿里云服务器,平台配置
Mysql database reports an error: row size too large (> 8126) Changing some columns to TEXT or BLOB or using ROW_ FORMAT=DY
It has been solved by personal practice: MySQL row size too large (> 8126) Changing some columns to TEXT or BLOB or using ROW_ FORMAT
Redis based distributed ID generator
Conditional probability
(core focus of software engineering review) Chapter V detailed design exercises