今天的目标是先完成昨天的工作,把项目在xcode上跑起来,然后开始添加c++和JS的绑定部分。
这一部分完成之后,先尝试做一个游戏关卡。
tip:因为cocos2d库是自己导入的,所以framework setting和head setting都要自己加上。
加入项目中的引用库cocosDenshion只用其中的include和iOS文件夹就可以了,加入其他的文件夹会因头文件找不到而报错。
因为收到了面试通知,所以今天的计划改变了,下午的时间都用来复习c++的相关知识点。晚上开始熟悉项目结构。
再次体会到这个项目里真的涉及到了很多复杂的东西啊,绝对要用很多很多的时间来学习!
===============================
重要的窗口控制,GUIWindow部分。
这个父类主要负责:
1.提供子类的基本接口,包括open\close\noticeOpen\noticeClose\active等等;
2.里面包括一个windowLayer成员变量,在这之上加载所有的页面元素。
3.负责把这个layer显示出来,并且加载到当前的scene上。
4.把自身注册到GUIWindowManager类中,卸载同理。并且触发管理类中的提示其他页面该页面的开启动作功能。
GUIWindowManager窗口管理类:
1.提供一个窗口队列,以窗口描述字符串为索引,存储所有打开的窗口;
2.新的窗口打开或卸载的事件发生时,遍历窗口队列并逐个触发反应事件。
3.处理一些active\login之类的事件。
为了处理多重窗口间的触摸优先级问题,建立了GUIPopupWindow,继承于GUIWindow。
这里其实主要的修改是Window里的Layer,这里写了一个专用的PopupLayer,处理了里面的registerTouchHandle方法,直接用最高优先级注册。
================================
消除算法的核心是使用DestoryRule,判断四个方向的连续可消除对象长度,然后返回消除结果,再按照这个结果,做剩下的动画,Obj销毁,砖块掉落生成等操作。
序列动画和图片资源同理,都是先把合图和plist添加到缓存,动画需要额外的将动画名称和帧数进行注册,存到一个动画队列里,之后只需从动画队列里读出序列帧,再创建动画即可。
骨骼动画需要加载xml文件。
今天就到这里了~~回顾了一下自己写的采矿模式和其他内容~