当前位置:网站首页>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
边栏推荐
- Classification, understanding and application of common methods of JS array
- Basic operations of databases and tables ----- view data tables
- Basic operations of databases and tables ----- modifying data tables
- [leetcode622] design circular queue
- [Leetcode15]三数之和
- (the first set of course design) sub task 1-5 317 (100 points) (dijkstra: heavy edge self loop)
- Pytorch: tensor operation (I) contiguous
- Unity3D摄像机,键盘控制前后左右上下移动,鼠标控制旋转、放缩
- 单片机蓝牙无线烧录
- [leetcode15] sum of three numbers
猜你喜欢
2021.11.10 compilation examination
CUDA C programming authoritative guide Grossman Chapter 4 global memory
Pat 1097 duplication on a linked list (25 points)
Redis based distributed ID generator
idea问题记录
JS 函数提升和var变量的声明提升
idea中导包方法
Single chip Bluetooth wireless burning
Arduino uno R3 register writing method (1) -- pin level state change
Derivation of logistic regression theory
随机推荐
Arduino uno R3 register writing method (1) -- pin level state change
Talking about the startup of Oracle Database
程序设计大作业:教务管理系统(C语言)
Conditional probability
C programming exercise
(5) Introduction to R language bioinformatics -- ORF and sequence analysis
Remember an experience of ECS being blown up by passwords - closing a small black house, changing passwords, and changing ports
Page performance optimization of video scene
[offer18] delete the node of the linked list
2022.2.12 resumption
Office提示您的许可证不是正版弹框解决
CUDA C programming authoritative guide Grossman Chapter 4 global memory
(3) Introduction to bioinformatics of R language - function, data Frame, simple DNA reading and analysis
2021.11.10汇编考试
记一次云服务器被密码爆破的经历——关小黑屋、改密码、改端口
Esp8266 connects to onenet cloud platform (mqtt) through Arduino IDE
Solution to the problem of automatic login in Yanshan University Campus Network
Esp8266 connect onenet (old mqtt mode)
[leetcode19]删除链表中倒数第n个结点
1041 be unique (20 points (s)) (hash: find the first number that occurs once)