2012-09-14 7 views
0

Я создаю приложение для iPhone, используя как UIKit, так и cocos2d. Теперь, в одном из моих ViewControllers, я добавляю HelloWorldLayer в качестве подзаголовка. Это успешно добавлено.Создание CCLayer с прозрачным цветом фона

Теперь этот слой добавляется с черным цветом фона. Я хочу, чтобы его цвет фона был clearColor, именно поэтому я хочу, чтобы он был прозрачным, чтобы я мог просматривать содержимое в моем ViewController, за исключением содержимого в HelloWorldLayer.

Я знаю, как изменить цвет фона CCLayer. Я использую для этого ccc4(r, g, b, a).

Вот мой код ID:

-(id) init 
{ 
    // always call "super" init 
    // Apple recommends to re-assign "self" with the "super's" return value 
    if((self=[super initWithColor:ccc4(0, 0, 0, 128)])) { 
     CGSize windowSize = [[CCDirector sharedDirector] winSize]; 
     CCSprite *imgRoof; 
     imgRoof = [CCSprite spriteWithFile:@"Tops.png"]; 
     imgRoof.position = ccp(windowSize.width/2,windowSize.height/2); 
     [self addChild:imgRoof]; 

     CCAction* action = [CCBlink actionWithDuration:20 blinks:20]; 
     [imgRoof runAction:action]; 

    } 
    return self; 
} 

Я просто хочу знать код цвета для clearColor для ccc4(). Может ли кто-нибудь мне помочь, я действительно застрял.

Большое спасибо!

ответ

0

Наконец я не нашел правильный ответ на этот вопрос, посмотрев на многие документы и поиск в течение нескольких дней в гугле, не нашел правильное решение, и ни один цветовой код не доступен для clearColor для ccc4 так я использовал патч для моего приложения.

я устанавливаю то же изображение в качестве фона CCSprite к моему HelloWorldLayer, который я использую в ViewController в качестве фона, на котором я м добавив HelloWorldLayer сцену, так что один не видите черный фон, и даже пользователь предполагает, что за окном ViewController видно помимо содержимого HelloWorldLayer.

Это решение, особенно для моего приложения. В других ситуациях я не могу сказать. Если кто-нибудь найдет какое-либо решение, сообщите мне.

Спасибо !!!

2
yourView.layer.backgroundColor=[[UIColor clearColor]CGColor]; 

сделает работу для вас

Dont забыл

#import <QuartzCore/QuartzCore.h> 

EDIT

CCLayerColor* colorLayer = [CCLayerColor layerWithColor:ccc4(0, 0, 0, 128)]; 
[self addChild:colorLayer z:0]; 

Первые три цифры являются "RGB" цвета и последнее число непрозрачности. Каждый из них может иметь значение в диапазоне от 0 до 255.

+0

Нет, это не так, как я добавляю слой с cocos2d, и для этого мне нужна комбинация цветов ccc4 для изменения цвета фона CCLayer. Что вы говорите, работает для UIKit. –

+0

см. Обновленный ответ –

+0

Пробовал, без эффекта. Он по-прежнему черный. –

0

Try Это ...

CCLayer *pauseLayer; 

CGSize size = [[CCDirector sharedDirector] winSize]; 

pauseLayer = [CCLayerColor layerWithColor: ccc4(0, 0, 0, 128) width: size.width height: size.height]; 

pauseLayer.position = CGPointZero; 

[self addChild: pauseLayer]; 

EX для использования ccc4

layerWithColor:ccc4(Red, Green, Blue, Opacity) 

Первые три цифры являются "RGB" цвета и последнее число - непрозрачность. Каждый может иметь значение в диапазоне от 0 до 255.

+0

Его дает черный цвет фона. –

+0

layerWithColor: ccc4 (красный, зеленый, синий, непрозрачность) – Wolverine

+0

Первые три номера - это цвета «RGB», а последнее число - непрозрачность. Каждый может иметь значение в диапазоне от 0 до 255. – Wolverine

0

Попробуйте это, это работает для меня.

UIColor *color = [UIColor clearColor]; 
CGColorRef layerBackgroundColor = [color CGColor]; 
[subLayer setBackgroundColor:layerBackgroundColor]; 
+0

Спасибо, приятель, но я работаю с cocos2d, это код для нашего нормального уровня контроллера, который является UIKit –

+0

О, спасибо, дорогой, я неправильно понял ваш вопрос. – Deepak

Смежные вопросы