Я действительно схожу с ума, пытаясь понять это, поэтому любая помощь будет очень признательна.Я пытаюсь скрыть большую часть спрайта и показывать это постепенно.Это прекрасно работает, если я работаю только с прямоугольниками.Например, я нашел чью-то реализацию класса «ClippingNode», и она хорошо работала, а именно, эта часть кода:
-(void) visit
{
glPushMatrix();
glEnable(GL_SCISSOR_TEST);
glScissor(clippingRegion.origin.x + positionInPixels_.x, clippingRegion.origin.y + positionInPixels_.y, clippingRegion.size.width, clippingRegion.size.height);
[super visit];
glDisable(GL_SCISSOR_TEST);
glPopMatrix();
}
Проблема в том, что мне нужна неправильная форма, а не просто прямоугольник.Я надеялся, что смогу связывать вызовы с glScissor и создавать фигуру с множеством меньших прямоугольников, но, к сожалению, glScissor работает только один раз (последний раз, когда он вызывался).
Кажется, что cocos2d не поддерживает трафаретный буфер OpenGLs(не так ли?), и даже если бы это было так, я нахожу OpenGL настолько трудным для понимания, что мне все равно нужен кто-то, чтобы объяснить это мне.Если бы я мог установить путь Безье на спрайте в качестве маски (что, я думаю, вы можете сделать в Кварце), это было бы здорово, но не похоже, что это поддерживается.
Пожалуйста, если у кого-то естьхоть немного мудрости, это было бы здорово!