#objective-c #ios #quartz-graphics
#objective-c #iOS #quartz-графика
Вопрос:
Я рисую линию на iOS, проводя контур на CALayer. Как я могу обвести эту линию с увеличением ширины линии (ширины обводки), чтобы левый конец линии был тоньше правого конца? (Это действительно должна быть линия, а не фигура или замкнутый контур, поскольку я собираюсь использовать свойство strokeEnd .)
Спасибо за вашу помощь!
Ответ №1:
Используйте функцию рисования. Поначалу к этому довольно неприятно привыкать, но оно выполняет свою работу. Если вам нужна дополнительная помощь, просто оставьте комментарий
-(void)draw{
float lineHeight = 5;//change this as you see fit, like set it equal to an incrementing/decrementing variable of your choice...
glEnable(GL_LINE_SMOOTH);
glLineWidth(lineHeight); // change this as you see fit
glColor4ub(255,255,255,255); // change these as you see fit :)
ccDrawLine(ccp(10,310), ccp(30,310)); // these numbers are probably off, you'll have to mess with these to get it in the right position :)
[super draw];
}
Комментарии:
1. Правильно ли я думаю, что это как-то связано с cocos2D? Я использую QuartzCore CALayer / CAShapeLayer, а не CCLayer..
2. О, черт, извините, для этого вам может понадобиться cocos2d … извините, я думал, что это часть xcode.
3. Есть ли другое возможное решение, помимо использования cocos2D?
4. Hrm… вы могли бы установить ширину в переменную, которая изменяется с помощью NSTimer.