当前位置:网站首页>Fabrication of fairygui simple Backpack
Fabrication of fairygui simple Backpack
2022-07-06 12:38:00 【SQ Liu】
FairyGUI Making of simple Backpack
Results the preview :
One 、 Create a new project

Rename it 
Two 、 Make backpack pop-up
1、 Create a new container component for the backpack (BagWindow)


2、 Create a new window frame component (WindowFrame)

3、 Import material resources
4、 stay WindowFrame In the operation
(1) Drag into the background of the backpack

And will n0 Rename it to BG( Backpack background )
(2) New close button (ButtonClose)


(3) Create a new graphic as a placeholder (dragArea—— Drag area )

5、 stay BagWindow In the operation
(1) take WindowFrame Drag in BagWindow, And set its component size

(2) Drag into the list to load game objects

(3) Make a grid in the list —— The new button Item

(4) edit Item
Drag into the background 
Drag in Title

Drag loader 
6、 stay Main In the operation
(1) Make a picture display button ItemView

(2) Yes ItemView Make some improvements

(3) New backpack pop-up button BagButton

(4) double-click BagButton Button to edit it

7、 go back to BagWindow, Assign a value to


rename , Make some small changes .
3、 ... and 、 Package, export and publish



Four 、Unity It shows that
1、 newly build Unity project

2、 Download from the resource store FairyGUI
When importing after downloading , You need to pay attention to , To put Examples Below Bag Delete the . Because it was not deleted before importing , It leads to some strange phenomena behind .

3、Unity It shows that

5、 ... and 、 Code control
1、 Create two new scripts
One is the backpack pop-up script BagWindow, One is the main script Bag.

2、 Edit 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、 Running effect

4、 Load the contents of the backpack
(1) Change my BagWindow List names in :itemList, as well as ItemView Inside title, And redistribute


(2) Continue coding to realize the function
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); // Set the initial position where the backpack pop-up window appears
mainUI.GetChild("bagButton").onClick.Add(() => {
bagWindow.Show(); });
}
private void UseItem()
{
playerView.icon = null;
playerView.title = " blank ";
}
}
6、 ... and 、 Final rendering


边栏推荐
- Use of lists
- (the first set of course design) 1-4 message passing interface (100 points) (simulation: thread)
- Knowledge summary of request
- Imgcat usage experience
- Database course design: college educational administration management system (including code)
- Guided package method in idea
- FairyGUI复选框与进度条的组合使用
- Redis based distributed ID generator
- Stm32f1+bc20+mqtt+freertos system is connected to Alibaba cloud to transmit temperature and humidity and control LED lights
- 單片機藍牙無線燒錄
猜你喜欢

Esp8266 connect onenet (old mqtt mode)

程序设计大作业:教务管理系统(C语言)

JS数组常用方法的分类、理解和运用

dosbox第一次使用

Walk into WPF's drawing Bing Dwen Dwen

The dolphin scheduler remotely executes shell scripts through the expect command

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

编译原理:源程序的预处理及词法分析程序的设计与实现(含代码)

ES6 grammar summary -- Part 2 (advanced part es6~es11)

Pat 1097 duplication on a linked list (25 points)
随机推荐
Minio文件下载问题——inputstream:closed
[899] ordered queue
Mysqldump error1066 error solution
Remember an experience of ECS being blown up by passwords - closing a small black house, changing passwords, and changing ports
(5) Introduction to R language bioinformatics -- ORF and sequence analysis
Gateway fails to route according to the service name, and reports an error service unavailable, status=503
MySQL error warning: a long semaphore wait
(the first set of course design) 1-4 message passing interface (100 points) (simulation: thread)
2021.11.10 compilation examination
程序设计大作业:教务管理系统(C语言)
(课设第一套)1-5 317号子任务 (100 分)(Dijkstra:重边自环)
[899]有序队列
MySQL時間、時區、自動填充0的問題
ESP8266连接onenet(旧版MQTT方式)
2022.2.12 resumption
Basic operations of databases and tables ----- classification of data
FairyGUI复选框与进度条的组合使用
MySQL takes up too much memory solution
Basic operations of databases and tables ----- creating data tables
Acwing-116 pilot brother