当前位置:网站首页>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
边栏推荐
- Affichage du changement de valeur du Buff de gain de l'interface graphique de défaillance
- 燕山大学校园网自动登录问题解决方案
- Conditional probability
- Unity3d makes the registration login interface and realizes the scene jump
- (四)R语言的数据可视化——矩阵图、柱状图、饼图、散点图与线性回归、带状图
- (the first set of course design) 1-4 message passing interface (100 points) (simulation: thread)
- 如何给Arduino项目添加音乐播放功能
- Fabrication d'un sac à dos simple fairygui
- Symbolic representation of functions in deep learning papers
- dosbox第一次使用
猜你喜欢
(4) Data visualization of R language -- matrix chart, histogram, pie chart, scatter chart, linear regression and strip chart
(3) Introduction to bioinformatics of R language - function, data Frame, simple DNA reading and analysis
Naive Bayesian theory derivation
CUDA C programming authoritative guide Grossman Chapter 4 global memory
js 变量作用域和函数的学习笔记
2021.11.10汇编考试
(四)R语言的数据可视化——矩阵图、柱状图、饼图、散点图与线性回归、带状图
Guided package method in idea
There is no red exclamation mark after SVN update
level16
随机推荐
Common DOS commands
Page performance optimization of video scene
Fabrication d'un sac à dos simple fairygui
MySQL replacement field part content
MySQL占用内存过大解决方案
Unity3D基础入门之粒子系统(属性介绍+火焰粒子系统案例制作)
(课设第一套)1-4 消息传递接口 (100 分)(模拟:线程)
FairyGUI增益BUFF數值改變的顯示
Derivation of logistic regression theory
[leetcode15] sum of three numbers
Esp8266 connect onenet (old mqtt mode)
Conditional probability
First use of dosbox
What is the maximum length of MySQL varchar field
MySQL time, time zone, auto fill 0
C programming exercise
ORA-02030: can only select from fixed tables/views
基於Redis的分布式ID生成器
[Red Treasure Book Notes simplified version] Chapter 12 BOM
[offer18] delete the node of the linked list