小怪物重制计划第二天

来源:互联网 发布:mac化妆品是几线品牌 编辑:程序博客网 时间:2024/05/02 04:33

今天的目标是先完成昨天的工作,把项目在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文件。

今天就到这里了~~回顾了一下自己写的采矿模式和其他内容~


0 0