2013-03-18 23 views
5

tôi sửa đổi ví dụ tiêu chuẩn "Hello World":cocos2d. Trộn đúng?

 CCSprite *sprite = [CCSprite spriteWithFile:@"Untitled-1.png"]; 
     CGSize winSize = [CCDirector sharedDirector].winSize; 
     sprite.position = ccp(winSize.width/2, winSize.height/2); 
     [label setBlendFunc:(ccBlendFunc){GL_ZERO, GL_SRC_ALPHA}]; 
     [label setColor:ccBLACK]; 
     [sprite addChild:label]; 
     [self addChild:sprite]; 

tôi nhận:

image enter image description here

Làm thế nào để xóa/cắt một nền xung quanh "Hello World" nhãn?

+0

bạn đang cố gắng đạt được điều gì? với {GL_ZERO, GL_SRC_ALPHA} bạn nhân màu nền với alpha nguồn và không vẽ màu nguồn, điều này dẫn đến màu đen ở đó nguồn alpha là 0 và màu nền nơi nguồn mờ. – Kreiri

+2

Tôi muốn có được một phông chữ gradient và tôi không thể cho phép bản thân mình để mua một cái gì đó giống như biên tập glyph. – user2083364

Trả lời

3

giải pháp hiện tại của tôi là để init CCLabelTTF một cái gì đó như thế này:

CCLabelTTF *label = [CCLabelTTF labelWithString:@"Hello World" fontName:@"Marker Felt" fontSize:64 dimensions:size hAlignment:kCCTextAlignmentCenter vAlignment:kCCVerticalTextAlignmentCenter]; 

trong đó kích thước là [CCDirector sharedDirector] .winSize cho examle tôi.

bất kỳ đề xuất nào khác được chào đón

+0

giải pháp này hoạt động hoàn hảo chỉ trong 2 lớp, nhưng xóa lớp thứ ba và các lớp khác. Nó có nghĩa là khu vực xung quanh nhãn màu đen, không trong suốt – user2083364