CCTableView与cocos2d 3.0

时间:2014-02-27 00:32:22

标签: cocos2d-iphone

我正在尝试让CCTableView使用cocos2d 3.0,但我真的不知道从哪里开始。有没有人有一个很好的教程或3.0的任何东西?我看到有一些旧版本的cocos2d但没有3.0版本。任何帮助表示赞赏!谢谢!

2 个答案:

答案 0 :(得分:5)

这是一个简短的样本。我建议你自己尝试编写一些代码,然后发布你遇到的问题。它绝对可以让您更轻松地回答问题。如果需要,您还可以创建自己的CCTableViewCell子类。

Header文件,SampleTableView.h

#import "cocos2d.h"
#import "cocos2d-ui.h"

@interface SampleTableView : CCNode <CCTableViewDataSource>
@end

源文件:SampleTableView.m

float const kNumberOfRows = 30.0f;

@implementation SampleTableView

- (instancetype)init
{
    self = [super init];
    if (self) {
        CCTableView* table = [CCTableView node];
        table.dataSource = self; // make our class the data source
        table.block = ^(CCTableView* table) {
            NSLog(@"Cell %d was pressed", (int) table.selectedRow);
        };
        [self addChild:table];
    }
    return self;
}

- (CCTableViewCell*) tableView:(CCTableView*)tableView nodeForRowAtIndex:(NSUInteger) index {
    CCTableViewCell* cell = [CCTableViewCell node];
    cell.contentSizeType = CCSizeTypeMake(CCSizeUnitNormalized, CCSizeUnitUIPoints);
    cell.contentSize = CGSizeMake(1.0f, 32.0f);
    float colorFactor = (index / kNumberOfRows);
    // Just a sample node that changes color with each index value
    CCNodeColor* colorNode = [CCNodeColor nodeWithColor:[CCColor colorWithRed:colorFactor green:(1.0f - colorFactor) blue:(0.2f + 0.5 * colorFactor) ] width:100.0f height:18.0f];
    [cell addChild:colorNode];
    return cell;
}

- (NSUInteger) tableViewNumberOfRows:(CCTableView*) tableView {
    return kNumberOfRows; // just a demo
}

如何在你好的世界场景或其他地方添加它:

SampleTableView* table = [SampleTableView node];
table.contentSizeType = CCSizeTypeNormalized;
table.contentSize = CGSizeMake(1.0, 1.0);

以下是它的样子截图: SampleScreenshot

答案 1 :(得分:0)

您应该查看cocos2d源代码中的cocos2d-tests-ios.xcodeproj。 它包含了cocos2d中实现的所有内容的示例,包括CCTableView示例。

https://github.com/cocos2d/cocos2d-iphone

  1. git clone cocos2d source。
  2. 打开 cocos2d-tests-ios.xcodeproj 项目,构建/运行 cocos2d-tests-ios 目标。