2014-02-27 2 views
4

CCTableView를 cocos2d 3.0과 함께 사용하려고하는데 실제로 어디에서 시작해야할지 모르겠다. 누구든지 좋은 자습서 또는 3.0에 대한 것이 있습니까? 이전 버전의 cocos2d에는 몇 가지가 있지만 3.0에는 아무것도 없다. 어떤 도움을 주셔서 감사합니다! 감사!CCTableView with cocos2d 3.0

+2

독창적 인 답변과 스팸을 유치하는 경향이 있으므로 스택 오버플로에 대한 주제는 권장 사항이나 자습서를 찾는 것이 좋습니다. 대신 문제를 설명하고 지금까지 해결 된 문제를 설명하십시오. – LearnCocos2D

답변

5

다음은 간단한 샘플입니다. 필자는 직접 코드를 작성하고 문제를 게시하는 것이 좋습니다. 확실히 질문에 쉽게 응답 할 수 있습니다. 원하는 경우 CCTableViewCell의 자체 하위 클래스를 만들 수도 있습니다.

헤더 파일, 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

@ João Abrantes 지금까지 버튼이있는 셀에도 불구하고 나 자신을 찾지 못했습니다. scrollview가 이벤트를 삼킨 것처럼 보입니다 –

+0

@ JoãoAbrantes 셀을 눌렀을 때 블록을 포함하도록 샘플을 업데이트했습니다. 또한 TableViewCell의 치수가 올바른지 확인해야합니다. – christophercotton

0

cocos2d 소스의 cocos2d-tests-ios.xcodeproj를 확인하십시오. CCTableView 샘플을 포함하여 cocos2d에 구현 된 거의 모든 것에 대한 샘플이 있습니다.

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

  1. 자식 클론적인 Cocos2D 소스.
  2. cocos2d-tests-ios.xcodeproj 프로젝트를 열고 cocos2d-tests-ios 대상을 작성/실행하십시오.
+0

잠시만 기다려서 실제 파일을 찾았습니다. 도움이 필요하면 https://github.com/cocos2d/cocos2d-iphone/blob/v3.1/cocos2d-ui-tests/tests/ 여기를 클릭하십시오. CCTableViewTest.m – Tom