Сделайте прямоугольник вокруг спрайта в cocos2d - PullRequest
1 голос
/ 16 августа 2011

Привет, извините за повторение этого вопроса, но я не могу понять, что я делаю не так ... Я новичок в cocos2d ...

вот мой заголовочный файл:

#import "cocos2d.h"
#import "Mice.h"
// HelloWorld Layer
@interface PlayScreen : CCLayerColor
{

enter code here
Mice *mice ;
CGRect screenSize;

CCSprite *background ;
CCSprite *objectsBoundry;
CCSprite *scoreBoundry ;

}

// возвращает сцену, содержащую HelloWorld в качестве единственного дочернего элемента

+(id) scene;
@property (retain,nonatomic)Mice *mice;
@property (retain,nonatomic)CCSprite *background;
@property (retain,nonatomic)CCSprite *objectsBoundary;
@property (retain,nonatomic)CCSprite *scoreBoundary;


- (void)rotateEnemy:(Mice *) pSprite;
- (CGRect)rectMake ;
@end

и это мой файл реализации

-(id)init{
if( (self=[super init] )) {
    mice = [Mice spriteWithFile:@"mice.png" ];
    CGRect * micerec = [mice rectMake];//gives an error here that mice may not respond //to method rectMake

}
    return self;
}

-(CGRect)rectMake {

    CGRect aRect = CGRectMake((self.position.x-self.contentSize.width/2),
                          (self.position.y-self.contentSize.height/2),
                          self.contentSize.width,self.contentSize.height);


return aRect;
}

не понял, что не так .. спасибо за помощь

1 Ответ

2 голосов
/ 16 августа 2011

Ваш метод rectMake отсутствует в вашем классе Mice.Это твоя проблема.Также вот лучший прямой метод, модифицированный из CCMenuItem:

-(CGRect) rect
{
    return CGRectMake(position.x - contentSize.width*anchorPoint.x,
                      position.y - contentSize.height*anchorPoint.y,
                      contentSize.width, contentSize.height);   
}

Убедитесь, что CCSprite.contentSize не пусто.Пример того, как это происходит: вы используете CCSprite, но добавляете фактическое содержимое, отображаемое в дочернем элементе этого CCSprite.

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