Ограничить CCRenderTexture в верхней части экрана при использовании CCCamera - Cocos2d - PullRequest
0 голосов
/ 14 июня 2011

У меня есть «мини-карта», которую я использую для отображения части фона.

Как я могу ограничить CCRenderTexure в верхнем правом углу экрана?Я также использую CCCamera, чтобы следовать за спрайтом.

в init ()

CGSize s = [[CCDirector sharedDirector] winSize];

    minimap = [[CCRenderTexture renderTextureWithWidth:s.width * 1.5 height:s.height * 1.5] retain];

    [minimap setPosition:ccp( s.width - ( s.width * kMinimapScaleFactor ) - 5, s.height - ( s.height * kMinimapScaleFactor ) - 5)];


    [minimap begin];

    [self visit];


    [minimap end];

    CCSprite *mms = [minimap sprite];

    [mms setScale:kMinimapScaleFactor];

    mms.scaleY *= -1;

    mms.anchorPoint = ccp(0, 0);

    [self addChild:minimap z:1 tag:1];

    [self schedule:@selector(updateMinimap:) interval:1.0f];

Выше init ()

#define kMinimapScaleFactor 0.2

-(void) updateMinimap: (ccTime) dt
{
    [minimap begin];

    [self visit];

    [minimap end];
}

в .h

CCRenderTexture *minimap;

@property(nonatomic, retain) CCRenderTexture *minimap;

Вот как я использую CCCamera

id cameraMove = [CCFollow actionWithTarget:_ball];
        [self runAction:cameraMove];

Кто-нибудь знает?

Спасибо

1 Ответ

0 голосов
/ 15 июня 2011

Все, что вам нужно сделать, это добавить его к идентификатору сцены

+ (id)scene
{
    CCScene *scene = [CCScene node];
    GameScene *layer = [GameScene node];
    [scene addChild:layer];

    CGSize s = [[CCDirector sharedDirector] winSize];

    layer.player = [CCRenderTexture renderTextureWithWidth:s.width height:s.height];

    CCSprite *mms = [layer.player sprite];

    [mms setScale:kMinimapScaleFactor];
    mms.scaleY *= -1;
    mms.position = ccp(300, 400);

    [scene addChild:layer.player z:2 tag:1];

    [layer schedule:@selector(updateMinimap:) interval:1/30.0f];

    layer._mini = [CCSprite spriteWithFile:@"minimap.png"];
    layer._mini.position = ccp(405, 255);
    layer._mini.opacity = 150;

    [scene addChild:layer._mini];

    return scene;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...