Нарисовать изображение в cocos2d

У меня есть основная функция, где я рисую фон:

-(id) init
{
    if( (self=[super init])) {

        CGSize size = [[CCDirector sharedDirector] winSize];

        CCSprite * background = [CCSprite spriteWithFile:@"backg.png"];

        background.anchorPoint = ccp(1, 1);

        background.position = ccp(size.width, size.height);
        [self addChild:background z:-1];

        self.isTouchEnabled = YES;
    }
    return self;
}

и функция, где я получаю прикосновение, а затем имею логику для программы. Но я не знаю, как я могу рисовать от нее.

- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {


    int a[3][3],fail,hod,i,k,win,x,y;

    for(i=1; i<=3; i++)
    {
        for(k=1; k<=3; k++)
        {
            a[i][k]=0;
        }
    }

    win=0;
    hod=1;

    while(win==0)
    {
        if(hod%2==1)
        {
            UITouch *touch = [touches anyObject];
            CGPoint location = [touch locationInView:[touch view]];
            location = [[CCDirector sharedDirector] convertToGL:location];
            x=location.x;
            y=location.y;
            NSLog(@"%d %d",x,y);
            //here i should draw
            hod++;
        }
    }
}

Как я могу нарисовать одно изображение из фона второй функции, которое помещается в первую функцию?


person SaxOpilatov    schedule 09.01.2012    source источник


Ответы (1)


В Cocos2D вы ничего не рисуете. Вы добавляете или удаляете узлы (спрайты, метки и т. д.). Вы можете переставить их. Вы можете изменить порядок их z, чтобы изменить, какой из них находится перед каким другим узлом. Но рисование выполняется Cocos2D внутри компании.

Конечно, есть некоторые исключения, но пользовательское рисование ограничено методом -(void) draw, и что-то подсказывает мне, что вы на самом деле не хотите начинать рисовать с помощью OpenGL.

person LearnCocos2D    schedule 11.01.2012