一、前言
(1) 人物角色制作
(2) 地面制作
(3) 游戏结束和重新开始
(4) 金币创建与吃金币
(5) UI制作与完善
二、制作游戏UI界面预设
制作主界面预设
三、事件管理器
为了方面逻辑与UI之间的控制,制作一个事件管理器,通过事件来降低逻辑与UI之间的耦合度
包括订阅事件与时间的触发,在该游戏中,订阅和触发玩家的跳跃事件以及吃金币事件,并进行注销
- 订阅事件(注册事件):
evt
为事件名,handler
为响应函数,当if (listeners.ContainsKey(evt))
时,涉及到Dispath过程中反注册问题,必须使用listeners[type]+=..
,代码如下:
public void Regist(string evt, MyEventHandler handler)
{
if (handler == null)
return;
if (listeners.ContainsKey(evt))
{
listeners[evt] += handler;
}
else
{
listeners.Add(evt, handler);
}
}
- 注销事件:
和订阅事件一样,仍需要考虑反注册的问题,同时当if (listeners[evt] == null)
时,已经没有监听者了,需要进行移除,即listeners.Remove(evt);
,代码如下:
public void UnRegist(string evt, MyEventHandler handler)
{
if (handler == null)
return;
if (listeners.ContainsKey(evt))
{
listeners[evt