对list.lua不熟悉的可以参考http://blog.csdn.net/Jason_520/article/details/54238020
UI监听事件http://blog.csdn.net/jason_520/article/details/54233497
效果大概就是这样:
运行游戏,点击显示面板按钮,显示另一个面板,并且读取资源显示对应内容。
附上lua代码:
--UITranScript.lua
UITranScript =
{
gameObject = "0",
data = 0,
};
UITranScript.__index = UITranScript
function UITranScript:new(gameObject, data)
local o = {};
setmetatable(o,self);
o.gameObject = gameObject;
o.data = data;
return o;
end
--TranScriptInfo.lua
TranScriptInfo =
{
id = "0",
areaName = "0",
scriptName = "0",
scriptIcon = "0",
scriptTable = "0",
scriptScene = "0"
};
TranScriptInfo.__index = TranScriptInfo
function TranScriptInfo:new(id,areaName,scriptName,scriptIcon,scriptTable,scriptScene)
local o = {};
setmetatable(o,self);
o.id = id;
o.areaName = areaName;
o.scriptName = scriptName;
o.scriptIcon = scriptIcon;
o.scriptTable = scriptTable;
o.scriptScene = scriptScene;
return o;
end
--SelectTranScriptPanel.lua
require "Logic/UITranScript"
require "Common/define"
require "UnityEngine/Vector2"
require "Controller/SelectTranScriptCtrl"
local gameObject;
local transform;
SelectTranScriptPanel = {};
local this = SelectTranScriptPanel;
local SelectTranScriptCtrl=SelectTranScriptCtrl.New();
function SelectTranScriptPanel.Awake(obj)
this.CreatePanel();
end
function SelectTranScriptPanel.Start(obj)
end
function SelectTranScriptPanel.CreatePanel()
resMgr:LoadPrefab('selecttranscript',{
'_selectTranScriptPanel'},this.OnLoadFinish);
end
function SelectTranScriptPanel.OnLoadFinish(objs)
local go=GameObject.Instantiate(objs[0]);
gameObject = go;
transform = go.transform;
local parent=GameObject.Find("Canvas");
go.transform:SetParent(parent.transform);
go.transform:GetComponent("RectTransform").anchoredPosition = Vector2.New(0,0);
go.transform:GetComponent("RectTransform").sizeDelta = Vector2.New(0,0);
go.transform:GetComponent("RectTransform").localScale = Vector3.New(1,1,1);
Util.Log("Finish");
this.InitPanel();
end
function SelectTranScriptPanel.InitPanel()
--this.btnClose = transform:FindChild("Close").gameObject;
--此时key默认从1开始递增
SelectTranScriptPanel.Sprites =
{
UITranScript:new(transform:FindChild("panel/TranScript").gameObject,0),
UITranScript:new(transform:FindChild("panel/TranScript2").gameObject,0),
UI