0
我想在屏幕的上半部分使用CCLabelTTF,同時使用ccDrawLine在下半部分繪製一條線。當應用程序啓動時,標籤是空的,過一段時間後,它會更新一些文本。該生產線正在不斷繪製在抽籤方式類似:Cocos2d,iOS 7.1:CCLabelTTF隱藏ccDrawLine
- (void)draw {
ccDrawColor4B(0, 255, 0, 0);
glLineWidth(40.0f);
ccDrawLine(ccp(0, 0), ccp(200, 200));
}
事情是,第二個是標籤與文字更新,實際上顯示的東西,該行將消失,不會再次繪製,即使標籤轉爲空再次。我目前沒有使用任何背景,所以沒有隱藏它。我嘗試過玩zOrders(儘管標籤和線條位於屏幕的不同區域),並且線條消失。我甚至嘗試用init和draw方法創建一個CCSprite子類,並用它來畫線。這是我在這個班:
@implementation DrawingSprite
- (id)init {
if (self = [super init]) {
}
return self;
}
- (void)draw {
ccDrawColor4B(0, 255, 0, 0); //Color of the line RGBA
glLineWidth(40.0f); //Stroke width of the line
ccDrawLine(ccp(0, 0), ccp(200, 200));
}
@end
這裏就是我添加到我的主層:
_topLabel = [CCLabelTTF labelWithString:@"" fontName:@"Helvetica" fontSize:24];
_topLabel.position = ccp(winSize.width/2, winSize.height - 100);
_topLabel.color = ccc3(255,255,255);
_topLabel.zOrder = -1;
[self addChild:_topLabel];
_drawingSprite = [DrawingSprite node];
_drawingSprite.zOrder = 10;
[self addChild:_drawingSprite];
我缺少什麼?
我嘗試過,但調用[超級繪畫]似乎沒有改變任何東西。該線被繪製,但隨着標籤開始顯示文本而消失。 –
您可以發佈實施嗎?在哪裏更改標籤內容?你有沒有附屬於_drawingSprite的孩子?我在Cocos2d v3.0中實現了你的代碼。當我通過'CCLabelTTF'的setString'方法每次點擊改變標籤的文本時,它都可以正常工作。沒有'[超級抽獎];' – pmpod
好了,那很奇怪。我實際上已經嘗試從_drawingSprite中的draw方法再次調用[super draw],並且它確實有效。我想我對我的一些其他試驗和錯誤感到困惑。謝謝! –