-3

昨日投稿した問題がありましたが、それは私が推測する本当の問題ではありませんでした。最初のNSLOGを実行すると、配列の長さが3であることがわかります。次に、オブジェクトSnake(2つの配列を含み、CCSpriteのサブクラス)を配列本体に追加しました。次に、常に同じinitで、最初の2つと同じ最後の2つのNSLOGから、2つの配列の長さが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]);
4

1 に答える 1

0

私はそれを自分で見つけました。私は行を変更しました:

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

に:

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

spriteWithFile は初期化のようなものなので、ヘビの配列を消去していたようです。

于 2013-01-14T22:54:44.160 に答える