当前位置:网站首页>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

边栏推荐
- [leetcode19]删除链表中倒数第n个结点
- Gateway fails to route according to the service name, and reports an error service unavailable, status=503
- MySQL performance tuning - dirty page refresh
- There is no red exclamation mark after SVN update
- [Clickhouse kernel principle graphic explanation] about the collaborative work of partitioning, indexing, marking and compressed data
- Servlet
- Stm32f1+bc20+mqtt+freertos system is connected to Alibaba cloud to transmit temperature and humidity and control LED lights
- [Nodejs] 20. Koa2 onion ring model ----- code demonstration
- MySQL時間、時區、自動填充0的問題
- PT OSC deadlock analysis
猜你喜欢

Fabrication d'un sac à dos simple fairygui

Single chip Bluetooth wireless burning

Problèmes avec MySQL time, fuseau horaire, remplissage automatique 0

Redis based distributed locks and ultra detailed improvement ideas

Basic operations of databases and tables ----- modifying data tables

JS Title: input array, exchange the largest with the first element, exchange the smallest with the last element, and output array.

Unity3D制作注册登录界面,并实现场景跳转

idea中导包方法

Compilation principle: preprocessing of source program and design and implementation of lexical analysis program (including code)

FairyGUI簡單背包的制作
随机推荐
Easy to use shortcut keys in idea
SVN更新后不出现红色感叹号
Game 280 weekly
Solution to the problem of automatic login in Yanshan University Campus Network
Fabrication of fairygui simple Backpack
js 变量作用域和函数的学习笔记
Servlet
@The difference between Autowired and @resource
CUDA C programming authoritative guide Grossman Chapter 4 global memory
It has been solved by personal practice: MySQL row size too large (> 8126) Changing some columns to TEXT or BLOB or using ROW_ FORMAT
Unity场景跳转及退出
Derivation of logistic regression theory
Who says that PT online schema change does not lock the table, or deadlock
Talking about the startup of Oracle Database
[golang] leetcode intermediate - fill in the next right node pointer of each node & the k-smallest element in the binary search tree
Special palindromes of daily practice of Blue Bridge Cup
1081 rational sum (20 points) points add up to total points
MySQL performance tuning - dirty page refresh
FairyGUI人物状态弹窗
Programming homework: educational administration management system (C language)