Cocos2d iphone 创建表格可以在cocos2d中滚动

Cocos2d iphone 创建表格可以在cocos2d中滚动,cocos2d-iphone,Cocos2d Iphone,如何创建一个表格来显示高分,它有2列或3列(或表格),可以向左或向右滚动,如: 我找不到任何关于这方面的教程或示例,请帮助我 程序 ScrollView对象的API与UIKit的API非常相似 它的基本思想是将所有内容放在希望滚动的CCNode上。(您应该确保节点的contentSize是所需可滚动区域的精确大小) 构建此节点后,您可以将其设置为CCScrollViews内容节点。 请注意,contentNode必须是CCScrollView的子节点,如果使用setter,则会自动添加该子节点

如何创建一个表格来显示高分,它有2列或3列(或表格),可以向左或向右滚动,如:

我找不到任何关于这方面的教程或示例,请帮助我

程序
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的视觉效果,例如,您可以在其中拖放滚动视图;一旦你习惯了可可豆,它就可以真正节省时间
  • 在我的示例代码中,我已经手动设置了框的位置。您可以而且应该使用
    CCLayoutBox
    对象避免这种情况,您也可以在Sprite Builder中设置这些对象(将其视为一维集合视图)

您也在使用SpriteBuilder吗?我在使用cocos2d v3 RC2
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];