码迷,mamicode.com
首页 > 其他好文 > 详细

NGUI ScrollView动态添加Item(不用GameObject.Find()去查找需要动态改变的游戏对象)

时间:2014-08-28 13:12:59      阅读:645      评论:0      收藏:0      [点我收藏+]

标签:des   style   http   使用   strong   ar   数据   art   问题   

借鉴网上的提示,但具体的网址忘记保存了,因此无法放在这里!如需要注明出处,请联系本人。

PS:网上说的不够详细,自己敲了下代码实现并整理了一下。

下面我用UITable组件而不是UIGrid来排序Item

将Item做成预设体,如下图中的3:QuestLog(此GO对应官方的例子中的QuestLog) 

 bubuko.com,布布扣

在预置体QuestLogPrefab中的GO对象QuestLog上挂脚本,如上图中1:脚本命名为QuestLogPrefab(当然类名也一样),然后在脚本里声明你需要动态改变数据的GO,记得需要public(在编辑器才可见),如上述图中的MTitle Label、MCount Label等等(分别对应以下脚本中的变量)

 bubuko.com,布布扣 

然后程序启动之后,上述的MTitle Label、MCount Label等等这些会start()之前被初始化好(因为已经在编辑器里面做好绑定了) 

加载预设体之后,根据对应的类名QuestLogPrefab来获取脚本中的变量(这样的好处当然就是不需要使用GameObject.Find()去查找GO啦!!!):

 bubuko.com,布布扣

之后,见上图中2的QuestLog(是一个GameObject)

 bubuko.com,布布扣

其类中有mTestUITableGO(就是预设体Item的父对象QuestLog)、mTestUITable两个public成员变量,在其脚本中

 bubuko.com,布布扣 

btw,动态删除,可以先使用UITable中的移除Item方法(名字忘记了-_-!),接着用Destroy销毁Load进来的与预设体Item(PS:如果你的应用会经常动态创建Item以及删除Item,那么最好还是做一个回收池吧:将预设体移除之前重置一下,移除之后保存在list中,需要的时候就去list中拿,若list为空的话就load预设体Item。)

PS:敲字的时候没校对,若有错误或其他的待改善等问题,请指出,不胜感激!

End: 转载请注明出处!

NGUI ScrollView动态添加Item(不用GameObject.Find()去查找需要动态改变的游戏对象)

标签:des   style   http   使用   strong   ar   数据   art   问题   

原文地址:http://www.cnblogs.com/dove11kiss/p/3941365.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!