当前位置:网站首页>Fabrication d'un sac à dos simple fairygui
Fabrication d'un sac à dos simple fairygui
2022-07-06 12:38:00 【Sq Liu】
FairyGUIFabrication de sacs à dos simples
Aperçu des effets:
Un.、Créer un nouveau projet
Renommer
2.、 Faire des fenêtres de sac à dos
1、 Composant conteneur du nouveau sac à dos (BagWindow)
2、 Nouveau composant de cadre de fenêtre (WindowFrame)
3、 Importer des ressources matérielles
4、InWindowFrameOpération centrale
(1) Glissez dans l'arrière - plan du sac à dos
Et van0Renommer enBG( C'est l'arrière - plan du sac à dos )
(2) Nouveau bouton d'arrêt (ButtonClose)
(3) Nouveau dessin comme occupation (dragArea——Zone de traînée)
5、InBagWindowOpération centrale
(1)Oui.WindowFrameGlisser dansBagWindow, Et définir la taille de ses composants
(2) Glisser dans la liste pour transporter des objets de jeu
(3) Faire une grille dans la liste ——Nouveau boutonItem
(4)ÉditionItem
Glisser dans la carte de fond
Glisser dansTitle
Glisser dans le chargeur
6、InMainOpération centrale
(1) Créer un bouton d'affichage d'image ItemView
(2)C'est exact.ItemView Faites quelques améliorations
(3) Nouveau bouton pop - up du sac à dos BagButton
(4)Double - clicBagButton Bouton pour l'éditer
7、RetourBagWindow,Assigner une valeur à
Renommer, Faites quelques petits changements .
Trois、 Package Export Publishing
Quatre、UnityAffichage en
1、NouveauUnityProjets
2、 Télécharger le FairyGUI
Lors de l'importation après téléchargement ,Il faut faire attention,- Oui.ExamplesEn bas.BagSupprimer. Parce qu'il n'a pas été supprimé lors de l'importation précédente , Ce qui a conduit à des phénomènes étranges .
3、UnityAffichage en
Cinq、Contrôle du Code
1、 Créer deux nouveaux scripts
L'un est un script de fenêtre de sac à dos BagWindow, L'un est le script principal Bag.
2、Modifier le script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FairyGUI;
public class BagWindow : Window
{
public BagWindow()
{
}
protected override void OnInit()
{
this.contentPane = UIPackage.CreateObject("Bag", "BagWindow").asCom;
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FairyGUI;
public class Bag : MonoBehaviour
{
private GComponent mainUI;
private GButton playerView;
private BagWindow bagWindow;
void Start()
{
mainUI = GetComponent<UIPanel>().ui;
playerView = mainUI.GetChild("playerView").asButton;
playerView.onClick.Add(UseItem);
bagWindow = new BagWindow();
mainUI.GetChild("bagButton").onClick.Add(() => {
bagWindow.Show(); });
}
// Update is called once per frame
void Update()
{
}
private void UseItem()
{
}
}
3、Effets de fonctionnement
4、 Charger le contenu du sac à dos
(1)Changez.BagWindow Nom de la liste dans :itemList,EtItemViewÀ l'intérieur.title, Et republié
(2) Continuer à coder les fonctions de mise en oeuvre
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FairyGUI;
public class BagWindow : Window
{
private GList list;
private GButton playerView;
public BagWindow(GButton targetButton)
{
playerView = targetButton;
}
protected override void OnInit()
{
this.contentPane = UIPackage.CreateObject("Bag", "BagWindow").asCom;
list = this.contentPane.GetChild("itemList").asList;
list.itemRenderer = RenderListItem;
list.numItems = 20;
for (int i = 0; i < list.numItems - 10; i++)
{
GButton button = list.GetChildAt(i).asButton;
button.onClick.Add(() => {
ClickItem(button); });
}
}
private void RenderListItem(int index, GObject obj)
{
GButton button = obj.asButton;
button.icon = UIPackage.GetItemURL("Bag", "i" + index);
button.title = index.ToString();
}
private void ClickItem(GButton button)
{
playerView.title = button.title;
playerView.icon = button.icon;
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FairyGUI;
public class Bag : MonoBehaviour
{
private GComponent mainUI;
private GButton playerView;
private BagWindow bagWindow;
void Start()
{
mainUI = GetComponent<UIPanel>().ui;
playerView = mainUI.GetChild("playerView").asButton;
playerView.onClick.Add(UseItem);
bagWindow = new BagWindow(playerView);
bagWindow.SetXY(121, 63); // Définir la position initiale de la fenêtre contextuelle du sac à dos
mainUI.GetChild("bagButton").onClick.Add(() => {
bagWindow.Show(); });
}
private void UseItem()
{
playerView.icon = null;
playerView.title = "Blanc";
}
}
Six、Résultats finaux
边栏推荐
- [899]有序队列
- ESP8266连接onenet(旧版MQTT方式)
- (课设第一套)1-5 317号子任务 (100 分)(Dijkstra:重边自环)
- (4) Data visualization of R language -- matrix chart, histogram, pie chart, scatter chart, linear regression and strip chart
- History object
- Stm32f1+bc20+mqtt+freertos system is connected to Alibaba cloud to transmit temperature and humidity and control LED lights
- MySQL error warning: a long semaphore wait
- [leetcode15] sum of three numbers
- [Clickhouse kernel principle graphic explanation] about the collaborative work of partitioning, indexing, marking and compressed data
- Database course design: college educational administration management system (including code)
猜你喜欢
Mp3mini playback module Arduino < dfrobotdfplayermini H> function explanation
JS regular expression basic knowledge learning
Unity3D,阿里云服务器,平台配置
(一)R语言入门指南——数据分析的第一步
Unity场景跳转及退出
Basic operations of databases and tables ----- modifying data tables
Fashion Gen: the general fashion dataset and challenge paper interpretation & dataset introduction
NRF24L01故障排查
Theoretical derivation of support vector machine
ESP8266连接onenet(旧版MQTT方式)
随机推荐
What is the maximum length of MySQL varchar field
JS變量類型以及常用類型轉換
单片机蓝牙无线烧录
Redis based distributed locks and ultra detailed improvement ideas
SSD technical features
如何给Arduino项目添加音乐播放功能
Esp8266 connects to onenet cloud platform (mqtt) through Arduino IDE
Pat 1097 duplication on a linked list (25 points)
Lock wait timeout exceeded try restarting transaction
Idea problem record
Easy to use shortcut keys in idea
[offer9] implement queues with two stacks
Types de variables JS et transformations de type communes
Learning notes of JS variable scope and function
MySQL error warning: a long semaphore wait
Basic operations of databases and tables ----- view data tables
Common DOS commands
FairyGUI简单背包的制作
JS正则表达式基础知识学习
Arduino get random number