滚动视图需要什么?
一个Grid网格
一个Scrool Rect
一个Mask
在书第四章的音乐播放器实例中,如何修改代码,给每一个被实例化的Prefab添加一个数字ID,以达到点击相应按钮播放相应歌曲的目的。
第四章音乐播放器案例中,这段代码中的委托:
bt.GetComponent<Button>().onClick.AddListener( //给实例化的按钮添加监听
delegate () //委托
{
this.onListElementBtnClick(bt); //添加一个带有“GameObject”参数类型的监听
});
到底是什么意思呢?是封装方法?可是为什么要这么封装方法呢?为什么不直接:
bt.GetComponent<Button>().onClick.AddListener( //给实例化的按钮添加监听
this.onListElementBtnClick(bt));
//添加一个带有“GameObject”参数类型的监听
啊,为什么啊。。。
___________________2017/10/24更新_________________________
解答上面的问题:如果传给AddListener()的是带参数的方法,那么就必须要用到delegate(){}将这个带参数的方法传递给AddListener();如果不是一个带参数的方法,可以通过.AddListener(this,onListElementBtnClick);的方式来写。
那么这是为什么呢?
第四章学完之后遗留下来的问题:
在音乐播放器这个案例中,怎样给实例化的Prefab们添加一个可识别的数字ID,以此来实现一个真正的音乐播放器即点击相应的按钮时会播放相应的音乐。