首次提交
This commit is contained in:
63
Assets/Plugins/FairyGUI/Examples/LoopList/LoopListMain.cs
Normal file
63
Assets/Plugins/FairyGUI/Examples/LoopList/LoopListMain.cs
Normal file
@@ -0,0 +1,63 @@
|
||||
using UnityEngine;
|
||||
using FairyGUI;
|
||||
|
||||
public class LoopListMain : MonoBehaviour
|
||||
{
|
||||
GComponent _mainView;
|
||||
GList _list;
|
||||
|
||||
void Start()
|
||||
{
|
||||
Application.targetFrameRate = 60;
|
||||
Stage.inst.onKeyDown.Add(OnKeyDown);
|
||||
|
||||
UIPackage.AddPackage("UI/LoopList");
|
||||
|
||||
_mainView = this.GetComponent<UIPanel>().ui;
|
||||
|
||||
_list = _mainView.GetChild("list").asList;
|
||||
_list.SetVirtualAndLoop();
|
||||
|
||||
_list.itemRenderer = RenderListItem;
|
||||
_list.numItems = 5;
|
||||
_list.scrollPane.onScroll.Add(DoSpecialEffect);
|
||||
|
||||
DoSpecialEffect();
|
||||
}
|
||||
|
||||
void DoSpecialEffect()
|
||||
{
|
||||
//change the scale according to the distance to middle
|
||||
float midX = _list.scrollPane.posX + _list.viewWidth / 2;
|
||||
int cnt = _list.numChildren;
|
||||
for (int i = 0; i < cnt; i++)
|
||||
{
|
||||
GObject obj = _list.GetChildAt(i);
|
||||
float dist = Mathf.Abs(midX - obj.x - obj.width / 2);
|
||||
if (dist > obj.width) //no intersection
|
||||
obj.SetScale(1, 1);
|
||||
else
|
||||
{
|
||||
float ss = 1 + (1 - dist / obj.width) * 0.24f;
|
||||
obj.SetScale(ss, ss);
|
||||
}
|
||||
}
|
||||
|
||||
_mainView.GetChild("n3").text = "" + ((_list.GetFirstChildInView() + 1) % _list.numItems);
|
||||
}
|
||||
|
||||
void RenderListItem(int index, GObject obj)
|
||||
{
|
||||
GButton item = (GButton)obj;
|
||||
item.SetPivot(0.5f, 0.5f);
|
||||
item.icon = UIPackage.GetItemURL("LoopList", "n" + (index + 1));
|
||||
}
|
||||
|
||||
void OnKeyDown(EventContext context)
|
||||
{
|
||||
if (context.inputEvent.keyCode == KeyCode.Escape)
|
||||
{
|
||||
Application.Quit();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bab7cb69f587250498d0079f0e323fb0
|
||||
timeCreated: 1456388407
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user