当前位置:网站首页>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
边栏推荐
- JS regular expression basic knowledge learning
- There is no red exclamation mark after SVN update
- Minio file download problem - inputstream:closed
- 1041 Be Unique (20 point(s))(哈希:找第一个出现一次的数)
- First use of dosbox
- Mysqldump error1066 error solution
- 基于Redis的分布式ID生成器
- Detailed explanation of truncate usage
- js 变量作用域和函数的学习笔记
- Gravure sans fil Bluetooth sur micro - ordinateur à puce unique
猜你喜欢
Unity scene jump and exit
MySQL takes up too much memory solution
FairyGUI人物状态弹窗
Esp8266 uses Arduino to connect Alibaba cloud Internet of things
dosbox第一次使用
NRF24L01故障排查
Arduino uno R3 register writing method (1) -- pin level state change
(1) Introduction Guide to R language - the first step of data analysis
NRF24L01 troubleshooting
idea问题记录
随机推荐
Pat 1097 duplication on a linked list (25 points)
There is no red exclamation mark after SVN update
Talking about the startup of Oracle Database
[Offer18]删除链表的节点
MySQL replacement field part content
FairyGUI人物状态弹窗
[offer78]合并多个有序链表
JS 函数提升和var变量的声明提升
JS正则表达式基础知识学习
[offer29] sorted circular linked list
Esp8266 uses Arduino to connect Alibaba cloud Internet of things
(四)R语言的数据可视化——矩阵图、柱状图、饼图、散点图与线性回归、带状图
程序设计大作业:教务管理系统(C语言)
Design and implementation of general interface open platform - (39) simple and crude implementation of API services
Basic operations of databases and tables ----- modifying data tables
open-mmlab labelImg mmdetection
NRF24L01 troubleshooting
ESP8266连接onenet(旧版MQTT方式)
FairyGUI摇杆
Fashion Gen: the general fashion dataset and challenge paper interpretation & dataset introduction