Cocos2d iphone 创建表格可以在cocos2d中滚动
如何创建一个表格来显示高分,它有2列或3列(或表格),可以向左或向右滚动,如: 我找不到任何关于这方面的教程或示例,请帮助我 程序Cocos2d iphone 创建表格可以在cocos2d中滚动,cocos2d-iphone,Cocos2d Iphone,如何创建一个表格来显示高分,它有2列或3列(或表格),可以向左或向右滚动,如: 我找不到任何关于这方面的教程或示例,请帮助我 程序 ScrollView对象的API与UIKit的API非常相似 它的基本思想是将所有内容放在希望滚动的CCNode上。(您应该确保节点的contentSize是所需可滚动区域的精确大小) 构建此节点后,您可以将其设置为CCScrollViews内容节点。 请注意,contentNode必须是CCScrollView的子节点,如果使用setter,则会自动添加该子节点
ScrollView
对象的API与UIKit
的API非常相似
它的基本思想是将所有内容放在希望滚动的CCNode
上。(您应该确保节点的contentSize
是所需可滚动区域的精确大小)
构建此节点后,您可以将其设置为CCScrollView
s内容节点。
请注意,contentNode
必须是CCScrollView
的子节点,如果使用setter,则会自动添加该子节点
通过检查CCScollView
标题中的公共API,设置其他参数,如分页、滚动或任何您喜欢的参数。如果您对如何使用其中一些工具感到困惑,请查看UIScrollView
教程
示例代码
这是我为您准备的一些示例代码。它会在屏幕上放置红色的10个红色CCNodeColor
框,您可以在其中水平滚动
CCNode*boxContainer=[CCNode];
对于(int i=0;i<10;i++)
{
CCNodeColor*colorNode=[CCNodeColor nodeWithColor:[CCColor redColor]宽度:50.0f高度:50.0f];
colorNode.position=ccp(i*60.0f,25.0f);
[BoxContainerAddChild:colorNode];
}
boxContainer.contentSize=CGSizeMake(600.0f,50.0f);
boxContainer.position=ccp(0.0f,0.0f);
boxContainer.userInteractionEnabled=是;
CCScrollView*scroll=[CCScrollView节点];
scroll.contentNode=boxContainer;
scroll.position=ccp(0.0f,-self.scene.boundingBox.size.height/2.0f);
scroll.verticalScrollEnabled=否;
[自添加子项:滚动];
请注意,y位置已翻转
奖金提示
- 您可以使用SpriteBuilder设置CoCoCos2D iphone的视觉效果,例如,您可以在其中拖放滚动视图;一旦你习惯了可可豆,它就可以真正节省时间
- 在我的示例代码中,我已经手动设置了框的位置。您可以而且应该使用
对象避免这种情况,您也可以在Sprite Builder中设置这些对象(将其视为一维集合视图)CCLayoutBox
CCNode *boxContainer = [CCNode node];
for (int i= 0; i < 10; i++)
{
CCNodeColor *colorNode = [CCNodeColor nodeWithColor:[CCColor redColor] width:50.0f height:50.0f];
colorNode.position = ccp(i * 60.0f, 25.0f);
[boxContainer addChild:colorNode];
}
boxContainer.contentSize = CGSizeMake( 600.0f, 50.0f);
boxContainer.position = ccp(0.0f, 0.0f);
boxContainer.userInteractionEnabled = YES;
CCScrollView *scroll = [CCScrollView node];
scroll.contentNode = boxContainer;
scroll.position = ccp(0.0f, -self.scene.boundingBox.size.height / 2.0f);
scroll.verticalScrollEnabled = NO;
[self addChild:scroll];