【问题标题】:Cocos2d objective-c can't find object in Array [closed]Cocos2d Objective-c在数组中找不到对象[关闭]
【发布时间】:2013-01-14 03:26:21
【问题描述】:

好的,我昨天发布了一个问题,我猜这不是真正的问题。问题是,当我执行第一个 NSLOG 时,它显示数组长度为 3。然后我将对象 Snake(它包含两个数组并且是 CCSprite 的子类)添加到数组主体。然后,总是在同一个init中,最后两个NSLOG,和前两个一样,告诉我我的两个数组现在长度为0。我不明白这是怎么回事。请帮忙!

-(id)init{
if ((self = [super initWithColor:ccc4(255, 255, 255, 255)] ))
{
    SnakePart * snake;
    snake = [[SnakePart alloc]init];

    body = [[NSMutableArray alloc] init];
    NSLog(@"Grandeur du tableau : %i", [[snake arrayOfDirectionChangingPoint] count]);
    NSLog(@"Grandeur du tableau : %i", [[snake arrayOfPartDirection] count]);

    CGSize winSize = [[CCDirector sharedDirector] winSize];
    direction = HAUT;

    snake = [SnakePart spriteWithFile:@"snakeMainSquare.png"];
    snake.position = ccp(winSize.width/2, winSize.height/2 - 75);
    [self addChild:snake];
    [body addObject:snake];

    [self addBodyPart:snake.position.x :(snake.position.y - (snake.contentSize.height * (body.count)))];
    [self addBodyPart:snake.position.x :(snake.position.y - (snake.contentSize.height * (body.count)))];

    SnakePart* head = ((SnakePart*)body[0]);

    NSLog(@"Grandeur du tableau : %i", [[head arrayOfDirectionChangingPoint] count]);
    NSLog(@"Grandeur du tableau : %i", [[head arrayOfPartDirection] count]);

【问题讨论】:

  • 您需要稍微格式化一下并提供更多代码;数组初始化的地方等等。

标签: objective-c object cocos2d-iphone nsmutablearray add


【解决方案1】:

我自己发现的。我换了行:

snake = [SnakePart spriteWithFile:@"snakeMainSquare.png"];

到:

[snake setTexture:[[CCTextureCache sharedTextureCache] addImage:@"snakeMainSquare.png"]];

我猜 spriteWithFile 有点像擦除我的蛇数组,因为它就像一个 init。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 2016-06-09
    • 1970-01-01
    • 2014-06-06
    相关资源
    最近更新 更多