开发了一个日历控件,在unity3d里面使用。使用方法如下:
首先写一个回调函数,函数参数为DateTime类型,当日历控件关闭时,选择的时间信息作为这个参数传入到这个回调函数,函数例子如下:
void SetBeginTime(DateTime dateTime)
{
_beginTimeLabel.text = dateTime.ToString("yyyy-MM-dd");
}
调用就非常简单了,如下:
calendarObj.SetActive(true);
Calendar calendar = _calendarObj.GetComponent();
calendar.callBack = SetBeginTime;
当你在设置了时间之后,会自动回调这个回调函数。
Calendar类和相对应的GameObject我放在我的资源里面了。
-------------------------------------- 分割线 --------------------------------------------
使用的简单教程:
1. 由于我之前的疏忽,需要再次下载我新上传的unitypackage文件(不需要积分了),配合之前资源里面的c sharp文件使用
2. 导入ngui到工程,版本不能太低,我使用的是3.6.8的版本。
3. 导入Calendar.unitypackage文件。
4. 新建Scripts文件夹,将Calendar.cs文件放到里面。project里面资源应该和以下类似:
5. 创建一个ngui的ui root,然后拖动Calendar的prefab到下面,如下所示
6. 补全Calendar的所有altas,应该有Background,BtnX,X,YearPageCtrl和MonthPageCtrl里面的Home,Prev,Next,End,Dates/Item1/Btn Valid,BtnOk,BtnReset等。
使用ngui默认的就可以,随表挑选一些,熟悉了之后可以用自己的资源替换。补全之后场景里面显示大致如下:
7. 定位到Calendar物体上,在脚本处显示丢失了脚本,将Scripts下面的calendar.cs拖上去就行了。
8. 运行,结果如下: