当前位置:网站首页>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:
Insérer la description de l'image ici

Un.、Créer un nouveau projet

Insérer la description de l'image ici
Renommer
Insérer la description de l'image ici

2.、 Faire des fenêtres de sac à dos

1、 Composant conteneur du nouveau sac à dos (BagWindow)

Insérer la description de l'image ici
Insérer la description de l'image ici

2、 Nouveau composant de cadre de fenêtre (WindowFrame)

Insérer la description de l'image ici

3、 Importer des ressources matérielles

Cliquez ici pour télécharger

4、InWindowFrameOpération centrale

(1) Glissez dans l'arrière - plan du sac à dos

Insérer la description de l'image ici
Et van0Renommer enBG( C'est l'arrière - plan du sac à dos )

(2) Nouveau bouton d'arrêt (ButtonClose)

Insérer la description de l'image ici
Insérer la description de l'image ici

(3) Nouveau dessin comme occupation (dragArea——Zone de traînée)

Insérer la description de l'image ici

5、InBagWindowOpération centrale

(1)Oui.WindowFrameGlisser dansBagWindow, Et définir la taille de ses composants

Insérer la description de l'image ici

(2) Glisser dans la liste pour transporter des objets de jeu

Insérer la description de l'image ici

(3) Faire une grille dans la liste ——Nouveau boutonItem

Insérer la description de l'image ici

(4)ÉditionItem

Glisser dans la carte de fond
Insérer la description de l'image ici
Glisser dansTitle
Insérer la description de l'image ici
Insérer la description de l'image ici
Glisser dans le chargeur
Insérer la description de l'image ici

6、InMainOpération centrale

(1) Créer un bouton d'affichage d'image ItemView

Insérer la description de l'image ici

(2)C'est exact.ItemView Faites quelques améliorations

Insérer la description de l'image ici

(3) Nouveau bouton pop - up du sac à dos BagButton

Insérer la description de l'image ici

(4)Double - clicBagButton Bouton pour l'éditer

Insérer la description de l'image ici

7、RetourBagWindow,Assigner une valeur à

Insérer la description de l'image ici
Insérer la description de l'image ici
Renommer, Faites quelques petits changements .
Insérer la description de l'image ici

Trois、 Package Export Publishing

Insérer la description de l'image ici
Insérer la description de l'image ici
Insérer la description de l'image ici

Quatre、UnityAffichage en

1、NouveauUnityProjets

Insérer la description de l'image ici

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 .

Insérer la description de l'image ici

3、UnityAffichage en

Insérer la description de l'image ici

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.

Insérer la description de l'image ici

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

Insérer la description de l'image ici

4、 Charger le contenu du sac à dos

(1)Changez.BagWindow Nom de la liste dans :itemList,EtItemViewÀ l'intérieur.title, Et republié

Insérer la description de l'image ici
Insérer la description de l'image ici

(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

Insérer la description de l'image ici
Insérer la description de l'image ici

原网站

版权声明
本文为[Sq Liu]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060913597372.html