Нарисовать линию в границах CCSprite cocos2d

Я разрабатываю игру в cocos2d, которая содержит CCSprite фигур яблока, манго и банана. Теперь я хочу, чтобы пользователь рисовал линию (я думаю, через CCMoionStreak) в выбранном CCSprite (яблоко, манго или банан).

У меня ниже вопрос:

Как я могу добиться этой функциональности линии рисования? Поскольку пользователь может рисовать только в выбранной форме.

Пожалуйста, помогите мне. Спасибо


person Kashif Ilyas    schedule 11.01.2013    source источник


Ответы (2)


Я не уверен, правильно ли я вас понял, но я думаю, что вы могли бы использовать что-то вроде этого:

-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    CGPoint location = [touch locationInView: [touch view]];
    location = [[CCDirector sharedDirector]convertToGL:location];
    if (CGRectContainsPoint(sprite rect, location))
    {
     do your drawing
     }
}
person Maciej Chrzastek    schedule 12.01.2013

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

В любом случае используйте ccDrawline между этими точками.

person Pat    schedule 28.02.2013