因为官方没有提供CCScrollView的例子,所以我简单的总结了一下CCScrollView的使用,以供像我这样的新手在初学的时候参考。
一、创建
2.1.0下的能用的创建CCScrollView的方法有四种,但是有两种不推荐使用 剩下两种,写法虽有区别,但是归纳起来,使 CCScrollView 能正常工作的要素就三个。一、创建一个 CCScrollView 的实例;二、设置容器大小(内容尺寸);三、设置显示(可视)范围。第一、二点是必须的,第三点视使用的创建方法不同,不需要单独写。举例如下: setContentSize 是必须的步骤,不然会导致 CCScrollView 不能滚动。
二、容器
CCScrollView在工作的时候需要用到一个容器来装所有可以滚动的内容物,即滚动层。默认会自行创建CCLayer的实例作容器,容器的锚点设置在左下角。 但是如果你需要用其他容器的话,你可以在create的时候自行指定。比如用CClayerColor 也可以使用 CCScrollView::setContainer 替换现有的容器。用CCScrollView::getContainer可以获得容器的指针。
三、容器大小(内容尺寸)和 显示(可视)范围
举个例子,好比你透过窗户去看风景,你一眼能看到多少取决于窗户有多大,这里窗户的大小就是可视范围。假设你和窗户是不能移动的,如果你想看到其他不在可视范围内的部分,就需要 CCScrollView 来帮你移动风景,容器的大小就是风景的大小,也就是风景的尺寸。
再比如有一张1000*1000像素的图片,设定100*100的可视范围,你每次只能看到百分之一的范围,但是通过移动图片的位置,你能看全整张图片。1000*1000就是内容尺寸,100*100就是显示范围。
将一个大的范围遮起来,只露一个小窗口,但是允许你一点一点的滚动,这就是 CCScrollView 的工作。
四、内容物
CCScrollView 重载了AddChild,使得非容器本身的元素都会添加到容器上,并且设置内容物的锚点为左下角。 所以 scrollView->AddChild() 和 scrollView->getContainer()->AddChild(),除了锚点上有差别外,其他的功能应该是一样的。
五、滚动方向
CCScrollView在创建的时候,默认是允许横向和纵向都可以滚动的。 如果你想限制滚动的方向,可以用 setDirection 来设置。kCCScrollViewDirectionHorizontal是允许横向滚动,kCCScrollViewDirectionVertical是允许纵向滚动。
一、创建
2.1.0下的能用的创建CCScrollView的方法有四种,但是有两种不推荐使用 剩下两种,写法虽有区别,但是归纳起来,使 CCScrollView 能正常工作的要素就三个。一、创建一个 CCScrollView 的实例;二、设置容器大小(内容尺寸);三、设置显示(可视)范围。第一、二点是必须的,第三点视使用的创建方法不同,不需要单独写。举例如下: setContentSize 是必须的步骤,不然会导致 CCScrollView 不能滚动。
二、容器
CCScrollView在工作的时候需要用到一个容器来装所有可以滚动的内容物,即滚动层。默认会自行创建CCLayer的实例作容器,容器的锚点设置在左下角。 但是如果你需要用其他容器的话,你可以在create的时候自行指定。比如用CClayerColor 也可以使用 CCScrollView::setContainer 替换现有的容器。用CCScrollView::getContainer可以获得容器的指针。
三、容器大小(内容尺寸)和 显示(可视)范围
举个例子,好比你透过窗户去看风景,你一眼能看到多少取决于窗户有多大,这里窗户的大小就是可视范围。假设你和窗户是不能移动的,如果你想看到其他不在可视范围内的部分,就需要 CCScrollView 来帮你移动风景,容器的大小就是风景的大小,也就是风景的尺寸。
再比如有一张1000*1000像素的图片,设定100*100的可视范围,你每次只能看到百分之一的范围,但是通过移动图片的位置,你能看全整张图片。1000*1000就是内容尺寸,100*100就是显示范围。
将一个大的范围遮起来,只露一个小窗口,但是允许你一点一点的滚动,这就是 CCScrollView 的工作。
四、内容物
CCScrollView 重载了AddChild,使得非容器本身的元素都会添加到容器上,并且设置内容物的锚点为左下角。 所以 scrollView->AddChild() 和 scrollView->getContainer()->AddChild(),除了锚点上有差别外,其他的功能应该是一样的。
五、滚动方向
CCScrollView在创建的时候,默认是允许横向和纵向都可以滚动的。 如果你想限制滚动的方向,可以用 setDirection 来设置。kCCScrollViewDirectionHorizontal是允许横向滚动,kCCScrollViewDirectionVertical是允许纵向滚动。