在cocos2d-x中集成了一些扩展插件,这些引用文件都可以在cocos2d-x目录下的extentions下找到,其中常用的scrollView和tableView的引用文件在GUI目录下。scrollView常用于大尺寸图片或者大区域无限制地显示内容(也就是说不需要对齐内容),tableView常用于大量数据的排列展示,特别是需要一些对齐格式的内容,其中scrollView只在cocosbuilder示例里展示了,但因为引用的是cocosbuilder生成的外部数据,所以没有具体的示例参考。要说cocosbuilder的话,它是一个可视化的编辑器,就如同上个月出的cocostudio一样,可以通过这样的编辑器编辑场景,然后生成一个包含了场景信息的文件,供cocos2d读取并引用,这些工具就不说了,现在cocostudio还不成熟,想了解的话可以自己去这个网址下来用下,已经有些教程了:http://www.cocostudio.org/
由于扩展的控件调用的都是lib库,所以,在使用之前,必须将库与项目关联起来,所以需要右击工程项目->属性->链接器->输入->附加依赖项,然后手动在列表里输入库的名称,这里要用到的是libExtensions.lib,如果还缺少其它的库就自己看下差哪个加上就行……要不然编译的时候很可能出现错误。
scrollView继承的是CCLayer,用的时候需要一个容器,在最近的版本里,scrollView的处理已经“自动化”,可以说是被当作一个精灵直接装载入容器再被加入到场景中来使用的,最方便的方式是按照官方原例中tableView的方式来载入,即创建这个作为窗口的层时同时加载scrollView进入这个层,并让这个层作为scrollView的代理,看下面的代码:
class testScrollView:public cocos2d::CCLayer, public cocos2d::extension::CCScrollViewDelegate{
public:
virtual bool init();
CREATE_FUNC(testScrollView);
virtual void scrollViewDidScroll(cocos2d::extension::CCScrollView* view) {};
virtual void scrollViewDidZoom(cocos2d::extension::CCScrollView* view) {}
cocos2d::extension::CCScrollView* tScrollView;
};
<