当前位置:网站首页>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
边栏推荐
- Générateur d'identification distribué basé sur redis
- Classification, understanding and application of common methods of JS array
- Whistle+switchyomega configure web proxy
- Gravure sans fil Bluetooth sur micro - ordinateur à puce unique
- Basic operations of databases and tables ----- classification of data
- Derivation of logistic regression theory
- [leetcode19]删除链表中倒数第n个结点
- FairyGUI簡單背包的制作
- (五)R语言入门生物信息学——ORF和序列分析
- level16
猜你喜欢
CUDA C programming authoritative guide Grossman Chapter 4 global memory
Affichage du changement de valeur du Buff de gain de l'interface graphique de défaillance
(4) Data visualization of R language -- matrix chart, histogram, pie chart, scatter chart, linear regression and strip chart
Mysql database reports an error: row size too large (> 8126) Changing some columns to TEXT or BLOB or using ROW_ FORMAT=DY
Stm32f1+bc20+mqtt+freertos system is connected to Alibaba cloud to transmit temperature and humidity and control LED lights
Classification, understanding and application of common methods of JS array
Mysql database index
(五)R语言入门生物信息学——ORF和序列分析
In 2020, the average salary of IT industry exceeded 170000, ranking first
MySQL時間、時區、自動填充0的問題
随机推荐
燕山大学校园网自动登录问题解决方案
JS變量類型以及常用類型轉換
NRF24L01 troubleshooting
Programming homework: educational administration management system (C language)
[offer78]合并多个有序链表
Remember an experience of ECS being blown up by passwords - closing a small black house, changing passwords, and changing ports
HCIP Day 12
idea问题记录
[Red Treasure Book Notes simplified version] Chapter 12 BOM
Page performance optimization of video scene
基于Redis的分布式ID生成器
1081 rational sum (20 points) points add up to total points
Learning notes of JS variable scope and function
FairyGUI按钮动效的混用
[leetcode19]删除链表中倒数第n个结点
idea中导包方法
Mysqldump error1066 error solution
Mysql database index
Unity3D,阿里云服务器,平台配置
Gateway fails to route according to the service name, and reports an error service unavailable, status=503